4265

Возможности NVIDIA CUDA

Доклад

Информатика, кибернетика и программирование

Возможности NVIDIA CUDA Технология CUDA — это программно-аппаратная вычислительная архитектура NVIDIA, основанная на расширении языка Си, которая даёт возможность организации доступа к набору инструкций графического ускорителя и управления его ...

Русский

2012-11-15

17.64 KB

36 чел.

Возможности NVIDIA CUDA

Технология CUDA — это программно-аппаратная вычислительная архитектура NVIDIA, основанная на расширении языка Си, которая даёт возможность организации доступа к набору инструкций графического ускорителя и управления его памятью при организации параллельных вычислений. CUDA помогает реализовывать алгоритмы, выполнимые на графических процессорах видеоускорителей GeForce восьмого поколения и старше (серии GeForce 8, GeForce 9, GeForce 200), а также Quadro и Tesla.

Хотя трудоёмкость программирования GPU при помощи CUDA довольно велика, она ниже, чем с ранними GPGPU решениями. Такие программы требуют разбиения приложения между несколькими мультипроцессорами подобно MPI программированию, но без разделения данных, которые хранятся в общей видеопамяти. И так как CUDA программирование для каждого мультипроцессора подобно OpenMP программированию, оно требует хорошего понимания организации памяти. Но, конечно же, сложность разработки и переноса на CUDA сильно зависит от приложения.

Набор для разработчиков содержит множество примеров кода и хорошо документирован. Процесс обучения потребует около двух-четырёх недель для тех, кто уже знаком с OpenMP и MPI. В основе API лежит расширенный язык Си, а для трансляции кода с этого языка в состав CUDA SDK входит компилятор командной строки nvcc, созданный на основе открытого компилятора Open64.

Перечислим основные характеристики CUDA:

  1.  унифицированное программно-аппаратное решение для параллельных вычислений на видеочипах NVIDIA;
  2.  большой набор поддерживаемых решений, от мобильных до мультичиповых
  3.  стандартный язык программирования Си;
  4.  стандартные библиотеки численного анализа FFT (быстрое преобразование Фурье) и BLAS (линейная алгебра);
  5.  оптимизированный обмен данными между CPU и GPU;
  6.  взаимодействие с графическими API OpenGL и DirectX;
  7.  поддержка 32- и 64-битных операционных систем: Windows XP, Windows Vista, Linux и MacOS X;
  8.  возможность разработки на низком уровне.

Касательно поддержки операционных систем нужно добавить, что официально поддерживаются все основные дистрибутивы Linux (Red Hat Enterprise Linux 3.x/4.x/5.x, SUSE Linux 10.x), но, судя по данным энтузиастов, CUDA прекрасно работает и на других сборках: Fedora Core, Ubuntu, Gentoo и др.

Среда разработки CUDA (CUDA Toolkit) включает:

  1.  компилятор nvcc;
  2.  библиотеки FFT и BLAS;
  3.  профилировщик;
  4.  отладчик gdb для GPU;
  5.  CUDA runtime драйвер в комплекте стандартных драйверов NVIDIA
  6.  руководство по программированию;
  7.  CUDA Developer SDK (исходный код, утилиты и документация).


 

А также другие работы, которые могут Вас заинтересовать

6772. Історія формування та визначальні тенденції в розвитку освіти, науки, техніки як фундаментальних основ життя українського народу 36 KB
  Історія формування та визначальні тенденції в розвитку освіти, науки, техніки як фундаментальних основ життя українського народу. Історичні аспекти виникнення і функціонування освітніх систем в Україні. Становлення системи вищої освіти. Грецька коло...
6773. Історія та історіографія в еволюції, їх місце і роль в гуманізації діяльності людини 76.04 KB
  Історія та історіографія в еволюції, їх місце і роль в гуманізації діяльності людини. План Предмет та завдання історії України, її наукова періодизація. Еволюція концепцій та історіографії основних проблем курсу. Історіографія проб...
6774. Регіональні землі на етапі політичного дроблення Давньоруської держави. Етнополітичний контекст української історії. Формування та розвиток історико-етнографічних регіонів України 60.55 KB
  Етнополітичний контекст української історії. Формування та розвиток історико-етнографічних регіонів України. План Предмет етнополітики. Поняття історико-етнографічний регіон. Етнотериторіальні утворення на українських землях в до...
6775. Етнополітика та її особливості в різні періоди життя українського народу 66.92 KB
  Етнополітика та її особливості в різні періоди життя українського народу. План. Проблеми етнічного походження Київської Русі. Концепції полі та моноетнічності давньоруської народності. Особливості литовської експансії на українські землі...
6776. Історичні процеси в міграційних та еміграційних явищах українців 64.76 KB
  Історичні процеси в міграційних та еміграційних явищах українців. П Л А Н Українська еміграція - причини, хвилі та наслідки. Українська діаспора, її стан та роль у розбудові української держави. I Міграція населення - переселення, п...
6777. Етнополітичні аспекти української історії новітнього періоду (1917 - 2004рр.) 59.81 KB
  Етнополітичні аспекти української історії новітнього періоду (1917-2004рр.) План. I. Спроби вирішення етнонаціональних проблем в Україні. Центральною Радою, Гетьманським урядом та Директорією УНР. II. Етнополітичні фактори у політиці радянської влад...
6778. Проектування як складова сучасного виробництва та життєдіяльності людини 615.22 KB
  Проектування як складова сучасного виробництва та життєдіяльності людини 1.Загальні основи проектування у виробничій діяльність людини. 2. Основні ознаки проектної діяльності. 3. Види проектів. Основні поняття: проект, проектування, проектно-техноло...
6779. Поняття про етапи виробничого проектування: технічне завдання, технічна пропозиція, ескізний проект, технічний проект 89.66 KB
  Поняття про етапи виробничого проектування: технічне завдання, технічна пропозиція, ескізний проект, технічний проект, розробка робочої документації тощо. Поняття про етапи навчального проектування: організаційно-підготовчий, конструкторський, техно...
6780. Творчість як основа перетворювальної діяльності людини 21.92 KB
  Творчість як основа перетворювальної діяльності людини. Винахідництво. Раціоналізаторські пропозиції - рушійна сила у розвитку виробництва. Основні поняття: творчість, мислення, винахід, винахідництво, раціоналізаторські пропозиції 1.Творчість ...