This project is read-only.

cuFuncSetCacheConfig

Aug 23, 2013 at 6:00 PM
I have worked with a rival framework called Cudafy for some weeks. I hit a brick wall trying to use the method cuFuncSetCacheConfig when attempting to set the L1/Shared memory to 48KB/16KB with some code Iwrote and was benchmarking. I have looked through your framework and see that the function existes and the associated enum. Can I use this function in your framework. How do I get the pointer to the kernel that I wish to use with the set cache/shared memory sizes?

Thank in advance
Liam
Aug 23, 2013 at 10:13 PM
I’m not sure if I get you right. What I understood is that you want to continue to use cudafy and set ‘cuFuncSetCacheConfig’ using managedCuda, is that right? In that case you would have to look deep inside cudafy and find their counterpart to cuda’s ‘CUfunction’-struct and use it in ‘cuFuncSetCacheConfig’.
On the other hand, you can also use ‘cuCtxSetCacheConfig’, which sets the cache for the current context and not only for one kernel. Here you only need to copy&paste the signature from DriverApi.cs and call in your application as this function needs no handles.
But by thy way: managedCuda is of course much better and you should switch the framework ;-)
Oct 3, 2013 at 4:58 PM
sorry to hijack this thread.
Kunzmi, could you please add the function SetCacheConfig (analogous to the cudaFuncSetCacheConfig() function in the CUDA Runtime API) to the CudaKernel class?

Thanks
Robert
Oct 4, 2013 at 3:18 PM
Hi RoBik,

check out the latest commit to the repository...

- Michael
Nov 6, 2013 at 3:28 AM
The method doesn't work at the moment. See https://managedcuda.codeplex.com/workitem/1
Nov 6, 2013 at 10:19 AM
Thanks for reporting this issue. The fix is now in the repository.

Michael