Passing several datatypes via the Driver API


I’m using the driver API to set the parameters for my kernel call via cuParamSetf and cuParamSeti.
What is necessary to pass more than these two datatypes to a method. Lets say bool or unsigned short, double or long?

Do I have to set these parameters via cuParamSetv, or is there an easier way for simple integral scalar values?


As far as I know cuParamSetv is the only (documented) function that would allow you to do that. You said you’re using C# right? You may be able to avoid having to write glue code for every kernel if you write a function in c that gives cuParamSetv the address of the stack. The interop marshaller will do the rest of the work for you.