Nvidia cuda: вычисления на видеокарте или смерть cpu?

Nvidia cuda: вычисления на видеокарте или смерть cpu?

nVidia представила CUDA с выпуском GeForce 8800. И в то время обещания казались очень соблазнительными, но мы придержали собственный энтузиазм до настоящей проверки. Вправду, в то время это казалось больше разметкой территории, дабы оставаться на волне GPGPU. Без дешёвого SDK сложно заявить, что перед нами не очередная маркетинговая пустышка, из которой ничего не окажется.

Уже не в впервые хорошая инициатива была заявлена через чур рано и в то время не вышла на свет из-за нехватки помощи — особенно в столь конкурентном секторе. Сейчас, через полтора года по окончании объявления, мы с уверенностью можем заявить, что nVidia сдержала слово.

SDK достаточно скоро показался в бета-версии в начале 2007 года, с того времени он скоро обновлялся, что обосновывает значимость этого проекта для nVidia. Сейчас CUDA очень приятно начинается: SDK дешёв уже в бета-версии 2.0 для главных операционных совокупностей (Windows XP и Vista, Linux, и 1.1 для Mac OS X), а для разработчиков nVidia выделила целый раздел сайта.

На более опытном уровне чувство от первых шагов с CUDA выяснилось весьма кроме того хорошим.

В случае если кроме того вы привычны с архитектурой GPU, вы легко разберётесь. В то время, когда API выглядит понятным с первого взора, то сразу же начинаешь считать, что возьмёшь убедительные результаты. Но не будет ли теряться вычислительное время от бессчётных передач с CPU на GPU?

И как применять эти тысячи потоков фактически без примитива синхронизации? Мы начинали отечественные опыты со всеми этими опасениями в уме. Но они скоро рассеялись, в то время, когда первая версия отечественного метода, пускай и очень тривиального, была значительно стремительнее, чем на CPU.

Так что CUDA — это не палочка-выручалочка для исследователей, каковые желают убедить управление университета приобрести им GeForce. CUDA — уже полностью дешёвая разработка, которую может применять любой программист со знанием C, если он готов израсходовать усилия и время на привыкание к новой парадигме программирования. Эти упрочнения не будут утрачены бесплатно, в случае если ваши методы прекрасно распараллеливаются. Кроме этого мы желали бы поблагодарить nVidia за предоставление полной и качественной документации, где отыщут ответы начинающие программисты CUDA.

Что же требуется CUDA, дабы стать узнаваемым API? В случае если сказать одним словом: переносимость. Мы знаем, что будущее ИТ кроется в параллельных вычислениях — сейчас уже любой готовится к подобным трансформациям, и все инициативы, как программные, так и аппаратные, направлены в этом направлении. Но сейчас, в случае если наблюдать на развитие парадигм, мы находится ещё на начальной стадии: мы создаём потоки вручную и стараемся спланировать доступ к неспециализированным ресурсам; со всем этим ещё как-то возможно совладать, в случае если количество ядер возможно пересчитать по пальцам одной руки. Но через пара лет, в то время, когда число процессоров будет исчисляться сотнями, таковой возможности уже не будет. С выпуском CUDA nVidia сделала первый ход в ответе данной неприятности — но, само собой разумеется, данное ответ подходит лишь для GPU от данной компании, да да и то не для всех. Лишь GF8 и 9 (и их производные Quadro/Tesla) сейчас смогут трудиться с программами CUDA. И новая линейка 260/280, само собой разумеется.

nVidia может хвастаться тем, что реализовала 70 миллионов CUDA-совместимых GPU в мире, но этого всё равняется мало, дабы стать стандартом де-факто. С учётом того, что соперники не сидят, сложа руки. AMD предлагает личный SDK (Stream Computing), да и Intel заявила о ответе (Ct), не смотря на то, что оно ещё не доступно.

Грядёт война стандартов, и на рынке очевидно не будет места для трёх соперников, пока второй игрок, к примеру, Микрософт, не выйдет с предложением неспециализированного API, что, само собой разумеется, облегчит жизнь разработчикам.

Исходя из этого у nVidia имеется много трудностей на пути утверждения CUDA. Не смотря на то, что технологически перед нами, несомненно, успешное ответ, ещё остаётся убедить разработчиков в его возможностях — и это будет сделать непросто. Но, если судить по многим новостям и недавним объявлениям по поводу API, будущее выглядит отнюдь не печальным.

Случайная статья:

NVIDIA CUDA Interview part 04


Похожие статьи:

Комментирование и размещение ссылок запрещено.

Обсуждение закрыто.