Поддерживает ли 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/

Другие вопросы по тегам