GPU ускоренная обработка данных для R в Windows


11

В настоящее время я работаю над большими данными, в которых мы активно используем R для анализа данных. У меня в компьютере GTX1070 по игровым причинам. Таким образом, я подумал, что было бы действительно здорово, если бы я мог использовать это для ускорения обработки некоторых вещей, которые мои лекторы заставляют делать, но на самом деле это совсем не так просто. Я установил gpuR, CUDA, Rtools и несколько других битов и бобов, и я могу получить его для создания объектов gpuMatrix, например, из данных геномного выражения, но мне еще предстоит найти функцию, которая работает с объектами gpuMatrix. а также обеспечивает любую заметную разницу в производительности. Возможно, это относится только к ограничениям, присущим пакету gpuR - некоторые другие пакеты, похоже, говорят о наличии функций, которые звучат так, как будто они больше похожи на те вещи, которые я ищу,

Почти все эти пакеты предназначены исключительно для Linux, особенно сложно реализовать поддержку 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 вместо dataframes

  • Избегайте растущих объектов

В целом, производительность R сильно зависит от качества вашего кода. Очень хорошее резюме о том, что вы можете и должны делать, предоставлено в R Inferno Патриком Бернсом.


Спасибо за комментарий. я изменил ответ соответственно.
jd1338

Тогда мой комментарий больше не нужен.
42-11
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.