2012-04-08 16 views
7

Poszukuję miłego interfejsu API, który posłuży do implementacji algorytmów na GPU. Wolałbym coś odpowiednio prostego i elastycznego. Nie szukam najgorszego występu, ale czegoś, z czym mogę się bawić. Też bym naprawdę wolą coś, co działa zarówno na kartach Nvidii i ATI ...Poszukuję API, które wykorzysta wspaniałe moce GPU z .NET


dobre zalecenie, szczególnie na podstawie doświadczeń może być nagrodzony Bounty.


Obecnie algorytmy dyskutujemy są przetwarzanie obrazu, tzn relevantly proste manipulacje nad bardzo dużych matrycach ...

dla mnie chciałbym, aby móc po prostu wziąć wyrażeń PLINQ do GPU, I również API jak System.Threading.Tasks.Parallel, że wykonanie rzeczy na GPU ...

Jesteśmy ze sobą głównie w początkowej fazie odkrywania tutaj ...

I znowu działa platforma krzyż prawie wymaganie ...

+0

[DirectX] (http://msdn.microsoft.com/en-us/magazine/cc164112.aspx)? –

+1

Spójrz na "GPU.Net" TidePowerD :: https://msmvps.com/blogs/brunoboucard/archive/2011/09/28/introduction-to-gpu-programming-part-1.aspx http: // www.tidepowerd.com/ – paulsm4

+1

@UweKeim Szukam sposobu na uzyskanie bardzo wysokiej wydajności dla wielu prostych obliczeń równoległych.DX nie jest tak naprawdę do zrobienia :-P –

Odpowiedz

9

Istnieje kilka opcji (czasami z różnicy dotyczącej ATI kontra nVidia choć):

zgodnie Komentarze:

od kwestii trudno jest podać żadnego zalecenia, ponieważ niektóre istotne takie aspekty jak algorytmy łatwo wyrażane przez LINQ? Jak głęboka powinna być integracja .NET? itp. nie są dla mnie jasne z tego pytania ... powyższe to tylko lista aktualnie dostępnych technologii wykorzystujących procesory graficzne do pracy obliczeniowej przez .NET.

Jeśli potrzebna jest rekomendacja proszę podać więcej szczegółów na temat rozwoju rodzaj/projektów, które chcesz realizować ...

+2

Który z nich poleciłbyś w odniesieniu do żądań OP: prostoty i niezależności od HW? –

+1

@NikolaAnusev to jest trudne do odpowiedzi, ponieważ nie ma zbyt wielu szczegółów na temat tego, co OP chce zrobić ... jeśli algorytmy, które chce zaimplementować, są łatwe do wyrażenia za pomocą LINQ to albo Brahma, albo GLinq, jeśli najlepsza integracja .NET jest pożądana GPU.NET (chociaż jest to nVidia - tylko w swoim obecnym stanie) itd. Zasadniczo bez żadnych dalszych szczegółów mogę tylko spekulować ... – Yahia

+0

@Yahia edytował post ... –

1

Oprócz innych projektów wymienionych w innych odpowiedzi, myślę, że warto wspomnieć Cloo projektu, który jest zorientowanym obiektowo otokiem .NET OpenCL.