LINUX.ORG.RU

Nvidia CUDA - особенности dev-драйвера


0

2

Начал разбираться с CUDA, возник такой вопрос: CUDA драйвера нужно всегда всем пользователям ставить особые (которые с сайта nvidia) и пересобирать модули после каждого обновления ядра или же все nvidia драйвера начиная с какой-то версии поддерживают CUDA?

Просто если для поддержки CUDA нужно будет ставить особый драйвер - то коммерческая ценность решений на CUDA для среднестатистических пользователей будет не очень высока: не каждый человек согласится ставить особые драйвера, чтобы его видеоконвертер работал быстрее.

Достаточно «обычный» блоб (более-менее свежий, до какой-то версии нужен был «специальный»).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

более-менее свежий это какой? В репозиториях Ubuntu 10.10 более менее свежий? Тогда сразу же вопрос - а зачем распространяется dev-driver? Чем он отличается? Я смотрю nvidia-current, который в дистрибутиве Ubuntu - имеет версию 260.19.06, dev-driver - 260.19.21, примеры из CUDA SDK, на убунтовом драйвере не хотят работать (хотя может быть это мои кривые руки)

а слабо зайти на сайт нвидиа? http://www.nvidia.com/object/cuda_gpus.html

уважаемый анонимус, да, на сайт nvidia действительно слабо было зайти, огромное спасибо за ссылку :)

Goganchic ★★
() автор топика
Ответ на: комментарий от Goganchic

У меня дома 190.53, CUDA работает. Кажется, где-то со 185-го CUDA входит уже в «ширпотребные» блобы. До этого нужен был dev-блоб. Что у вас за dev-260.19.21, понятия не имею. Я себе просто установил обычный проприетарный блоб, затем скачал и установил CUDA-SDK. А в вашем dev-блобе, скорее всего, то же самое, что и в обычном, но + nvcc и библиотеки.

Eddy_Em ☆☆☆☆☆
()

я правильно понял, что этот nvidia-cuda-sdk (если быть точнее, реализация openCL от nvidia меня интересует) в качестве вычислительного устройства позволяет задействовать ТОЛЬКО видеокарту? Не центральные процессоры..

А как же гетерогенность openCL?..

Не совсем в тему правда вопрос...

BattleCoder ★★★★★
()
Ответ на: комментарий от tim239

А если нет видях от ати - встанет всё равно? К примеру, на комп с видяхой от нвидиа или и вовсе с размазанной от интела?

Просто в gentoo ебилд тянет зачем-то за собой ati-drivers... настораживает немного. Но CPU умеет использовать, да?..

А intel так и не выпустили ничего под линукс для параллельных вычислений? Я только под венду нашёл у них на сайте... грусть-пичаль.

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

А если нет видях от ати - встанет всё равно? К примеру, на комп с видяхой от нвидиа или и вовсе с размазанной от интела?

Только что проверил - работает без атишной карты на CPU. Примеры из SDK запускал с параметром "--device cpu".

tim239 ★★
()

Так. Ну, поддержка CUDA обеспечивается драйвером видеокарты. Об этом также свидетельствуют системные библиотеки, которые устанавливаются с ним. Однако чтобы запустить хоть одну программу с CUDA необходимо установить CUDA Toolkit. Чтобы скомпилировать - CUDA SDK, который занимает места чуть больше.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от Kosyak

Это безусловно, но сейчас потихоньку шагает ОпенЦЛ (на маках так уже везде есть).

Есть ли резон разрабатывать CUDA софт, учитывая, что привязан к железу гораздо сильнее, нежели OpenCL (его можно и на обычных камнях пускать). Ну ты понел.

tensai_cirno ★★★★★
()
Ответ на: комментарий от JustGuest

А почему проприетарная CUDA, а не открытый OpenCL?

Вы видели сравнение скорости работы CUDA и OpenCL? Если бы видели, то таких вопросов не задавали...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от tensai_cirno

OpenCL (его можно и на обычных камнях пускать)

