В прошлом году NVIDIA объявила о скором выходе CUDA 6, которая нацеливается, главным образом, на облегчение параллельного программирования. Сегодня компания представила версию Release Candidate, что позволит разработчикам подготовиться к CUDA 6 и оптимизировать свои решения под грядущий выход финальной версии. Особенно интересно это событие в свете появления новой архитектуры "Maxwell". Программное обеспечение уже может опираться на такие новые функции, как унифицированную память (Unified Memory), подменяемые библиотеки и улучшенное масштабирование multi-GPU.
NVIDIA уже выпустила две настольных видеокарты GeForce GTX 750 Ti и GeForce GTX 750 на архитектуре "Maxwell", но из-за ориентации на настольных рынок приеденные выше функции вряд ли будут актуальны для этих видеокарт, разработчики CUDA 6 вряд ли будут на них ориентироваться. Впрочем, 24-27 марта в Сан-Хосе пройдёт конференция GTC 2014, на которой все может измениться.
Архитектура "Maxwell" уже довольно давно ассоциируется с "Project Denver". На CES 2014 он был официально объявлен, "Project Denver" - первый CPU на основе ARM, разработанный NVIDIA. Впервые он будет использоваться в SoC Tegra K1. NVIDIA неоднократно подчеркивала, что видеокарты GeForce GTX 750 Ti и GeForce GTX 750 относятся к первому поколению архитектуры "Maxwell". Так что вполне может получиться, что "Project Denver" всё же станет частью "Maxwell".
Унифицированная память (Unified Memory) - технология виртуального объединения памяти CPU и GPU. Оба чипа могут использовать память совместно, получая доступ к одинаковым данным. Но для этого разработчики тоже должны приложить усилия. Какое влияние технология унифицированной памяти окажет на производительность - пока неизвестно. Но сегодня все данные для расчётов на GPU приходится переносить из оперативной памяти в локальную видеопамять. Поскольку обмен выполняется через шину PCI Express, то она может стать узким местом.
Подменяемые библиотеки (Drop-in Libraries) - автоматически ускоряют расчеты BLAS и FFTW в приложениях вплоть до восьми раз, заменяя библиотеки CPU их вариантами на GPU.
Масштабирование Multi-GPU - недавно созданные библиотеки BLAS и FFT-GPU автоматически масштабируются на восемь GPU в одном узле и обеспечивают девятикратный прирост производительности с двойной точностью TFLOPS на узел. Также поддерживается более объёмная нагрузка (до 512 Гбайт). Масштабирование Multi-GPU может использоваться и в подменяемых библиотеках с новыми BLAS.
Как мы уже отмечали выше, на GTC 2014 NVIDIA наверняка даст новые подробности о CUDA 6, также нас ждут новинки в аппаратной сфере, которые позволят спрогнозировать развитие рынка настольных видеокарт на ближайшие месяцы.