Создайте объект ядра CUDA графического процессора из кода CU и PTX
KERN = parallel.gpu.CUDAKernel(PTXFILE,CPROTO)
KERN
= parallel.gpu.CUDAKernel(PTXFILE,CPROTO,FUNC)
KERN = parallel.gpu.CUDAKernel(PTXFILE,CUFILE)
KERN
= parallel.gpu.CUDAKernel(PTXFILE,CUFILE,FUNC)
KERN = parallel.gpu.CUDAKernel(PTXFILE,CPROTO) и KERN
= parallel.gpu.CUDAKernel(PTXFILE,CPROTO,FUNC) создайте a CUDAKernel возразите, что можно использовать, чтобы вызвать ядро CUDA на графическом процессоре. PTXFILE имя файла, который содержит код PTX или содержимое файла PTX как вектор символов; и CPROTO прототип C для вызова ядра что KERN представляет. Если задано, FUNC должен быть вектор символов, который однозначно задает соответствующее имя записи ядра в файле PTX. Если FUNC не использован, файл PTX должен содержать только однократную точку.
KERN = parallel.gpu.CUDAKernel(PTXFILE,CUFILE) и KERN
= parallel.gpu.CUDAKernel(PTXFILE,CUFILE,FUNC) создайте объект ядра, который можно использовать, чтобы вызвать ядро CUDA на графическом процессоре. Кроме того, они читают исходный файл CUDA CUFILE, и ищите определение ядра начиная с '__global__' найти прототипа функции для ядра CUDA, которое задано в PTXFILE.
Для получения информации о выполнении вашего объекта ядра смотрите Запуск CUDAKernel.
Если simpleEx.cu содержит следующее:
/*
* Add a constant to a vector.
*/
__global__ void addToVector(float * pi, float c, int vecLen) {
int idx = blockIdx.x * blockDim.x + threadIdx.x;
if (idx < vecLen) {
pi[idx] += c;
}
}и simpleEx.ptx содержит PTX, следующий из компиляции simpleEx.cu в PTX оба из следующих операторов возвращают объект ядра, который можно использовать, чтобы вызвать addToVector Ядро CUDA.
kern = parallel.gpu.CUDAKernel('simpleEx.ptx', ... 'simpleEx.cu'); kern = parallel.gpu.CUDAKernel('simpleEx.ptx', ... 'float *,float,int');
arrayfun | existsOnGPU | feval | gpuArray | reset