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 (исходный код, утилиты и документация).


 

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

20494. Клітинні матриці. Дії над клітинними матрицями 49.5 KB
  Дана форма запису матриці має важливе теоретичне значення у лінійній алгебрі і при розв'язуванні систем диференціальних рівнянь. Наприклад матриця: Власними значеннями даної матриці A є λ = 1 2 4 4. Розмірність ядра матриці A − 4In дорівнює 1 отже A не допускає діагоналізації.
20497. Структурна природна мова 31 KB
  В наукових дослідженнях все більш вагоме місце посідають розробки що орієнтовані на опрацювання природномовної ПМ інформації бо остання визначається як узагальнена схема подання довільної інформації. Проте з іншого боку також відомо наскільки складною постає проблема обробки мовної інформації і прогрес у цій сфері однозначно пов'язується з рівнем формалізації опису природної мови. Здобувачем запропоновано формальну модель мови що визначає її системну організацію і яка закладається в основу сучасних технологій орієнтованих на...
20498. Таблиці та дерева рішень 38.5 KB
  Метод дерева рішень це один з методів автоматичного аналізу величезних масивів даних. Область використання методу дерева рішень можна об'єднати в три класи: опис даних: застосування дерева рішень дозволяє зберігати інформацію про вибірку даних в компактній і зручній для обробки формі що містить в собі точні описи об'єктів; класифікація: застосування дерева рішень дозволяє справитися із завданнями класифікації тобто відношення об'єктів до одного з описаних класів; регресія: якщо змінна має недостовірні значення то застосування дерева...
20499. Теорія реляційних баз даних. Основні терміни і означення. Нормалізація відношень 31 KB
  Реляційна база даних база даних основана на реляційній моделі даних. Інакше кажучи реляційна база даних це база даних яка сприймається користувачем як набір нормалізованих відношень різного ступеню. Метою нормалізації є усунення недоліків структури БД які призводять до шкідливої надмірності в даних яка в свою чергу потенційно призводить до різних аномалій і порушень цілісності даних.
20500. Трикутні матриці (верхня та нижня) і їх розклад на добуток двох трикутних 37 KB
  Трику́тна ма́триця матриця в якій всі елементи нижче або вище за головну діагональ рівні нулю. Верхньотрикутна матриця квадратна матриця в якій всі елементи нижче за головну діагональ дорівнюють нулю. Нижньотрикутна матриця квадратна матриця в якій всі елементи вище за головну діагональ дорівнюють нулю. Унітрикутна матриця верхня або нижня трикутна матриця в якій всі елементи на головній діагоналі дорівнюють одиниці.
20501. Форми, типи форм, обчислення в формах 33 KB
  Робота з формами може відбуватися в трьох режимах: у режимі Форми в режимі Таблиці в режимі констриктор. типи форм В Access можна створити форми наступних видів: форма в стовпець або повноекранна форма; стрічкова форма; таблична форма; форма головна підпорядкована; зведена таблиця; формадіаграма. Форма в стовпець є сукупністю певним чином розташованих полів введення з відповідними їм мітками і елементами управління.
20502. Маніпулювання даними, операції над схемою бази даних за допомогою мови SQL 27.5 KB
  Маніпулювання даними операції над схемою бази даних за допомогою мови SQL Для маніпулювання данними виділяють такі групи команд SQL:Команди мови визначення даних DDL Data Definition Language. DDL Data Definition Language мова визначення даних це підмножина SQL що використовується для визначення та модифікації різних структур даних.До даної групи відносяться команди призначені для створення зміни та видалення різних об'єктів бази даних. Команди CREATE створення ALTER модифікація і DROP видалення мають...