Создайте объект ядра CUDA графического процессора из кода PTX и CU
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) создать 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 | CUDAKernel | existsOnGPU | feval | gpuArray | reset