В этом примере показано, как создать 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.