7
Определение, над какой частью данных работает каждый поток,
осуществляется на основе номера блока и номера потока в блоке;
По завершении работы всех созданных потоков пользователь копирует
результат вычислений из памяти графической платы в основную
память компьютера.
Подход к написанию программ для графического процессора
сильно отличается от подхода, применяемого при написании
программ
для последовательного процессора. При программировании с
использованием множества потоков требуется тщательно планировать
синхронизации параллельно исполняющихся потоков и эффективно
использовать иерархию памяти, управление которой отчасти
контролируется программистом (на графической плате присутствуют
несколько модулей памяти большого объема с медленным доступом и
несколько модулей памяти с быстрым доступом, но имеющих малый
объем). При
написании программ для последовательного процессора
нет необходимости в синхронизации, так как исполняется только один
поток программы. Контроль над использованием иерархической
памяти полностью осуществляется компилятором, используемым при
сборке программы.
Для эффективного использования данной системы необходимо
переосмысление алгоритмов обработки данных. В докладе показано,
каким образом можно реализовать симулятор MIMO-системы на
графическом чипе.
Программирование протоколов беспроводной связи
Современные беспроводные протоколы используют ресурсоёмкие
алгоритмы обработки сигналов. Наибольшую нагрузку на
вычислительную систему создают алгоритмы физического уровня (по
модели открытых систем OSI), такие как алгоритмы демодулятора и
декодера. Перенесение данных алгоритмов на графические
(многоядерные) процессоры может позволить избавиться от
специализированных и дорогих сигнальных процессоров. Для
выяснения пригодности
использования графических процессоров в
реальных задачах обработки сигналов был разработан набор программ,
позволяющих тестировать различные алгоритмы в условиях,
приближенных к реальным. В данной системе трафик любого сетевого
приложения, работающего на ОС Windows, можно направить на
обработку через графический чип, на котором реализована система