27-го июня компания NVIDIA выпустила очередную версию технологии CUDA. Из нововведений версии 3.1 отмечается следующее:
- технология GPUDirect™ для прямого доступа к памяти GPU;
- одновременное выполнение вплоть до 16 функций-ядер (только для архитектуры Fermi);
- возможность одновременного использования CUDA Driver API и CUDA Runtime API, реализованная за счет разделяемых буферов;
- нововведения, касающиеся языка CUDA C/C++:
- возможность использования printf() в GPU-коде;
- поддержка рекурсии и указателей на функции (только для архитектуры Fermi), что должно способствовать портированию программного кода на Fermi GPU;
- унифицированный визуальный профайлер для CUDA и OpenCL;
- множество улучшений в математических библиотеках CUBLAS и CUFFT;
- новые примеры кода в составе SDK.
CUDA — программная технология, дающая возможность программистам на С/С++ использовать вычислительные мощности GPGPU наиболее естественным образом. До появления CUDA программистам приходилось пользоваться не самыми подходящими для вычислительных задач API OpenGL или Direct3D, загружая данные в GPU виде графических текстур и программируя алгоритмы на шейдерных языках. CUDA же представляет собой набор расширений для привычного языка C, автоматически заботясь о компиляции кода и его загрузке в GPU. Существуют аналогичная технология разработки AMD, FireStream, и попытка унификации GPGPU API — OpenCL. Последний в полной мере поддерживается технологией CUDA.
Программистам, использующим CUDA, рекомендуется воспользоваться специальными драйверами для разработчиков (доступными по нижеприведенной ссылке), которые поддерживают более широкий спектр устройств в меньшем объеме инсталлятора. Поддержка CUDA 3.1 обеспечивается драйверами серии 256.
>>> Подробности