Анотация
Целта на този курс е да осигури достъпно третиране на паралелни алгоритми, включително теоретични модели на паралелни изчисления, проектиране на паралелни алгоритми за хомогенни и хетерогенни платформи, анализ на сложността и ефективността и основни понятия за планиране. Поставен е акцент върху алгоритмите за паралелни архитектури с разпределена памет, в които изчислителните елементи комуникират чрез обмен на съобщения.
Съдържание
Представени са аспектите за получаване на висока производителност от използването на паралелните компютри. В курса се акцентира вниманието на студентите на връзката между архитектура на компютъра и изпълнявания на него алгоритъм (програма) с цел да се осигури висока производителност. Разглеждат се различни задачи и особеностите на тяхното решаване с отчитане на особеностите на различни архитектури компютри. Специално внимание се отделя на паралелните компютри с разпределена памет и конструирането на паралелни алгоритми. Лабораторните упражнения се базират на разработването на програми-модели за оценка на получаваното бързодействие от паралелните алгоритми: предаване на сложни съобщения, матрични изчисления, сортиране на огромни масиви от данни и др. Използва се среда за управление на паралелни процеси MPI (MPICH2) и основните функции от библиотеката на средата Разработват се подходящи модели за оценка на производителността на паралелните алгоритми. Реализират се конкретни приложения за решаване на сложни практически задачи.