使用gpu时错误

5视图(30天)
配偶2 u
配偶2 u 2012年5月21日
嗨这是代码的一部分,麻烦我。
j = 1:长度(ZZ)
数组(:,指数)= (ZZ (j) + n: ZZ (j) + n + x - 1);
指数=指数+ 1;
结束
我得到的是错误的:
未定义的函数“结肠”“parallel.gpu.GPUArray”类型的输入参数。
任何帮助吗?

接受的答案

本Tordoff
本Tordoff 2012年5月24日
不幸的是,一个表达式:
gpuArray (1): gpuArray (10)
不会工作,(Walter)说它看起来像你的一个“:”表达式包括论证gpuArray。你有两个选择。如果你想要的结果”:“在GPU必须显式地这么说:
tmp = parallel.gpu.GPUArray.colon (ZZ (j) + n, ZZ (j) + n + x - 1);
数组(:,指数)= (tmp);
如果你喜欢主机内存的结果,首先收集:
tmp =结肠(收集(ZZ (j) + n),收集(ZZ (j) + n + x - 1));
数组(:,指数)= (tmp);
结果应该是一样的,但你可能会发现一个比其他根据您的数据大小,硬件和MATLAB版本。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2012年5月21日
这意味着ZZ或n位于GPU,结果ZZ (j) + n是一个GPU对象。”:“运营商无法处理GPU对象。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!