Поддерживает ли Alea GPU динамический параллелизм?
Мне нужно вызывать функции cuBLAS и некоторые функции ядра из ядра.
Как это сделать в Alea GPU?
В случае, если Alea GPU не поддерживает это, есть ли альтернатива на C# с такой функцией.
1 ответ
Решение
AleaGpu поддерживает динамический параллелизм.
Вы можете сделать это следующим образом:
Gpu.Default.Launch(() =>
{
// Note you are calling a kernel inside a kernel.
var lp = new LaunchParam(1, 1024);
DeviceRuntime.Launch(YourKernel, lp)
}, new LaunchParam(1, 1));
Используйте последнюю версию AleaGpu: https://www.nuget.org/packages/Alea/3.0.4-beta3
Чего вы не можете сделать (к сожалению), так это вызвать Cublas внутри ядра. Для Cublas я призываю вас использовать последнюю версию, которая теперь находится в отдельном пакете nuget: https://www.nuget.org/packages/Alea.CudaToolkit/