GPU Accelerated Data Processing for R w Windows

11

Obecnie piszę artykuł na temat Big Data, który mocno wykorzystuje R do analizy danych. Zdarza mi się mieć GTX1070 w komputerze z powodów związanych z grami. Pomyślałem więc, że byłoby naprawdę fajnie, gdybym mógł to wykorzystać, aby przyspieszyć przetwarzanie niektórych rzeczy, które robią moi wykładowcy, ale tak naprawdę wcale nie jest to łatwe. Zainstalowałem gpuR, CUDA, Rtools i kilka innych bitów i bobów, i mogę go uzyskać, aby na przykład tworzyć obiekty gpuMatrix na podstawie danych ekspresji genomowej, ale jeszcze nie znalazłem funkcji, która działa z obiektami gpuMatrix a także zapewnia zauważalną różnicę w wydajności. Być może dotyczy to po prostu ograniczeń związanych z pakietem gpuR - niektóre inne pakiety wydają się mówić o posiadaniu funkcji, które brzmią tak, jakby były bardziej rzeczą, której szukam,

Prawie wszystkie te pakiety są przeznaczone wyłącznie dla Linuksa, czy szczególnie trudno jest zaimplementować obsługę GPU dla R w systemie Windows? Czy jest jakiś inny powód, dla którego jest tak mało dostępnych pakietów, aby to zrobić w systemie Windows? W pewnym sensie jestem po prostu ciekawy, ale byłoby naprawdę fajnie, gdyby naprawdę działało. Zaskakuje mnie, że Windows jest tak mało dostępny, zwykle jest na odwrót.

Jesse Maher
źródło
1
Uważam, że przetwarzanie GPU w systemie Windows jest trudne, niezależnie od języka programowania. Narzędzia mają tendencję do rozwijania się w systemie Linux lub OS X. Możesz wypróbować system podwójnego rozruchu z, powiedzmy, Linux Mint Cinnamon (moja ulubiona dystrybucja w tej chwili, ponieważ wszystko po prostu działa).
Adrian Keister

Odpowiedzi:

4

Z mojego doświadczenia wynika, że ​​konfiguracja procesora GPU dla R jest trudna, konfiguracja na komputerze z systemem Windows jest jeszcze trudniejsza. Ponadto przetwarzania GPU można używać tylko do bardzo specyficznych rodzajów obliczeń.

Jeśli po prostu chcesz skonfigurować przetwarzanie GPU ze względu na to, moja odpowiedź jest całkiem bezużyteczna.

Jeśli jednak zależy Ci na ogólnej optymalizacji wydajności systemu i kodu, radzę sprawdzić następujące kroki:

  • Użyj Microsoft R Open zamiast Base R, ponieważ automatycznie włącza przetwarzanie wielordzeniowe na twoim komputerze.

  • Wektoryzuj swój kod

  • Używaj bibliotek takich jak data.table zamiast ramek danych

  • Unikaj rosnących przedmiotów

Ogólnie wydajność R zależy silnie od jakości kodu. Bardzo dobre podsumowanie tego, co możesz i powinieneś zrobić, znajduje się w R Inferno autorstwa Patricka Burnsa.

jd1338
źródło
Dziękuję za komentarz. odpowiednio zmieniłem odpowiedź.
jd1338,
Zatem mój komentarz nie jest już przydatny.
42-