У меня есть некоторый код, который я написал и поместил в свою собственную библиотеку, которая использует CUDA для некоторой обработки на GPU.
Я создаю интерфейс GUI с использованием Qt, и как часть загрузки GUI я вызываю
CUresult res;
CUdevice dev;
CUcontext ctx;
cuInit(0);
cuDeviceGet(dev,0);
cuCtxCreate(ctx, 0, dev);
для инициализации графического процессора, чтобы приложение максимально быстро реагировало при вызове библиотеки с поддержкой CUDA.
Проблема в том, что я начал пытаться вызвать мою библиотеку с поддержкой CUDA из другого потока.
Должен ли я приложить какие-то усилия, чтобы сделать это? Этот другой поток является единственным, вызывающим любые функции cuda (за исключением основного потока, вызывающего cuInit ()), но мой код падает на вызов cudaFree () в моей библиотеке cuda.
Спасибо