Новата версия CUDA 6 на NVIDIA опростява паралелното програмиране
NVIDIA представи в края на миналата седмица шестата версия на своя език за програмиране CUDA. Новата версия CUDA 6.0 предоставя възможност за работа със споделената памет, използвана от графичния и централния процесори. По този начин става възможно използването на един комплект от данни и се избягва тяхното непрекъснато копиране от оперативната памет в графичната.
"Програмистите се затрудняваха да създават програми за GPU. Една от причините за това бе наличието на две пространства памет – паметта на CPU и паметта на GPU" – казва Самит Гупта, главен мениджър на отдела Nvidia Tesla.
При CUDA 6 отпада твърдото разделяне на оперативната памет на централния процесор и графичната памет на GPU. При новия модел е осъществено виртуално обединение на графичния, централния процесор и паметта в единно изчислително псевдо-устройство. Самата споделена памет вече е достъпна и адресируема, а програмистът може да разбере и определи с кой точно сегмент от данни работи.
"Направихме така, че програмистите да се съсредоточват само върху данните, а не къде са разположени" – допълва Гупта. Според него, в рамките на един програмен блок вече може да се работи с данни, управлявани както от CPU, така и от графичния процесор, което двойно съкращава обема от работа по програмния код. Подобна унификация би могла да понижи бързодействието, но това е избегнато чрез използване паралелната работа на графичните процесори.
В CUDA 6 са добавени нови системни библиотеки и програмни инструменти, поддържащи едновременната работа на до осем графични процесора в една компютърна система.