MATLAB 帮助中心
本页采用了机器翻译。点击此处可查看最新英文版本。
在 GPU 上设置一些常量内存
setConstantMemory(kern,sym,val)
setConstantMemory(kern,sym1,val1,sym2,val2,...)
setConstantMemory(kern,sym,val) 设置 CUDA 内核 kern 中符号名为 sym 的常量内存以包含 val 中的数据。val 可以是任何数值数组,包括 gpuArray。如果命名的符号不存在或者不够大而无法包含指定的数据,则函数会出错。您可以部分填充常数。
kern
sym
val
gpuArray
常量内存没有自动数据类型转换,因此您必须确保所提供的数据对于您正在填充的常量内存符号来说是正确的类型。
示例
setConstantMemory(kern,sym1,val1,sym2,val2,...) 设置多个常量符号。
全部折叠
如果 KERN 表示 CUDA 内核,其 CU 文件包含这些包含和常量定义:
KERN
#include "tmwtypes.h" __constant__ int32_t N1; __constant__ int N2; // Assume 'int' is 32 bits __constant__ double CONST_DATA[256];
您可以通过运行以下命令用 MATLAB® 数据填充这些内容:
KERN = parallel.gpu.CUDAKernel(ptxFile,cudaFile); setConstantMemory(KERN,'N1',int32(10)); setConstantMemory(KERN,'N2',int32(10)); setConstantMemory(KERN,'CONST_DATA',1:10);
或者,您可以运行此命令:
setConstantMemory(KERN,'N1',int32(10),'N2',int32(10),'CONST_DATA',1:10);
parallel.gpu.CUDAKernel
CUDA 内核,指定为 parallel.gpu.CUDAKernel 对象。
CUDA 内核的常量内存的符号名称,指定为字符向量。如果命名的符号不存在或者不够大以包含指定的数据,则函数会出错
分配给特定常量内存的数据,指定为数值数组或 gpuArray 对象。
在 R2012a 中推出
gpuArray | CUDAKernel
CUDAKernel
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处