access to a gpuArray from a MEX file?
5 views (last 30 days)
Show older comments
I did a lot of work with CUDA MEX files before gpuArray was an option. Now I would like to simplify my interface to these MEX files by allowing them to access data that the user has stored in gpuArrays -- but I do not want to rewrite all my code.
So: what I need is a way for my MEX code to access a gpuArray's internal pointer to GPU memory, and other metadata. Is there a way to do this?
I suppose I would also need access to the Parallel Computing Toolbox's CUDA context for this to work.
0 Comments
Accepted Answer
Edric Ellis
on 14 Jul 2011
You're right that you need Parallel Computing Toolbox to access gpuArray functionality. We don't offer a MEX interface with gpuArrays, but we do offer the CUDAKernel which allows you to use gpuArrays together with hand-written CUDA code. Here's the doc for CUDAKernel.
We think that CUDAKernel is easier to use than a MEX layer because you only need to write the "__global__" entry points for CUDA, you don't need to write any of the code to marshal data in and out of mxArrays.
4 Comments
Daniel Armyr
on 18 Mar 2013
With the release of 2013a, though, you can do what the original poster wanted. See this: http://www.mathworks.se/help/distcomp/create-and-run-mex-files-containing-cuda-code.html
More Answers (1)
John Melonakos
on 17 Jul 2011
Jacket users have access to the Jacket SDK that has advantages over the other two approaches: http://blog.accelereyes.com/blog/2010/10/29/jacket_sdk_trumps_mex/
See Also
Categories
Find more on GPU Computing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!