Конспект-справочник 'Моделирование на C++'


Использование графических ускорителей



Download 1,26 Mb.
Pdf ko'rish
bet56/62
Sana20.03.2022
Hajmi1,26 Mb.
#504043
1   ...   52   53   54   55   56   57   58   59   ...   62
Использование графических ускорителей. 
Графические ускорители или видеокарты предоставляют для вычислений 
дополнительные 
мощьности, 
характеризуемые 
высокой 
степенью 
параллелизма: обычные пользовательские видеокарты содержат десятки и 
сотни вычислительных ядер. При том, что производительность отдельного ядра 
GPU меньше производительности CPU, в параллелизируемых вычислениях 
GPU позволяют получить существенный прирост производительности. 
Для программирования графических ускорителей производители плат 
созданы соответствующие технологии OpenCL/CUDA. Эти технологии 
представляют собой компилятор и интерфейс взаимодействия с графическим 
ускорителем. OpenCL поддерживается ведущими производителями видеокарт - 
NVIDIA(линейка продуктов GeForce и др.), Intel (встроенные ускорители Intel 
HD Graphics), AMD (линейка продуктов Radeon и др.); CUDA - технология, 
созданная NVIDIA для своих карт и работающая только на них; ATI Stream - 
аналог CUDA от AMD. 
Для высокоуровневой работы с OpenCL/CUDA на C++ созданы 
библиотеки, существенно упрощающие программирование. 
Библиотека 
Сайт проекта 
поддержка 
OpenCL 
поддержка 
CUDA 
Boost.Compute http://kylelutz.github.io/compute/ 
да 
нет 
VexCL 
https://github.com/ddemidov/vexcl 
да 
да 
Thrust 
http://thrust.github.io/ 
нет 
да 
Bolt 
https://github.com/HSA-
Libraries/Bolt 
да (на AMD) нет 
Отдельно стоит упомянуть технологию Microsoft C++ AMP, работающую 
в Visual C++ (http://msdn.microsoft.com/ru-ru/library/hh265137.aspx) и в основе 
использующую DirectX 11 (DirectCompute). 
Библиотека Boost.Compute работает на большинстве графических карт 
ведущих производителей, поэтому кратко расскажем о том как ее подключить и 
начать использовать. Настройка Boost.Compute предельно проста: 
93 


В каталог, в котором установлен Code::Blocks необходимо загрузить и 
распаковать библиотеку Boost и самостоятельно добавить в нее Boost.Compute 
т.к. последняя пока официально не включена в состав Boost. Например, можно 
создать такую структуру: ...CodeBlocks/boost/compute .../accumulators 
.../algorithm .../archive .../asio ... 
В исходных файлах включить нужные заголовки: 
#include  
#include  
#include  
namespace compute = boost::compute; 
// для сокращения названия
// 
пространства имен 
using namespace compute; 
// чтобы пространство имен Boost.Compute
// 
не указывать 
Добавить '$(APP_PATH)' в пути поиска компилятора (это 
макроопределение среды Code::Blocks, указывающее на каталог в котором он 
установлен). Пути поиска компилятора задаются в меню Project->Build options... 
вкладка 'Search directories->Compiler' для выбранной конфиграции (Debug и/или 
Release). 
В настройках компоновщика (Project->Build options... вкладка 'Linker 
settings') добавить имя библиотеки: 'OpenCL'. 
Далее в зависимости от типа видеокарты сделать следующее: 

Download 1,26 Mb.

Do'stlaringiz bilan baham:
1   ...   52   53   54   55   56   57   58   59   ...   62




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish