Действительно ли возможно продвинуть простые, параллельные вычисления к GPU в .NET?

С подъемом.Net 4.0 и новыми параллельными расширениями, я задался вопросом, сможет ли CLR оптимизировать и продвинуть некоторые вычисления к GPU? Или если какая-либо библиотека, которая может помочь с задачей, существует?

Я не эксперт по программированию GPU вообще, поэтому простите мне, если это - глупый вопрос. Возможно, CLR не поддерживает взаимодействие через интерфейс к системе команд GPU? Действительно ли они слишком примитивны, или просто из объема?

Заранее спасибо.

[РЕДАКТИРОВАНИЕ] Просто для уточнения: Я знаю о CUDA и подобных библиотеках, но я хочу знать, существует ли чистое решение .NET, и если так, это может выполнять незаметную работу для Вас, или необходимо ли сделать явное кодирование?

6
задан cwap 5 January 2010 в 13:35
поделиться

4 ответа

Нет ничего интегрированного в .NET, связанного с этим.

Но я думаю, что это то, что вы ищете (может быть использовано в .NET) ;) :

http://research.microsoft.com/en-us/projects/Accelerator/

also FYI: http://brahma.ananthonline.net/

6
ответ дан 9 December 2019 в 22:35
поделиться

CLR ориентирован только на CPU (Microsoft's Research OS Helios имеет задачу поддержки GPU на уровне CIL через гетерогенное исполнение).

Так что пока единственная альтернатива - использование одной из этих библиотек:

Проект Microsoft Research Accelerator:

Он обеспечивает упрощенное программирование GPU через библиотеку высокого уровня с параллельными данными (проект находится в своем v2.0).

Хорошая статья здесь: http://tomasp.net/articles/accelerator-intro.aspx

Брахма:

Использует синтаксис LINQ C# 3.0 для указания потокового преобразования данных.

2
ответ дан 9 December 2019 в 22:35
поделиться

XNA предназначена для графики, но вы можете рендерить вне экранных поверхностей и использовать вершинные и пиксельные шейдеры, так что вы можете использовать ее для запуска GPU-кода для выполнения вычислений. Однако это будет довольно сложно и потребует много низкоуровневой упаковки данных и написания шейдерного кода.

.
2
ответ дан 9 December 2019 в 22:35
поделиться

Я не знаю, что библиотека Parallel Extensions делает что-нибудь на GPU.

Я не удивлюсь, если узнаю, что MS исследует это, но я не верю, что есть что-нибудь подобное в .NET 4.0. Параллельные расширения все еще чрезвычайно круты, заметьте.

1
ответ дан 9 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

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