Невозможно запустить ядро ​​в Alea GPU (C #) - PullRequest
0 голосов
/ 10 июня 2018

Я ссылаюсь на примеры на веб-сайте Alea GPU (http://www.aleagpu.com/release/3_0_3/doc/gpu_programming_csharp.html),, но не могу запустить ядро. Я считаю, что все настроил правильно, но даже их примеры приводят к проблемам компиляции.

Учитывая ядро:

private static void Kernel(int[] result, int[] arg1, int[] arg2)
{
    var start = blockIdx.x*blockDim.x + threadIdx.x;
    var stride = gridDim.x*blockDim.x;
    for (var i = start; i < result.Length; i += stride)
    {
        result[i] = arg1[i] + arg2[i];
    }
}

И код для его запуска:

gpu.Launch(Kernel, lp, result, arg1, arg2);

Visual Studio (сообщество 2017) жалуется: «Gpu» не содержит определения для'Launch' и никакой метод расширения 'Launch', принимающий первый аргумент типа 'Gpu', может быть найден (вам не хватает директивы using или ссылки на сборку?)

Я полагаю, что у меня правильно настроен Alea GPU. Я использовал nuget для установки и его, и Fody согласно инструкциям на его сайте (http://www.aleagpu.com/release/3_0_3/doc/installation.html). Я также установил пакет F #, необходимый для GPU Alea.

Правильна ли моя установка? Если да, тоЯ использую устаревшую документацию или что-то не так с тем, как я пытаюсь запустить ядро?

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Правильный синтаксис:

var gpu = Gpu.Default;
gpu.Launch(...);

или

Gpu.Default.Launch(...);

и да, вам нужно

using Alea;
using Alea.CSharp;
0 голосов
/ 10 июня 2018

Решил, пока искал альтернативные решения.Мне нужно было импортировать Alea.CSharp в дополнение к Alea.

using Alea;
using Alea.CSharp;

Как ни странно, Visual Studio не предложила мне импортировать Alea.CSharp, пока у меня не было написано что-то еще, что требовало его, как только я импортировал егоЯ заметил, что ошибка для gpu.Launch исчезла.

...