[Закрыто] Посоветуйте GeForce для CUDA
собираюсь освоить CUDAУйду немного в сторону - зачем именно CUDA, когда есть OpenCL?
Еще за 60-70к можно купить теслу http://www.sotmarket.ru/product/pny-tesla-c2075-tcsc2075-pb-...
Я бы даже больше переформулировал вопрос- "Зачем CUDA, когда есть XEON PHI?"
В любом случае я не отрицаю, что сильно отстала от жизни.
Если это OpenCL, правильно ли я понимаю, что подойдет практически любое современное железо?
С другой стороны, если конфигурация компьютера поддерживает вычисления с использованием CUDA, то он подойдет и для OpenCL.
Я бы даже больше переформулировал вопрос- "Зачем CUDA, когда есть XEON PHI?"Дорогова-то для освоения технологии.
Для CUDA/OpenCL достаточно видюхи за 1000р. И даже интеловской интеграшки Sandy/Ivy достаточно для OpenCL.
CUDA удобнееСпорно. Не универсальней точно.
и популярнее
Пока, наверно, ещё да. Но весь остальной мир пилит OpenCL и только одна NVIDIA свой CUDA.
А в свете Intel Phi, так вообще оно всё может уйти в прошлое в ближайшие годы, если Intel сильно постарается с производительностью и не будет задирать цены.
Если это OpenCL, правильно ли я понимаю, что подойдет практически любое современное железо?
Да. NVIDIA, AMD, Intel - основные конкуренты в этой области и все поддерживают OpenCL.
Ещё и OpenCL "более" кросплатформенная технология.
С другой стороны, если конфигурация компьютера поддерживает вычисления с использованием CUDA, то он подойдет и для OpenCL.Да.
IMHO, для "поучиться" не надо покупать топовую и дорогую видюху - хватит и GT630/640.
А сейчас какая есть?
Сейчас еще никакой нет, только ноут старенький. Заказываю себе новый рабочий компьютер.
Мне сказали, что "однозначно" надо две одинаковые видеокарты для CUDA, это так?
надо одну нормальную, в идеале теслу
Я же уже написал, что хватит любой одной.
надо одну нормальную, в идеале теслуДля обучения? Что куришь?
Для обучения? Что куришь?для обучения-нет, для расчетов- да.
OpenCL не советую на данный момент, с ним я наелся г@#на, когда переводил контору, где я работаю, на вычисления на видеокартах. Для каждой архитектуры (intel \ nvidia \ amd \ ...) нужно писать свое ядро. И отлаживать весьма неудобно.
cuda.cs.msu.ruБольшое спасибо, очень полезно.
К сожалению, не смогу посетить лекции, но курс обязательно посмотрю.
Не пугает, что надо будет дооолго читать мануалы и рисовать стрелочки и клеточки.
Мне сказали, что надо две карты, потому что одна занята счетом, а вторая на экран выводит. Когда отлаживаешь, это важно.
Поэтому я и повторяю тут про две карты - две GT630 вполне бюджетно, и страдать при отладке совсем не хочется.
P.S. Нужно собрать компьютер для работы, а не для освоения CUDA. Но Тесла это уж слишком жирно.
Уйду немного в сторону - зачем именно CUDA, когда есть OpenCL?Могу предположить, что ради http://developer.nvidia.com/gpu-accelerated-libraries. Для научных расчетов CUDA сейчас безусловно популярнее, про OpenCL говорят только в шутку.
P.S. Нужно собрать компьютер для работы, а не для освоения CUDA.Так напиши полные требования к компу.
OpenCL не советую на данный момент, с ним я наелся г@#на, когда переводил контору, где я работаю, на вычисления на видеокартах. Для каждой архитектуры (intel \ nvidia \ amd \ ...) нужно писать свое ядро. И отлаживать весьма неудобно."Ты просто не умеешь их готовить" © :-D
Шутка. :-P
При всей неудобности (с твоих слов), OpenCL более перспективная технология, чем CUDA. Ну и не забываем об Vendor lock-in - задолбаешься слазить с иглы, даже когда конкуренты обойдут.
Так что если речь о том, что нужно на будущее освоить что-то в этом направлении, то лучше познакомиться со всеми основными вариантами, а потом выбрать более универсальный (хе-хе) для более детального изучения.
При всей неудобности (с твоих слов), OpenCL более перспективная технология, чем CUDA. Ну и не забываем об Vendor lock-in - задолбаешься слазить с иглы, даже когда конкуренты обойдут.Ох уж этот vendor lock-in, и конкуренты, они такие конкуренты, и перспектив столько. По математике с плавающей точкой ближайший конкурент отстает года на полтора в производительности. Про всякие RDMA даже вспоминать не стоит. Вообще, народ вон не пугается OpenACC использовать, а там - о ужас! не то что vendor lock-in, там бесплатных компиляторов не существует. Единственный "серьезный" плюс OpenCL - его потенциальное наличие на всяких телефонах и прочих холодильниках в обозримом будущем (пара лет). Правда, кому он там нужен, кроме писателей angry birds on the fridge, не очень понято. Да и CUDA на них же тоже обещают.
Так что если речь о том, что нужно на будущее освоить что-то в этом направлении, то лучше познакомиться со всеми основными вариантами, а потом выбрать более универсальный (хе-хе) для более детального изучения.
Если же код самому писать, а не готовые библиотеки использовать/чужие программы гонять, то на практике CUDA C++ со всеми его шаблонами намного гибче и проще получается, чем OpenCL. Вон, тривиальный классический пример на CUDA C++:
template <unsigned int blockSize> __device__ void warpReduce(volatile int *sdata, unsigned int tid) {
if (blockSize >= 64) sdata[tid] += sdata[tid + 32];
if (blockSize >= 32) sdata[tid] += sdata[tid + 16];
if (blockSize >= 16) sdata[tid] += sdata[tid + 8];
if (blockSize >= 8) sdata[tid] += sdata[tid + 4];
if (blockSize >= 4) sdata[tid] += sdata[tid + 2];
if (blockSize >= 2) sdata[tid] += sdata[tid + 1];
}
Удачи с переводом этого на OpenCL, ага. (На всякий случай: все if'ы выполнятся на этапе компиляции ядра, а не на этапе его выполнения).
Да и не будет CUDA там, где нет NVIDIA - не верю я в их доброту. Мы все прекрасно видим один такой вендорлокин и как он мешает жить. Зачем создавать себе ещё такие? Неужели история не учит?
Ты можешь продолжать рекламировать CUDA, но сначала задумайся - AMD бросила свою FireStream в пользу OpenCL - думаешь это просто так?Кнечно не просто так. Firestream вообще нафиг никому не сдался, а так была надежда хоть как-то выплыть за счет расплывчатых обещаний совместимости-переносимости.
Да и не будет CUDA там, где нет NVIDIA - не верю я в их доброту. Мы все прекрасно видим один такой вендорлокин и как он мешает жить. Зачем создавать себе ещё такие? Неужели история не учит?Конечно не будет CUDA в других местах. Но с вендорлокином не все так просто. Вот тут выше уже писали, что OpenCL - он не настолько уж хорошо переносим, как обещают (сам непосредственного опыта с OpenCL имел очень мало, чтобы выводы делать, но в чудо переносимости OpenCL не верил особо по ряду причин и без этого).
Как один профессор метко заметил, CUDA делали думая о разработчиках прикладного софта. OpenCL - думая о разработчиках железа.
Тут нужно понимать, чего хочется вообще от этого всего. Если задача ближе к битовым манипуляциям там всяким, и чуть менее чем полностью целочисленная, то AMD'шное железо очень даже хорошо смотрится, и на ряде задач даже делает nVidia с большим отрывом (раз так в 5, в пересчете на долларо-джоуль). Но задач таких мало. Большая часть задач все же жадные до плавающей точки, или вообще не дай бог много-GPUшных конфигураций. И вот тут у nVidia просто нет конкурентов. И на горизонте (судя по обещаниям AMD/Intel/...) не предвидится, чего уж там. Так что можно фантазировать о том, что OpenCL это без вендор-локина и все такое, но потом все равно покупать железо от того самого вендора, от локина которого убегаешь, и фигачить на нем. Только без удобных средств разработки, кучи отлаженных научных библиотек и т.п. Ну и без доступа ко всяким последним фишкам типа RDMA - на кластере дает очень заметный эффект при правильно реализованном алгоритме и соответствующем MPI-железе.
Если задача ближе к битовым манипуляциям там всяким, и чуть менее чем полностью целочисленная, то AMD'шное железо очень даже хорошо смотрится, и на ряде задач даже делает nVidia с большим отрывом (раз так в 5, в пересчете на долларо-джоуль). Но задач таких мало.Значит биткоины чисто на интах считаются?
Значит биткоины чисто на интах считаются?Да, чуть менее чем полностью. Там 99.99% вычислительной нагрузки - подсчет sha256, это на чипах от nVidia тупо вдвое медленее.
Оставить комментарий
Robert08
Уже разобралась, спасибо.Добрый день,
Заказываю себе новый ПК для работы и собираюсь освоить CUDA.
Посоветуйте, пожалуйста, видеокарту.
У какой лучшее сочетание цены и качества на сегодня?
Брать две или одной хватит? (стоит ли брать две видеокарты, если да, то какие?)
Что лучше - одна крутая или две по-проще?
Компьютер нужен для вычислений, для работы, а не для освоения CUDA. То есть надо, чтобы конфигурация поддерживала CUDA.