GPU-beschleunigte Datenverarbeitung für R in Windows


11

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.


1
Ich habe festgestellt, dass GPU-Computing unter Windows unabhängig von der Programmiersprache eine Herausforderung darstellt. Die Tools tendieren dazu, unter Linux oder OS X entwickelt zu werden. Sie könnten ein Dual-Boot-System beispielsweise mit Linux Mint Cinnamon (meiner Lieblingsdistribution im Moment, weil alles einfach funktioniert) ausprobieren.
Adrian Keister

Antworten:


4

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.


Danke für den Kommentar. Ich habe die Antwort entsprechend geändert.
JD1338

Dann ist mein Kommentar nicht mehr nützlich.
42
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.