Как стать автором
Обновить

Комментарии 7

Код в строчках — это не дело. Ни compile-time проверок, ни даже подсветки синтаксиса.
Код можно хранить в отдельном файле, компилировать при поможи OpenCL компилятора перед компиляцией проекта, а в C# коде загружать откомпилированный бинарный OpenCL код уже в рантайме.
Ну, это я для примера сделал. В принципе есть компиляторы под OpenCL код, в них он и пишется (у AMD и Intel они прилагаются к SDK). А в программу код можно подгружать отдельным файлом. Хотя, конечно, я не скажу что разработка под OpelCL на сегодняшний день слишком удобна…
Можно ли называть статью OpenCL под С#? Очень спорно.
По-моему вон там ниже, в кавычках, это чистый С, не?

string vecSum = @"
__kernel void
floatVectorSum(__global float * v1,
__global float * v2)
{
int i = get_global_id(0);
v1[i] = v1[i] * v2[i];
}";
Ну, так это код модуля для GPU там. На чем же его еще написать-то?
Ну так а я о чем?! Где тут OpenCL под C#??
Ведь этот код модуля и есть самое важное.
Практически чистый си (C99). Там добавлено несколько специфических фишечек и убраны некоторые возможности (например рекурсия). Это код, который грузиться для исполнения непосредственно на OpenCL устройство. Туда кроме как C99 ничего заливать нельзя.
В принципе я рассказал про то, как настроить и использовать OpenCL, а так же дал ссылки на варпперы под C# и примеры кода именно на C#, так что почему бы и нет? Конечно, может было бы правильно «Использование OpenCL под C# это просто», но оно как-то не звучало.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации