Можно ли GPU-расчёты на AMD??
Многоуважаемые пидоры и пидорыни,Решил наконец купить в домашний десктоп видюху. Играю мало, зато хочу делать расчёты с GPU-ускорением. Считаю под Линухом на Питоне - Numpy, Scipy, Scikit, Pandas. Планирую начать также играться в ML - всякий там Tensorflow, PyTorch, Catboost и другие модные бренды. Поскольку я не настоящий красноглазик, а ленивый аналитик, сильно возиться с конфигурированием софта не хочу, а заниматься именно архитектурой расчетов.
Поскольку это не критичная штука, а я тот ещё еврей, то хочу взять с рук в Мск, бюджет 6-9 тыр. То есть получается либо GTX 1060-1070, либо RX 570-580. Причём Радеоны дешевше на 1-2 тыщи.
Итак, ВОПРОС: если я беру AMDшную видеокарту, заебусь ли я запускать на ней указанные выше фреймворки? На Nvidia+CUDA работает всё вплоть до утюгов и джаваскрипта. А чо там с поддержкой OpenCL, ROCm, или на чем работает AMDшное ускорение?
Прошу ответы от тех, кто действительно в курсе или пробовал. Ссылки на годные объяснения буду плюсовать люто, бешено, как положено кандидату наук.
Подробнее
пидоры помогите,реактор помоги,помогите выбрать,AMD,nvidia,для работы,Видеокарта,экономия,PC Master Race
Еще на тему
Саппорт ROCm есть. Билды собираются и даже проходят тесты, можно глянуть в их CI: https://ezyang.github.io/pytorch-ci-hud/build1/pytorch-master
Другое дело, что официального релиза нету, собирать надо самому, есть гайды https://lernapparat.de/pytorch-rocm/
Часто можно слышать серьезные нарекания на производительность. Более менее эквивалентная карточка от АМД показывает себя существенно хуже. Поэтому, ИМХО оно того вообще не стоит.
А так конечно, тут nVidia и без вариантов.
А какие расчёты тебя интересуют? Что именно считать!? Биг дэйта всякие? Нейросети? Питон вроде под OpenCL тоже запиленный есть.
Еслиу тебяуже готовые скрипты или код программ, то ваще изи всё.
АМД можно, только если ты действительно знаешь, что делаешь, имеешь большой опыт, и готов изрядно поебаться. Профит по сути только то, что можно купить карточки с большим количеством памяти. Подходит только для узкоспециализированных задач, где все минусы АМД карточек можно нивелировать, а объем памяти очень важен.
Юзай google colab тогда уже https://colab.research.google.com/notebooks/intro.ipynb . Там нормальные GPU есть за бесплатно
3Гб это ни о чем, максимум для простых экспериментов с MNIST (http://yann.lecun.com/exdb/mnist/) и подобными датасетами
Я тренировал вот это http://joyreactor.cc/post/4157100 на машине с 8 Titan RTX, и оно отжирало более 20Гб на каждой карточке
Тем не менее, ценник вроде терпимый, ~30-60 центов в час.
Общее заключение:
+ принципиально, OpenCL может, конечно, почти всё что может CUDA; там где не может -- у NVidia есть свои расширения над стандартом
+ OpenCL -- язык общего назначения, и считать можно, в принципе, хоть на тесте на беременность
+/- (вкусовщина) документация к стандарту выглядит совершенно образцовой в смысле лаконичности и однозначности
- инструменты для разработки на OpenCL, диагностики, отладки, вплоть до извлечения стектрейса очень рудиментарны. Они есть на уровне интерфейсов, но готовых стабильных обёрток нет. Это сильно отличается от CUDA SDK где всё уже сделано для людей.
- OpenCL, похоже, намного менее популярен для GPGU чем CUDA -- слабая поддержка сообществом, скромное количество информации для неофитов в Сети. Это заставляет меня подозревать, что развитые фреймворки и инструменты в разработки мало ориентируются на OpenCL, и в основном используют CUDA: хотя tensorflow и keras заявляют поддержку OpenCL, я видел пока только форки отдающие аматурностью.
При этом помним, что и CUDA и openCL -- это довольно жостенький голый Си. Если нет уверенного владения идиоматикой чистого Си, то дрочиться с этим кодом придётся довольно мрачно, и здесь тебе nvidia'йная SDK сильно скрасит жизнь хотя бы стектрейсами. Ну, то есть, я понимаю, что сам писать ты не хочешь, а хочешь остаться на песоне, но просто имей это обстоятельство в виду. Там где сэкономишь несколько тысяч рублей, потеряешь кучу времени. Кроме того, и это главное для пользователя фреймворков ML, OpenCL прекрасно работает на NVidia-картах -- решение под куду не пойдёт у амудей, решение под осла на энвидиях -- пойдёт, так что экономия делается совсем уж сомнительной.
Субъективно, как энтузиасту открытого ПО, мне, конечно, хотелось бы, чтобы OpenCL как открытая технология развивался более бурно, чем коммерческая CUDA. Но по крайней мере сейчас это, увы, не так.