Ich nehme gerade ein Papier über Big Data, in dem wir R stark für die Datenanalyse verwenden. Ich habe aus Spielgründen zufällig eine GTX1070 in meinem PC. Daher dachte ich, es wäre wirklich cool, wenn ich das nutzen könnte, um einen Teil der Verarbeitung für einige der Dinge zu beschleunigen, die meine Dozenten von mir machen lassen, aber es scheint wirklich nicht einfach zu sein, dies überhaupt zu tun. Ich habe gpuR, CUDA, Rtools und einige andere Kleinigkeiten installiert und kann damit beispielsweise gpuMatrix-Objekte aus genomischen Expressionsdaten erstellen, habe jedoch noch keine Funktion gefunden, die beide mit den gpuMatrix-Objekten funktioniert und bietet auch einen spürbaren Leistungsunterschied. Vielleicht hängt dies nur mit den Einschränkungen zusammen, die dem gpuR-Paket inhärent sind - einige andere Pakete scheinen davon zu sprechen, Funktionen zu haben, die so klingen, als wären sie eher das, wonach ich suche.
Fast alle dieser Pakete sind ausschließlich für Linux. Ist es besonders schwierig, die GPU-Unterstützung für R in Windows zu implementieren? Oder gibt es einen anderen Grund, warum in Windows so wenige Pakete dafür verfügbar sind? In gewissem Sinne bin ich nur neugierig, aber es wäre auch sehr cool, es wirklich zum Laufen zu bringen. Es überrascht mich, dass für Windows so wenig verfügbar ist, normalerweise ist es umgekehrt.
Antworten:
Nach meiner Erfahrung ist das Einrichten der GPU-Verarbeitung für R schwierig, das Einrichten auf einem Windows-Computer noch schwieriger. Darüber hinaus kann die GPU-Verarbeitung nur für ganz bestimmte Arten von Berechnungen verwendet werden.
Wenn Sie nur die GPU-Verarbeitung einrichten möchten, ist meine Antwort ziemlich nutzlos.
Wenn Sie sich jedoch für die allgemeine Leistungsoptimierung Ihres Systems und Ihres Codes interessieren, empfehlen wir Ihnen, die folgenden Schritte zu überprüfen:
Verwenden Sie Microsoft R Open anstelle von Base R, da es automatisch die Multicore-Verarbeitung auf Ihrem Computer aktiviert.
Vektorisieren Sie Ihren Code
Verwenden Sie Bibliotheken wie data.table anstelle von Datenrahmen
Vermeiden Sie wachsende Objekte
Im Allgemeinen hängt die Leistung von R stark von Ihrer Codequalität ab. Eine sehr gute Zusammenfassung dessen, was Sie tun können und sollten, finden Sie in R Inferno von Patrick Burns.
quelle