run gpu function using matlab

i am writing the following command to use gpu:
k=parallel.gpu.CUDAKernel('STOMP.ptx', 'STOMP.cu','WavefrontUpdateSelfJoin')
using matlab 2015a on Windows 7. I get the following error at runtime:
error using parallel.internal.gpu.handleKernelArgs>iParseToken (line272)
unsupported type argument specification 'volatile unsigned long long int* profile'
error in parallel.internal.gpu.handleKernelArgs>iParseCPrototype (line 191)
error in parallel.internal.gpu.handleKernelArgs (line 79)

回答(2 个)

Joss Knight
Joss Knight 2017-5-22

0 个投票

The argument parser cannot handle your type qualifier 'volatile' in order to work out the appropriate datatypes of arrays to pass to the kernel.
Either remove the qualifier 'volatile' (which is meaningless for a function argument anyway), or specify the prototype of your kernel function directly as a string instead of passing the .cu file in its entirety.
I removed the 'volatile' qualifier from the .cu file and regenerated the .ptx. but i got the following
error when using parallel.gpu.CUDAKernel:
an error occurred during PTX compilation of <image>
The information log was:
<No information>
The error log was:
<No information>
the CUDA error code was: CUDA_ERROR_UNKONWN

类别

帮助中心File Exchange 中查找有关 GPU Computing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by