How should I feed void**args in culaunchkernel in cuda_module.cc

I would like to call a compiled TVM kernel (e.g. conv) in my own cpp inference engine by calling culaunchkernel. But I found it confusing about the void**args in the tvm runtime engine.

CUresult result = cuLaunchKernel(fcache_[device_id], wl.grid_dim(0), wl.grid_dim(1), wl.grid_dim(2), wl.block_dim(0), wl.block_dim(1), wl.block_dim(2), wl.dyn_shmem_size, strm, void_args, nullptr);

Is it packed with all graph-related info and params? How can I feed it by myself without using TVM?

By the way the definition of printed source cuda code api is: extern “C” global void default_function_kernel0(float* restrict placeholder, float* restrict placeholder1, float* restrict T_add, float* restrict placeholder2)

Can anyone describe what these placeholders are?

Anyone has clues? :slight_smile: )

@masahi @junrushao plzplzplz

these placeholders are pointers of input tensors (it’s the default tensor name)