Паралелни алгоритми

Циљ и исход предмета

Усвајање теоретског знања и практичних вештина за разумевање и развој паралелних рачунарских програма. Студент разуме кључне концепте и проблеме развоја паралелних алгоритама, и упознат је са релевантним карактеристикама савремених паралелних рачунарских система. Способан је да осмисли и имплементира паралелни алгоритам за решавање датог проблема.

Теоријска настава

Паралелни рачунарски системи и Флинова таксономија. Лимити паралелизације, Амдалов и Густафсонов закон. Дељена, локална и дистрибуирана меморија. Перформансе паралелних алгоритама. Анализа проблема како би се пронашле могућности за паралелизам. Кратак осврт на основе програмског језика Python. Упознавање са основним концептима паралелног програмирања кроз примере у програмском језику Python. Паралелизација употребом већег броја нити. Паралелизација употребом већег броја процеса. Синхронизација, баријере и семафори. Развој софтвера за рачунаре са великим бројем језгара и графичке процесоре. CUDA и pyCUDA оквири за развој софтвера. Векторизација кода кроз Intel AVX сет инструкција. Програмирање на основу тока података.

Практична настава

Прорачуни убрзања и ефикасности које је могуће остварити паралелизацијом. Практичан увод у програмски језик Python и развој софтвера у Jyputer Lab окружењу. Употреба већег броја нити у циљу паралелизације и ограничења Python интерпретера (Global Interpreter Lock). Употреба већег броја процеса у циљу паралелизације. Синхронизација и комуникација иземђу процеса. Пример паралелних алгоритама из домена научног софтвера, пословних апликација и рада над графовима. Програмско окружење CUDA. Примери програма написаних у CUDA окружењу и извршавање кроз pyCUDA омотач, Jyputer Lab и Google Cloud.

3070-paralelni-algoritmi

sbobet88 slot agb99 situs slot slot777 AMANAHTOTO toto AMANAHTOTO AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77 roma77 hoki99 abadicash