Курсът има за цел да запознае студентите с паралелните архитектури и алгоритми, като включва и практически занятия с използване на стандарта за паралелно програмиране MPI. Той покрива:
- паралелни архитектури, паралелни алгоритми и оценяване на паралелната ефективност;
- стандарти за паралелно програмиране;
- основни операции при използване на стандарта MPI.
- методи и парадигми за паралелно програмиране
Дисциплината е подходяща предимно за студенти от трети и четвърти курс с интереси в програмирането с използване на съвременни високопроизводителни компютърни системи.
Студентите е задължително да имат основни познания по един от езиците за програмиране C/C++ или JAVA, като по-добре е C/C++. Плюс е познаването на операционна система Linux.
|
- Паралелни компютърни архитектури.
- Паралелни алгоритми и оценка на производителността им.
- Особености на паралелното програмиране, при използване на споделена и разпределена памет.
- Методи и парадигми за реализация на паралелни алгоритми , примери.
- Съвременни стандарти за паралелно програмиране, въведение в MPI.
- Основни операции в MPI - стартиране, обмен на съобщения, колективни операции.
- Методи и парадигми за реализация на паралелни алгоритми, примери.
- Метод "разделяй и владей", паралелизация по данни и разделяне на областта.
- Методи за синхронизация, балансиране на натоварването и подобряване на паралелната ефективност.
- Други стандарти за паралелно програмиране - нишки, OpenMP, CUDA.
|
Курсът има за цел да запознае студентите с паралелните архитектури и алгоритми, като включва и практически занятия с използване на стандарта за паралелно програмиране MPI. Той покрива:
- паралелни архитектури, паралелни алгоритми и оценяване на паралелната ефективност;
- стандарти за паралелно програмиране;
- основни операции при използване на стандарта MPI.
- методи и парадигми за паралелно програмиране
Дисциплината е подходяща предимно за студенти от трети и четвърти курс с интереси в програмирането с използване на съвременни високопроизводителни компютърни системи.
Студентите е задължително да имат основни познания по един от езиците за програмиране C/C++ или JAVA, като по-добре е C/C++. Плюс е познаването на операционна система Linux.
|
- П. Боровска, М. Лазарова, Паралелна информационна обработка: Системни архитектури, паралелни алгоритми, паралелно програмиране, изд. Сиела, София, 2007, ISBN 9789542800750
- Робърт Седжуик, Алгоритми на C, Части 1-4: Основи, структури от данни, сортиране, търсене, София, 2006, СофтПрес, ISBN 9546852171
- Peter S. Pacheco, Parallel programming with MPI, 1997, ISBN 1-55860-339-5, Morgan Kaufmann Publishers, Inc. (достъпна в България)
- MPI: A Message-Passing Interface Standard Version 2.2 http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf
- Thomas H. Cormen, Introduction to Algorithms, 2001, ISBN-13: 978-0262531962
- Steven S. Skiena, The Algorithm Design Manual, Springer, 2008, ISBN-13: 978-1848000698
- Jack Dongarra et al, The Sourcebook of Parallel Computing, 2002, Morgan Kaufmann Publishers, ISBN-13 978-1558608719
|