Populating pointers of struct from cupy #227
Replies: 3 comments
-
I'm not sure how to do this from cupy, but with pycuda it should be easy. If you have PyCuda device allocation you can just cast it to an int to get the GPU memory address. From a cupy array you may be able to extract the pointer somehow, but I just had a look at cupy and DLpack, but I'm not sure how to extract the device pointer from those data types. If using PyCuda is an option for you, I think you could make it work. |
Beta Was this translation helpful? Give feedback.
-
I haven't used either PyCuda or cupy so happy to use whichever is easier - thanks for the suggestion |
Beta Was this translation helpful? Give feedback.
-
Maybe related to issue #224 |
Beta Was this translation helpful? Give feedback.
-
Not really an issue but, I'm trying to populate a struct in constant memory containing (device) pointers in order to run my kernel through kernel tuner. In C the struct looks something like:
I can see how I would pack pointers into this with
struct.pack("PP0l", spk_cnt, spk)
and then convert to numpy as described in your example before passing via thecmem_args
kwarg totune_kernel
. But, I've no idea how I would create (and initialise) these pointers from Python! Any pointers?Thanks in advance for your help!
Beta Was this translation helpful? Give feedback.
All reactions