Я пытаюсь адаптировать библиотеку для использования с кодом на стороне устройства CUDA. К сожалению, в библиотеке есть определенная функция, которая использует переменную const stati c типа, который требует dynamici c инициализация - что невозможно для __device__
переменных.
Если бы это было в коде приложения, я бы просто вызвал ядро, чтобы инициализировать его, или, возможно, memcopied-to-symbol (хотя - вероятно, нет, так как такие объекты обычно нетривиально копируемы). Но - я нахожусь в библиотеке, и я не думаю, что я "зацепил" что-то в подходящее время во время выполнения.
Кроме того, что требуется приложениям, использующим эту библиотеку, для вызова некоторой функции инициализатора - есть ли лучше идиома, которую я мог бы использовать для преодоления этого ограничения?