Компания NVIDIA объявила готовность NVIDIA CUDA 5 – новой версии популярной платформы параллельных вычислений и модели программирования для ускорения решения научных и инженерных задач на графических процессорах. Новая версия профессионального пакета вычислений по-прежнему бесплатна, её можно загрузить на сайте NVIDIA Developer Zone.
Напомним, что благодаря возможностям CUDA по распараллеливанию вычислений, во многих случаях удаётся ускорить расчеты на графических процессорах в разы. Сегодня платформа CUDA присутствует более чем на 1,5 млн систем, а также используется в виде базовой платформы для более чем 180 ведущих инженерных, научных и коммерческих приложений.
Платформа CUDA в новой версии 5 позволят ускорить и упростить разработку GPU-ускоряемых приложений, особенно задач динамического параллелизма, библиотек, вызываемых напрямую из кода на GPU, GPUDirect для RDMA (дистанционный доступ к памяти напрямую) и интегрированной среды разработки NVIDIA Nsight Eclipse Edition (IDE).
CUDA 5 позволяет разработчикам полностью использовать потенциал графических процессоров NVIDIA, включая модели на базе архитектуры NVIDIA Kepler. Основные возможности CUDA 5:
- Динамический параллелизм– новые алгоритмы GPU-ускорения: потоки GPU могут динамически рождать новые потоки, позволяя GPU адаптироваться к новым данным. Сводя к минимуму пересылку данных в CPU и обратно, динамический параллелизм значительно упрощает программирование. Это также позволяет применять GPU-ускорение к более широкому спектру распространенных алгоритмов, например, используемых в адаптивном измельчении сетки и вычислительной гидродинамике.
- Вызываемые из кода на GPU библиотеки – развитие экосистемы разработчиков приложений – новая библиотека CUDA BLAS позволяет разработчикам применять динамический параллелизм для их собственных библиотек, вызываемых напрямую из кода на GPU. Они могут создавать дополнительные API, которые позволят другим разработчикам расширять функциональность своих ядер и выполнять обратные запросы к GPU для изменения функциональности сторонних библиотек, вызываемых GPU. Такая поддержка связывания объектов обеспечивает эффективный и знакомый процесс создания больших приложений под GPU путем компилирования многочисленных исходных файлов CUDA в отдельные объектные файлы и их объединения в большие приложения и библиотеки.
- Поддержка GPUDirectдля RDMA – сокращение узких мест системной памяти – GPUDirect обеспечивает прямую связь между GPU и другими устройствами PCI-E и поддерживает прямой доступ к памяти между сетевыми картами и GPU. Это сильно уменьшает задержки MPISendRecv между узлами GPU в кластере и повышает общую скорость работы приложения. NVIDIA NsightEclipseEdition – быстрое и простое генерирование кода CUDA – эта функция позволяет программистам создавать, отлаживать и профилировать приложения под GPU в знакомой среде на базе Eclipse на платформе Linux и Mac OS X. Встроенный редактор CUDA и примеры кода ускоряют генерирование кода CUDA, а автоматический рефакторинг кода позволяет легко портировать циклы CPU на ядра CUDA. Встроенная профессиональная система анализа проводит автоматический анализ работы и дает пошаговые инструкции для устранения узких мест в работе кода, а подсветка синтаксиса позволяет легко отличать код GPU от кода CPU.
Чтобы лучше раскрыть потенциал CUDA для разработчиков, NVIDIA запустила бесплатный онлайн ресурсный центр для программистов CUDA по адресу: http://docs.nvidia.com. На сайте доступна новейшая информация по платформе и модели программирования CUDA, а также открыт доступ ко всей документации и технологиям CUDA, включая инструменты, примеры кода, библиотеки, API и руководство по настройке и программированию.
Разработчики параллельных приложений могут вступить в программу CUDA Registered Developer Program и получать бесплатный ранний доступ к новым версиям программ, инструментам и ресурсам. Подробнее смотрите на сайте www.nvidia.com/paralleldeveloper.