Технология CUDA позволяет производить вычисления на видеокарте. Для некоторых задач скорость вычислений ускоряется в десятки раз. CUDA 2.3 официально поддерживает Ubuntu 9.04 . Но тем не менее есть ньюансы. Предлагаю ознакомиться с моим успешным опытом.1. Для cuda 2.3 нужен 190й драйвер NVIDIA. Ставим драйвер как написано здесь http://www.ubuntugeek.com/install-nvidia-graphics-drivers-19... и перезагрузка.
А именно так:
откройте файл
sudo gedit /etc/apt/sources.listи добавьте следующие строки:
deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu jaunty mainдобавляем ключи
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CEC06767устанавливаем
sudo apt-get install nvidia-190-modaliases nvidia-glx-190 nvidia-settings-190перезагрузка
2. Ставим от рута cudatoolkit. Скачать ПО можно здесь: http://www.nvidia.ru/object/cuda_get_ru.html . Видеодрайвер не нужен - мы его поставили в предыдущем шаге.
sudo ./cudatoolkit_2.3_linux_32_ubuntu9.04.run
3. Ставим от пользователя cuda sdk
./cudasdk_2.3_linux.run
4.добавляем в ~/.bashrc строки
#settings for cuda
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATHи выполняем эти команды в терминале чтоб не перезагружаться.
5. Доустанавливаем пакеты и компилируем примеры sdk
5.1 Доустанавливаем пакеты:
sudo apt-get install g++ freeglut3-dev libxi-dev libxmu-dev
ставит еще кучу дополнительных пакетов. мы соглашаемся.
5.2 Компиляцию можно делать для всех программ и по одиночке. Пробуем
cd ~/NVIDIA_GPU_Computing_SDK/C
makeоткомпилированные бинарники находятся в ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release
Можно примеры откомпилировать даже если на компьютере нет видеокарты поддерживающей CUDA. В этом случае задается параметр emu=1. Результат будет в папке ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/emurelease
make emu=1
6. Запускаем откомпилированные программы и радуемся. Проверкой является вывод программ deviceQuery и bandwidthTest. Вот вывод программ:
./deviceQuery
CUDA Device Query (Runtime API) version (CUDART static linking)
There is 1 device supporting CUDADevice 0: "GeForce GTX 260"
CUDA Driver Version: 2.30
CUDA Runtime Version: 2.30
...
Test PASSED./bandwidthTest
Running on......
device 0:GeForce GTX 260
Quick Mode
Host to Device Bandwidth for Pageable memory
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 3168.1
...
Test PASSEDPS. После установки 190-го драйвера возникает какой-то конфликт с кодеками. Предлагают поставить 185й драйвер но тогда cuda работать не будет.
URL:
Обсуждается: http://www.opennet.me/tips/info/2217.shtml
> После установки 190-го драйвера возникает какой-то конфликт с кодеками.deb http://ppa.launchpad.net/rvm/mplayer/ubuntu jaunty main
deb-src http://ppa.launchpad.net/rvm/mplayer/ubuntu jaunty mainрепы мплеера, умеющие vdpau и тп.
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 03E02400
еще забыл добавить. в шаге 2 делаем файлы исполняемыми
$chmod 744 cudatoolkit_2.3_linux_32_ubuntu9.04.run cudasdk_2.3_linux.run
и для 64-битных систем в переменной LD_LIBRARY_PATH надо указывать на каталог lib64.
Предлагаю воспользоваться кнопкой "исправить статью".
>и выполняем эти команды в терминале чтоб не перезагружаться.$ source ~/.bashrc
Как этим пользоваться? Есть ли уже программы для перекодирования видео средствами видеокарты? nVidia PureVideo платный, в Windows есть много бесплатных, а в Linux?
есть mplayer c vdpau
Я спросил несколько месяцев назад об этом, один человек попробовал кодировать с использованием VDPAU - выдало ошибку, а без этой опции работало. Он подумал, что драйвер недошлифован, а потом до него дошло, что VDPAU только декодирует, и ничего получиться не могло. Кажется, он немного разозлился тогда тому, что так лажанулся прилюжно.
nVidia сделала патч для работы MPlayer с VDPAU, а кодировать надо с CUDA. Пока что я встретил только ихнее средство за $20... Не я пока процессором.
судя по http://en.wikipedia.org/wiki/VDPAU этот VDPAU бестолковая вещь пока за видюху не выложишь круглую сумму, проще проц мощнее купить
VDPAU? Видеокарта с его поддержкой стоит 2 тысячи. Мой процессор в 7 гигагерц раза в 2 дороже, наверное...
А вот кодировать с nVidia PureVideo хочется. 15 минут вместо двух часов... Часа с моим процессором.
> Мой процессор в 7 гигагерц раза в 2 дороже, наверное...Это что за экзотика, разогнанный IBM Power6 5GHz? иль Феном II с жидким гелием.
AMD Athlon 64 X2 7850+. Естественно мегагерцы ненастоящие. Производительность и количество мегагерц - разные вещи. Эти 7850+ даны с перерасчётом на то, сколько операций делает этот процессор по сравнению с атлоном 1 гигагерц (как эталон), либо на то, сколько мегагерц должно быть у пентиума три, чтобы вычислять с этой же скоростью. Что-то такое... Реальная частота - чуть меньше 3 гигагерц на ядро вроде бы.
>AMD Athlon 64 X2 7850+. Естественно мегагерцы ненастоящие.
> Производительность и количество мегагерц - разные вещи.
> Эти 7850+ даны с перерасчётом на то, сколько операций делает этот процессор
> по сравнению с атлоном 1 гигагерц (как эталон),
> либо на то, сколько мегагерц должно быть у пентиума три, чтобы вычислять
> с этой же скоростью. Что-то такое... Реальная частота - чуть меньше 3
> гигагерц на ядро вроде бы.Да-да-да, где-то это уже было,.... ах да,
AMD K5-PR133 - мы на 90 MHz даём 133 !!!
Ура товарищи!!! Пятилетку в три года!!!Анек вчерась был:
Раньше называлась просто хлорка. А теперь - Comet!
Вот это и есть маркетинг!
Дурашка, сейчас тебе расскажут, как амдишникам удавалось выполнять те же операции за меньшее число тактов. От туда же растут ноги всяких рейтингов.
>Дурашка, сейчас тебе расскажут, как амдишникам удавалось
> выполнять те же операции за меньшее число тактов.Да-да, глюкавый branch preduction, 4-х канальный кэш,
неупорядоченное выполнение инструкций (прабабка HypetThreading).
с FP вапще песнь была, народ говорил что они урезали точность, но каким-то боком,
иногда результаты были верны. (видимо тот же branch preduction)Вот в те времена и начали появляться кулеры размером с трубину реактивного двигателя.
Сколько же можно писать, что CUDA (или opencl) и VDPAU разные вещи. Первые, грубо говоря, общая математика, которая может вычисляться на карте, 2ое - это ускоренный ВЫВОД (т.е. обработанные данные попадают на устройство вывода) при декодировании фильмов