На одном компьютере я недавно заметил, что добавление файла C ++ в проект CUDA MSVS (2019) будет компилироваться ... но после выполнения ядро не запустится. Попытка запустить ядро приводит к ошибке ( 209 ): "нет образа ядра, доступного для выполнения на устройстве" .
Я использую CUDA 10.1,и моя машина работает под управлением 64-разрядной Windows 10. Графический процессор представляет собой Quadro K4200 с вычислительной способностью 3.0.
Примеры программ NVIDIA CUDA работают нормально;как и проекты, сделанные с использованием файлов с расширением .cu. Я обычно использую CMake, но для упрощения проблемы я также создал новую программу, созданную как новый проект среды выполнения MSVS CUDA 10.1. Исходный код для этого приведен ниже, а «Тип элемента» для этого файла (main.cpp) на странице свойств MSVS установлен в «CUDA C / C ++». Кто-нибудь может помочь?
#include <iostream>
#include "cuda_runtime.h"
__global__ void simple_cuda() {
printf("%d %d\n", blockIdx.x, threadIdx.x);
}
int main(int argc, char* argv[])
{
simple_cuda<<<256, 256>>>();
cudaError_t e = cudaPeekAtLastError();
if (e != cudaSuccess) {
std::cerr << "CUDA error " << e << ": " << cudaGetErrorString(e) << '\n';
}
cudaDeviceSynchronize();
return 0;
}