Комментарии 39
Правда, от моего набора в комнате бывало слегка жарковато по ночам, но это решилось, когда я приобрел башенный кулер к CPU.
Так система охлаждения же не убивает тепло, она его рассеивает быстрее, и тепловая энергия испускаемая процессором в комнату не уменьшилась. Возможно, вентилятор побольше рассеивал тепло равномерно по комнате.
Так что в этом может быть смысл.
Но, скажу по своему опыту — как только появятся лишние деньги — переходите на NVIDIA.
Ловля маловразумительных багов, которые обусловлены opencl/сборкой энтузиастов — будет стоить дороже. Я тоже начинал прогать на gpu-шках с opencl. На хабре первую статью на эту тему писал даже. Но весь продакшн код был на куде:)
У вас будет минимальная скорость поддержки новых слоёв/решений. Не получиться запустить чужие семплы достаточно сложные, и.т.д. Так что бегите;)
Полностью согласен насчёт продакшена.
Считаю, данный подход в большинстве своём актуален в рамках прототипирования на Керасе и вывода моделей на нетипичные вычислительные устройства.
Тут несколько сложнее: по сути на момент массового появления ML академическая среда уже плотно сидела на CUDA (Теслы разного рода) для совершенно других задач. Когда математикам же приспичило считать огромные нейросети, очевидным решением было писать под CUDA, ну и дальшее написание огромного массива кода. А т.к. платформа по сути закрыта, то переход на альтернативу практически невозможен.
Честно говоря, не всё так просто. Начинал заниматься вычислениями на gpu ещё до cuda/opencl и волей-неволей следил за началом этой истории. Появились они на рынке практически одновременно, но nvidia пришла сразу с хорошей ide, профайлером, примерами и рекламой, а красные ..., красные сделали ставку на opensource и проиграли, решили, что сообщество (на тот момент ещё не сформировавшееся) за них всё само сделает, хотя железо изначально было примерно одинаковое, да и более популярны были радеоны в начале.
но бинари которые он выдаёт не работают на обычных AMD-шных драйверах
А обычный AMD-шный драйвер это fglrx, radeon или amdgpu?
1. OpenCL, это не только radeon, но и intel, телефоны, FPGA, утюги.
2. OpenCL отстаёт в развитии от куды, из-за необходимости учитывать в API особенности работы на устройствах разного типа.
3. В противовес п.2: когда нужно выбрать наиболее производительное решение на доллар и/или на ватт — пишут майнер на OpenCL, так когда же выбирают CUDA? Не хочется думать про гранты с откатами.
4. Этот самый PlaidML не обновлялся 4 месяца — можно считать, что проект практически мёртв.
5. TF тихой сапой портируют на OpenCL, правда пока только при помощи проприетарного SYCL от computecpp tensorflow/issues/22
Проблема в том, что если написать и оптимизировать ядро на Cuda, то оно работать будет одинаково быстро на всех картах линейки, причем если производительности будет не хватать, всегда можно взять карту получше/на кластер переползти. А с opencl всё сложнее — да, оно, может быть, запустится на абстрактном утюге, но для того, чтобы оно на нем заработало эффективно, его нужно будет переписать под архитектуру этого утюга, а это деньги, а если при этом утюг мало распространён, то кто будет этим заниматься?
Кстати, это чувствуется при обучении. Если стоят одновременно и карта, и процессор от AMD, то оба оказываются загружены где-то на 50-60%.
Я не смог разобраться точно, в чем дело.
Но вероятно, что из-за этой фичи OPENCL часть ядер создаётся для CPU
А как же ROCm? Там уже есть поддержка TensorFlow 1.8. Даже бенчмарки есть, правда для TF1.3. Т.е. связку из Keras+TensorFlow можно использовать в том числе и на видеокартах от AMD.
Возможно, когда-то напишу сравнительную статью про разные другие бэкенды
Основная беда OpenCL — отсутствие библиотек, и не только для DL, но и всего HPC.
К тому же недавно проскакивала новость, что Apple объявил OpenCL устаревшей (deprecated) технологией: https://appleinsider.com/articles/18/06/04/opengl-opencl-deprecated-in-favor-of-metal-2-in-macos-1014-mojave
Почему не стоит выкидывать Radeon, если ты увлекся машинным обучением?