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.
Odpowiedzi:
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.
źródło