askeet
@askeet

Реализация динамических выражений в C#. Библиотека для работы с OpenCL Cudafy.NET?

В общем мой вопрос из разряда, а как это работает ? В частности библиотека Cudafy (http://cudafy.codeplex.com)
Например в примере ниже, вызывается метод статической функции thekernel() класса simple_kernel из другого класса gpu.
Если честно, никогда бы не подумал что это возможно.
Прочитал статью из
msdn.microsoft.com/en-us/library/dd264736.aspx единственное, что понял динамическая компоновка, позволяет избежать ошибок на этапе компиляции, но не во время выполнения.
Поэтому до сих пор больше вопросов, чем ответов.

/* 
 * This software is based upon the book CUDA By Example by Sanders and Kandrot
 * and source code provided by NVIDIA Corporation.
 * It is a good idea to read the book while studying the examples!
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cudafy;
using Cudafy.Host;
using Cudafy.Translator;
namespace CudafyByExample
{

    public class simple_kernel
    {
        public static void Execute()
        {
            CudafyModule km = CudafyTranslator.Cudafy(eArchitecture.OpenCL);

            GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
            gpu.LoadModule(km);
            gpu.Launch().thekernel(); // or gpu.Launch(1, 1, "kernel"); 
            Console.WriteLine("Hello, World!");
        }

        [Cudafy]
        public static void thekernel()
        {
        }
    }
}
>
  • Вопрос задан
  • 4462 просмотра
Решения вопроса 1
askeet
@askeet Автор вопроса
Интересная статья, век живи, как говорится век учись. Как я понимаю gpu.Launch() возвращают dinamyc.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Посмотрите habrahabr.ru/post/96988
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы