主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

setConstantMemory

在 GPU 上设置一些常量内存

说明

setConstantMemory(kern,sym,val) 设置 CUDA 内核 kern 中符号名为 sym 的常量内存以包含 val 中的数据。val 可以是任何数值数组,包括 gpuArray。如果命名的符号不存在或者不够大而无法包含指定的数据,则函数会出错。您可以部分填充常数。

常量内存没有自动数据类型转换,因此您必须确保所提供的数据对于您正在填充的常量内存符号来说是正确的类型。

示例

setConstantMemory(kern,sym1,val1,sym2,val2,...) 设置多个常量符号。

示例

示例

全部折叠

如果 KERN 表示 CUDA 内核,其 CU 文件包含这些包含和常量定义:

#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);

输入参数

全部折叠

CUDA 内核,指定为 parallel.gpu.CUDAKernel 对象。

CUDA 内核的常量内存的符号名称,指定为字符向量。如果命名的符号不存在或者不够大以包含指定的数据,则函数会出错

分配给特定常量内存的数据,指定为数值数组或 gpuArray 对象。

版本历史记录

在 R2012a 中推出

另请参阅

|