Программирование

  • 19 мая 2011 г.
  • 598 Слова
CUDA (англ. Compute Unified Device Architecture) — программно-аппаратная архитектура, позволяющая производить вычисления с использованием графических процессоров NVIDIA, поддерживающих технологиюGPGPU (произвольных вычислений на видеокартах). Архитектура CUDA впервые появились на рынке с выходом чипа NVIDIA восьмого поколения — G80 и присутствует во всех последующих сериях графических чипов,которые используются в семействах ускорителей GeForce, Quadro и Tesla.

CUDA SDK позволяет программистам реализовывать на специальном упрощённом диалекте языка программирования Си алгоритмы, выполнимые награфических процессорах NVIDIA, и включать специальные функции в текст программы на Cи. CUDA даёт разработчику возможность по своему усмотрению организовывать доступ к набору инструкций графическогоускорителя и управлять его памятью, организовывать на нём сложные параллельные вычисления.
Содержание
[убрать]

1 Программная архитектура
2 Оборудование
3 Преимущества
4 Ограничения5 Поддерживаемые GPU и графические ускорители[3]
6 Особенности и спецификации различных версий
7 Пример
8 CUDA как предмет в вузах
9 Ссылки
9.1 Официальные ресурсы9.2 Неофициальные ресурсы
10 Примечания
11 См. также

[править] Программная архитектура

Первоначальная версия CUDA SDK была представлена 15 февраля 2007 года. В основе CUDA APIлежит язык Си с некоторыми ограничениями. Для успешной трансляции кода на этом языке, в состав CUDA SDK входит собственный Си-компилятор командной строки nvcc компании Nvidia. Компилятор nvcc создан наоснове открытого компилятора Open64 и предназначен для трансляции host-кода (главного, управляющего кода) и device-кода (аппаратного кода) (файлов с расширением .cu) в объектные файлы, пригодные впроцессе сборки конечной программы или библиотеки в любой среде программирования, например в NetBeans.

Использует grid-модель памяти, кластерное моделирование потоков и SIMD инструкции....
tracking img