NVIDIA выпускает CUDA 4.0 Toolkit
Анонсирована новая версия инструментария CUDA. В 4-й версии разработчики сделали упор на упрощение портирования CPU-кода на платформу GPGPU-вычислений. Этого они попытались достичь с помощью следующих основных нововведений: NVIDIA GPUDirect 2.0, Unified Virtual Addressing, а также библиотеки Thrust C++ Template Performance Primitives.
Нововведения и улучшения:
- NVIDIA GPUDirect - технология p2p коммуникаций между GPU в пределах одной машины. Данный подход призван упростить программистам разработку многопроцессорного GPU-кода.
- Unified Virtual Addressing (UVA) - технология поддержки единого адресного пространства для CPU- и GPU-кода. Подход должен упростить взаимодействие CPU и GPU в пределах одного приложения.
- Thrust C++ Template Performance Primitives - набор открытых обобщенных параллельных алгоритмов и типов данных на языке C++ для запуска на GPU. По заявлению разработчиков реализация алгоритмов данной библиотеки позволяет ускорить код от 5 до 100 раз по сравнению с аналогичными алгоритмами стандартной библиотеки C++ (STL) и библиотеки Threading Building Blocks (TBB).
- Модифицированная версия библиотеки MPI позволяет автоматически перемещать данные между CPU и GPU, которые принимаются или отправляются с помощью функций MPI receive\send, в т.ч. и передаваемые через Infiniband.
- Поддержка многопоточности: несколько CPU-потоков могут разделять контекст одного GPU. И наоборот, один CPU-поток может управлять несколькими GPU.
- Обноленная библиотека NPP - библиотека для работы с изображениями, включая алгоритмы распознования образов с применением GPU.
- А так же следующие улучшения: добавлен автоматический анализ производительности в Visual Profiler, улучшения в cuda-gdb и поддержка MacOS, улучшения в поддержке C++, новый GPU-дизассемблер, и другое.
Ссылки по теме новости:
- Официальная страницы CUDA на сайте NVIDIA.