CUDA - это архитектура параллельных вычислений от NVIDIA, позволяющая существенно увеличить вычислительную производительность благодаря использованию GPU (графических процессоров).
Итак, приступим к установке Nvidia CUDA Toolkit & SDK!Все действия проводятся в Ubuntu 9.10, хотя официально поддерживается только 9.04.
Для начала, следует установить драйверы версии 190(.*). Их можно скачать со страницы загрузки cuda и установить в ручную, а можно добавить репозиторий с новыми драйверами:sudo add-apt-repository ppa:nvidia-vdpau/ppa # Добавляем репозиторий vdpau
sudo apt-get update
sudo apt-get install nvidia-glx-190 nvidia-190-modaliases nvidia-settings-190
++ Toolkit.
После установки драйверов, приступим к установке Toolkit'a. На странице загрузки cuda, выберите и скачайте подходящий пакет CUDA Toolkit.
Загрузка пакета для ubuntu 9.04 amd64
wget http://developer.download.nvidia.com/compute/cuda/2_3/toolki...
Установка Toolkit'asudo chmod +x ./cudatoolkit_2.3_linux_64_ubuntu9.04.run # Замените на свою версию
sudo ./cudatoolkit_2.3_linux_64_ubuntu9.04.run
++ SDK.Установка SDK для текущего пользователя
wget http://developer.download.nvidia.com/compute/cuda/2_3/sdk/cu...
chmod +x ./cudasdk_2.3_linux.run
./cudasdk_2.3_linux.runКомпиляция примеров:
export PATH=$PATH:/usr/local/cuda/bin # Указываем путь к компилятору nvcc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib # Для amd64 замените на lib64
echo 'export PATH=$PATH:/usr/local/cuda/bin' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib' >> ~/.bashrc # Для amd64 замените на lib64
sudo nano /etc/ld.so.conf.d/cuda.conf
> /usr/local/cuda/lib # Для amd64 замените на lib64
sudo ldconfig
sudo apt-get install g++-4.3 freeglut3-dev libxi-dev libxmu-devSDK поддерживает версию gcc 4.3, если использовать версию gcc 4.4, то при сборке возникнут ошибки
Открыть <путь где установлен SDK>/common/common.mk и заменить строки
> CXX := g++-4.3
> CC := gcc-4.3
> LINK := g++-4.3 -fPIC
> NVCCFLAGS :=--compiler-bindir=/usr/bin/gcc-4.3Компиляция
make
После компиляции, готовые примеры будут находится в папке <путь где установлен SDK>/C/bin/linux/release.
URL: http://www.mr-h1z.com/linux/ubuntu/Установка-nvidia-cuda-в-ubuntu-9-10
Обсуждается: http://www.opennet.me/tips/info/2303.shtml
Такая статья уже была... Только ни в этой, ни в той, не было примеров для пользователя, где это можно использовать уже сейчас?! Разве что побаловаться программисту в этой...
Я даю вам 2 примера: участие в проекте SETI (программа для учвастия поддерживает CUDA), и перебор паролей при помощи программы crark. Обе программы требуют предварительного прописывания пути к библиотекам (/usr/local/cuda/lib).
Где это можно использовать уже сейчас?!Разогрев атмосферы планеты через GPU посредством поиска инопланетян это онанизмус.
Ну а пароль подборов компа своего веселее ещё.
Ещё совсем недавно и CPU, и GPU грелись одинаково что в консоли, что в Unreal на максимальной графике с 16x-сглаживанием. Чтобы изменить их температуру нужно было выполнить разгон или изменить вольтаж. Ну а теперь с зелёными технологиями разница между вычисляющим и не вычисляющим процессором в плане температуры невелика. Нагревание атмосферы - бред, удачная штука, а не серьёзная вещь. Одна-единственная ТЭЦ за минуту выбрасывает в атмосферу столько тепла,сколько не выработают линуксоиды компилируя OO 100 лет
> Ну а теперь с зелёными технологиями разница между вычисляющим
> и не вычисляющим процессором в плане температуры невелика.На GPU, примерно +30 градусов разница.
> участие в проекте SETI (программа для учвастия поддерживает CUDA)Да, начиная с версии 6.4.5.
> Обе программы требуют предварительного прописывания пути к библиотекам
> (/usr/local/cuda/lib).Не, не помогает.
Помогает только:
cd /var/lib/boinc-client
ln -s ../../../usr/local/cuda/lib/libcudart.so.2.3 .
ln -s libcudart.so.2.3 libcudart.so.2
ln -s libcudart.so.2.3 libcudart.soИ рестарт клиента. Тогда видит GPU.
>Не, не помогает.
>
>Помогает только:
>
>cd /var/lib/boinc-client
>ln -s ../../../usr/local/cuda/lib/libcudart.so.2.3 .
>ln -s libcudart.so.2.3 libcudart.so.2
>ln -s libcudart.so.2.3 libcudart.so
>
>И рестарт клиента. Тогда видит GPU.Странно, а я нашёл другое решение:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib32
export LD_LIBRARY_PATHВ командах этой статьи решение это решение тоже представлено...
Вместе с CUDA идет версия cublas - вариант BLAS (базовая линейная алгебра). А БЛАС - это весьма широко известная штука. Правда в основном тербуется двойная точность, котроую поддерживают только последние (2009 года выпуска) железки от NVidia. А так нет проблем - немного обертку подправить (убрать префиксы у названия функций), и можно перелинковывать практически все подряд. Там правда на каждый вызов функции потребуется пересылка массивов из оперативной памяти в графическую, так что 10 кратного прироста скорости точно не получится. Но вроде есть уже попытки перетащить LAPACK (а это уже численные алгоритмы) на тонкий кублас (с пересылкой массивов вне функций) - так что stay tuned ...
Странно, а почему не назвали CUDABLAS?
Ну, я не знаю. Можно написать письмо в NVidia, может они и ответят. А потом это в качестве новости оформить.
а апач там или еще чего можно запускать?
а пакетики будут под эту архитектуру? как там с лицензией?
>а апач там или еще чего можно запускать?
>а пакетики будут под эту архитектуру? как там с лицензией?А апач можно на floating-point сопроцессоре запускать? Пока дело идёт к тому, что скоро появится ещё один сопроцессор для векторных вычислений.