Помощь в учёбе, очень быстро...
Работаем вместе до победы

Схема работы программного решения. 
CUDA реализация алгоритмов

РефератПомощь в написанииУзнать стоимостьмоей работы

Поэтому GPU нельзя охарактеризовать, как классическую SIMD-ахитектуру. Warp’ы могут группироваться на более высоком уровне в блоки для того, чтобы использовать общую разделяемую память и иметь возможность синхронизоваться. В каждом SM-модуле 8 вычислительных процессоров — SP (Streaming Processor), которые умеют выполнять простые арифметические инструкции (MAD, MUL, MOV и т. д.), и один SFU… Читать ещё >

Схема работы программного решения. CUDA реализация алгоритмов (реферат, курсовая, диплом, контрольная)

CUDA представляет собой программно-аппаратный стек, позволяющий рассматривать видеокарты серии Nvidia 8xxx и старше, как сопроцессор к основному процессору (device).

Архитектура современной видеокарты.

Рис. 1 Архитектура современной видеокарты.

Архитектура современной видеокарты устроена, как показано на рисунке 1. В ней можно выделить крупный блок, который называется TPC (Texture Processor Cluster). Условно можно считать, что разные видеокарточки отличаются друг от друга только количеством TPC. TPC состоит из двух крупных модулей — SM (Streaming Multiprocessor).

В каждом SM-модуле 8 вычислительных процессоров — SP (Streaming Processor), которые умеют выполнять простые арифметические инструкции (MAD, MUL, MOV и т. д.), и один SFU (Special Function Unit), который умеет вычислять сложные функции (SIN, COS, EXP, LOG и др.).

Все потоки группируются по 32 потокав так называемые. Внутри warp’а потоки работают в режиме SIMD, но разные warp’ы могут исполнять разные инструкции.

Поэтому GPU нельзя охарактеризовать, как классическую SIMD-ахитектуру. Warp’ы могут группироваться на более высоком уровне в блоки для того, чтобы использовать общую разделяемую память и иметь возможность синхронизоваться.

Традиционно сложилось, что GPU используют арифметику с плавающей точкой и поддерживают float32 IEEE стандарт вычислений. В дальнейшем ожидается появление поддержки вычислений double-арифметики, что существенно расширит класс задач, для которых CUDA применима.

С точки зрения программиста CUDA — это расширение синтаксиса языка C. Специальными служебными словами помечаются функции:

  • · функция вызывается и исполняется на CPU — __host__,
  • · функция вызывается на CPU, исполняется на GPU — __global__,
  • · функция вызывается и исполняется на GPU — __device__.

Для переменных действует схожее правило.

CUDA-программы компилируются специальным компилятором nvcc, который разделяет код на GPU и CPU составляющие. CPU код передается стандартному компилятору (gcc, IntelC и др.), а GPU код обрабатывается дальше.

Показать весь текст
Заполнить форму текущей работой