Каков тогда вообще смысл разработки? Лучше уж сразу делать два варианта ресурсоемкой функции: одну на CUDA, одну на потоках для CPU, выбирать нужную в момент сборки в зависимости от того, обнаружены в системе nvcc с библиотеками и нужное железо, или нет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ну так и делают, когда есть деньги на разработку. :)

Продукты Adobe последних линеек так и делают, я думаю. По-крайней мере в пресс-релизных документах CS5 везде была отмечена поддержка хардварной графики для вычислений.

tensai_cirno ★★★★★
()
Ответ на: комментарий от Eddy_Em

> Вы видели сравнение скорости работы CUDA и OpenCL? Если бы видели, то таких вопросов не задавали...

А вы писали чего-нибудь на OpenCL? Если бы писали, то такими идиотскими штампами не кидались... Это только вопрос того, насколько конкретный OpenCL компилятор хорошо оптимизирует код. Не знаю, конечно, как с этим дела у нвидии, поскольку имел дело только с ATI Stream SDK. Если раньше соотношение скорости работы кода, написанного с использованием CAL, против кода, написаннного на OpenCL, у них стабильно составляло 2, то теперь часто и густо получается меньше 1.5.

fang
()
Ответ на: комментарий от Eddy_Em

Объясню поподробнее: все равно ведь, если вы используете GPU, выбор будет только в пользу nVidia (по крайней мере, ближайшие лет 5, а там, вдруг и ATI по качеству модулей до nVidia доползет). А раз уж вы пишете для nVidia, почему бы сразу не использовать CUDA?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от BattleCoder

> А как же гетерогенность openCL?

Не работает. Для разных платформ требуется код, имеющий очень серьёзные различия из-за серьёзных различий в архитектуре памяти.

fang
()
Ответ на: комментарий от Eddy_Em

> если вы используете GPU, выбор будет только в пользу nVidia

И совершенно напрасно, потому что числодробительный потенциал у AMD-шных видях намного выше.

по качеству модулей


Это уже другой вопрос.

fang
()
Ответ на: комментарий от fang

по качеству модулей

Это уже другой вопрос.

Как раз таки нет. Пусть ATI хоть на 2 порядка быстрее nVidia. Но вам-то работать надо, а не абстрактную карту в ящике стола держать. А в работе как раз таки модули и решают. И ATI'шные модули сильно отстают. Так что ATI для линукса не готовы. И лучше о них вообще забыть и не выбрасывать деньги на ветер!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Дело не только в модулях, но и в средствах разработки. nvidia nsight позволяет очень удобно дебажить gpu код.

Reset ★★★★★
()
Ответ на: комментарий от Eddy_Em

> Вы видели сравнение скорости работы CUDA и OpenCL?

Видел. 10-15 процентов проигрыша.
Учитывая что unix way предполагает приоритет переносимости над скоростью, то что нужно использовать в линуксе - вполне очевидно.

JustGuest
()
Ответ на: комментарий от BattleCoder

> То есть как такового гетерогенного средства параллельного программирования пока в природе не придумали? :)

Отвечу максимально осторожно: мне о таком ничего неизвестно.

fang
()
Ответ на: комментарий от Eddy_Em

>Вы видели сравнение скорости работы CUDA и OpenCL? Если бы видели, то таких вопросов не задавали...
Вы немогли бы прояснить, почему так? Пока ту меня тоже мнение, что нвидиа просто не умеет готовить OpenCL. Мало-ли кто что не умеет готовить, это не повод отказываться от блюда.

Booster ★★
()
Ответ на: комментарий от crutch

Нет, полноценный компилятор для x86 сделали. Правда он стоит бабла.

Reset ★★★★★
()
Ответ на: комментарий от Reset

А что собственно дает dev-драйвер? Какие-то возможности отладки? И почему он не совпадает по версии с основным?

crutch
()
Ответ на: комментарий от crutch

Да, какие-то возможности отладки. Вместе nsight рекомендуют использовать dev драйвер.

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.