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