Я пытаюсь преобразовать рекурсивный алгоритм из CPU в GPU с использованием библиотеки ALEA. Я получаю следующие ошибки, если я построю код:Как использовать рекурсию с библиотекой ALEA в C#
«Fody/Alea.CUDA: AOTCompileServer вышел unexpectly с выходными кодом -1073741571»
public class GPUModule : ILGPUModule
{
public GPUModule (GPUModuleTarget target) : base(target)
{
}
[Kernel] //Same Error whether RecursionTest is another Kernel or not.
public void RecursionTest(deviceptr<int> a)
{
...
RecursionTest(a);
}
[Kernel]
public MyKernel(deviceptr<int> a, ...)
{
...
var a = __shared__.Array<int>(10);
RecursionTest(Intrinsic.__array_to_ptr<int>(a)); //Error here
}
...
}
Я буду признателен, если вы предоставляете какую-либо документацию или ссылку для рекурсии примеры в C# с использованием библиотеки ALEA.
Заранее спасибо
Вот список версия для зависимостей ALEA: ALEA.dll (v4.0.30319/3.0.0.0) ALEA.CUDA.dll (v4.0.30319/2.2.0.3307) Alea.CUDA.IL.dll (v4.0.30319/2.2.0.3307) Alea.IL.dll (v4.0.30319/2.2.0.3307) Я предполагаю, что это версия 3 –
Нет, это версии 2.2.0 (на самом деле, я думаю, вы немного перепутались с alea.dll, который исходит из версии 3, но остальные из версии 2), пожалуйста, перейдите по ссылке: http://www.quantalea.com/ (в меню «Продукты» есть ссылки на версию 3). –
Да, это беспорядок, потому что потребовалось несколько недель, чтобы исправить ошибки компиляции, такие как weaver.xml. На веб-сайте ALEA недостаточно документации относительно процесса установки и возможных сообщений об ошибках. Поэтому мне пришлось произвольно попробовать разные настройки и версии. Прошу вас пройти через процесс установки, чтобы я мог реализовать кодирование графического процессора на основе экземпляров класса. Самые последние версии ALEA.CUDA и ALEA.CUDA.IL в Nuget - 2.2.0.3307. Версия ALEA.IL стала 3.0.0.0 теперь после переустановки через Nuget. Но я все равно получаю такое же сообщение об ошибке. –