Nvidia выпускает программное решение CUDA 6
Nvidia на этой неделе анонсировала последнюю версию языка программирования для графических процессоров
Как сообщает "CyberSecurity", новая версия языка программирования CUDA 6.0 получила возможности по работе с унифицированной памятью, которую разделяют между собой центральный и графические процессоры в современных портативных и настольных системах. На практике это позволяет не копировать одни и те же данные в ОЗУ и графическую память, работая с одним экземпляром данных, доступным как GPU, так и CPU.
"Программисты всегда находили трудным для себя создавать программные решения для GPU. Одной из причин этого были наличие двух пространств памяти — память GPU и память CPU", — говорит Сумит Гупта, генеральный менеджер подразделения Nvidia Tesla.
Будучи программным решением, CUDA физически ничего не делает для работы GPU или CPU сама по себе, так как CPU по-прежнему имеет выделенную ОЗУ-память, а GPU имеет блок собственной памяти. Однако в случае с CUDA 6.0 это жесткое различие пропадает, так как вся память становится доступной, адресуемой и программист может понимать, с каким именно сегментом данных он работает. Проще говоря, CUDA 6.0 виртуально объединяет GPU и CPU в единое вычислительное псевдо-устройство.
"Мы сделали так, что разработчики думают только о данных, а не об их расположении", — говорит Гупта. По его словам, программист может в рамках одного блока программного кода работать с данными, которые находятся под управлением GPU и CPU, что почти вдвое сокращает объем работы и объем программного кода.
В компании говорят, что оборотной стороной подобной унификации данных является некоторое снижение быстродействия программы и повышение задержки при работе с информацией, однако за счет возможностей по параллельной обработке данных эту задержку можно использовать для других процессов.
Также в CUDA 6 появились некоторые новые системные библиотеки, обновились CPU-библиотеки, а также появились программные инструменты, поддерживающие до восьми графических процессоров в одной физической системе.