В этом примере показано, как создать CUDAKernel
объект с помощью файла PTX и файла CU, или с помощью файла PTX и прототипа функции.
Исходный файл CUDA 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;
}
}
Скомпилируйте файл CU в файл PTX с помощью nvcc
компилятор в NVIDIA® Инструментарий CUDA. Чтобы скомпилировать файл PTX, выполните следующую команду интерпретатора.
Предыдущая команда генерирует типовой файл PTX, который поддерживается на всех устройствах графического процессора NVIDIA. Чтобы сгенерировать код, оптимизированный для определенных устройств графического процессора, задайте дополнительные опции с помощью -arch
или -code
флаги. Для получения информации о nvcc
опции, смотрите nvcc
документация.
Создайте ядро CUDA с помощью файла PTX и файла CU.
Создайте ядро CUDA с помощью файла PTX и прототипа функции addToVector
функция.
Оба из предыдущих операторов возвращают объект ядра, который можно использовать, чтобы вызвать addToVector
Ядро CUDA.