setConstantMemory

Установите некоторую постоянную память на графическом процессоре

Синтаксис

setConstantMemory(kern,sym,val)
setConstantMemory(kern,sym1,val1,sym2,val2,...)

Описание

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);
Введенный в R2012a