Прискорена обробка даних GPU для R в Windows


11

Зараз я беру статтю про Big Data, яка використовує R сильно для аналізу даних. У мене, здається, GTX1070 в моєму ПК з ігрових причин. Таким чином, я подумав, що це було б дуже здорово, якби я міг скористатися цим, щоб прискорити обробку деяких речей, які мені займаються мої викладачі, але насправді це зовсім не здається легко. Я встановив gpuR, CUDA, Rtools та декілька інших бітів і бобів, і я можу отримати його для створення об’єктів gpuMatrix з даних геномних виразів, наприклад, але мені ще потрібно знайти функцію, яка працює як з об'єктами gpuMatrix а також забезпечує будь-яку помітну різницю в характеристиках. Можливо, це якраз стосується обмежень, властивих пакету gpuR - деякі інші пакети, схоже, говорять про те, що вони мають функції, які звучать так, що вони будуть схожі на те, що я шукаю,

Майже всі ці пакети призначені виключно для Linux, чи особливо важко реалізувати підтримку GPU для R у Windows? Або є якась інша причина, що для Windows це доступно так мало пакунків? У деякому сенсі мені просто цікаво, але було б також дуже круто, якби це справді працювало. Мене дивує, що так мало доступного для Windows, як правило, це навпаки.


1
Я вважаю, що обчислення GPU в Windows є складним, незалежно від мови програмування. Інструменти мають тенденцію до розробки в Linux або OS X. Ви можете спробувати систему з подвійним завантаженням, скажімо, Linux Mint Cinnamon (мій улюблений дистрибутив на даний момент, тому що все просто працює).
Адріан Кейстер

Відповіді:


4

З мого досвіду налаштування обробки GPU для R важко, налаштувати її на машині Windows ще важче. Крім того, обробка GPU може використовуватися лише для дуже конкретних типів обчислень.

Якщо ви просто хочете налаштувати обробку GPU заради цього, то моя відповідь є марною.

Якщо ви все-таки піклуєтесь про загальну оптимізацію роботи системи та коду, радимо перевірити наступні кроки:

  • Використовуйте Microsoft R Open замість Base R, оскільки це автоматично дозволяє багатоядерну обробку на вашій машині.

  • Векторизуйте свій код

  • Використовуйте бібліотеки типу data.table замість фреймів даних

  • Уникайте зростаючих предметів

Загалом, продуктивність R сильно залежить від якості вашого коду. Дуже хороший підсумок того, що можна і що потрібно робити, подано у програмі R Inferno від Patrick Burns.


Дякуємо за коментар я відповідно змінив відповідь.
jd1338

Тоді мій коментар вже не корисний.
42–
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.