Високопроизводителни изчисления

Високопроизводителните изчисления (High Performance Computing, HPC) предоставят възможност за справяне със задачи за научно,  техническо или за нуждите на бизнеса моделиране и симулиране. Целта на магистърската програма Високопроизводителни изчисления (ВПИ) е да запознае студентите с водещи HPC технологии и да предостави възможност за развитие на умения за използване на пълния потенциал на най-мощните в световен мащаб суперкомпютри и многоядрени процесори. 

Магистърската програма Високопроизводителните изчисления е предназначена за кандидати с придобито висше образование в областта на математиката и/или компютърните науки, компютърно инженерство, приложна математика, естествени науки (физика, химия, биология, геология, география и др.).

За успешно обучение в магистърската програма се препоръчва кандидатите да владеят английски език на ниво, съответстващо поне на ниво B1 от Общата европейска езикова рамка.

Софийски университет „Св. Климент Охридски“ е партньорска организация по проект EUMASTER4HPC

Кандидатите за обучение в магистърската програма имат възможност успоредно да кандидатстват за международна стипендия по EUMASTER4HPC на адрес https://eumaster4hpc.uni.lu/application. Одобрените кандидати получават правото да се обучават в рамките на една година в партньорски университет и при успешно завършване да придобият двойна диплома.

Професионално направление: 
4.6. Информатика и компютърни науки
Степен: 
ОКС "магистър"
Специалност: 
Информатика
Магистърска програма: 
Високопроизводителни изчисления
Форма на обучение: 
редовна
Продължителност на редовна форма на обучение (брой семестри): 
4
Професионална квалификация: 
Магистър по информатика - Високопроизводителни изчисления
Език на преподаване: 
Английски
Ръководител на магистърска програма: 
проф. д-р Красен Стефанов

Насоченост, образователни цели

Високопроизводителните изчисления (High Performance Computing, HPC) предоставят възможност за справяне със задачи за научно,  техническо или за нуждите на бизнеса моделиране и симулиране, за които е необходимо използването на пълния потенциал на мощни процесори, мрежи и суперкомпютри. Именно в тази област е фокусирано и обучението по настоящата магистърска програма. Целта на магистърската програма Високопроизводителни изчисления е да запознае студентите с водещи HPC технологии и да предостави възможност за развитие на умения за използване на пълния потенциал на най-мощните в световен мащаб суперкомпютри и многоядрени процесори. Благодарение на учебния план, разработен въз основа на утвърден опит в обучението на специалисти по паралелно програмиране и числени методи, магистърската програма осигурява перспективно обучение, адекватно на съвременните нужди. Обучението в магистърската програма предоставя възможност за придобиване на мултидисциплинарни знания и умения едновреминно и в HPC, и в Науката за данни, за извличане на знания от все по-големите, сложни и предизвикателни бази данни, генерирани в различни области на науката и бизнеса.

Магистърската програма Високопроизводителните изчисления е предназначена за кандидати с придобито висше образование в областта на математиката и/или компютърните науки, компютърно инженерство, приложна математика, естествени науки (физика, химия, биология, геология, география и др.). 

За успешно обучение в магистърската програма, препоръчва се кандидатите да владеят английски език на ниво, съответстващо поне на ниво B1 от Общата европейска езикова рамка.

Очаква се, кандидатите да притежават познания за понятията на линейната алгебра и свързаните с тях алгоритми, както и базови познания по числен анализ. За успешното обучение в програмата, необходимо е кандидатите да притежават познания за език за програмиране (за предпочитане Python, Java или C++), както и за разработване и сложност на алгоритъма.

Кандидатите, за които е подходяща магистърската програма, могат да бъдат обособени в две основни групи:

  • учени от различни научни области (математика, физика, химия, биология и др.), желаещи да получат знания и умения за използване на съществуващи инфраструктури за високопроизводителни изчисления за решаване на сложни задачи от техните научни и приложни области, използвайки съществуващи математически модели и методи (климат, финанси, медицина, създаване на лекарства, космология, океанология, чисти и безотпадни технологии, водни ресурси и др.);
  • специалисти по информатика и компютърни науки, желаещи да проектират, създават и поддържат инфраструктури за високопроизводителни изчисления, както и алгоритми и софтуер за решаване на нови задачи и проблеми в различни области.

Обучение

Магистърската програма е с продължителност 4 /четири/ семестъра. През първия семестър обучението цели изучаване на базови/фундаментални курсове, следват два семестъра, фокусиран в изучаването на специализиращи дисциплини и един семестър, включващ  стаж и подготовка на магистърска теза. Обучението в програмата включва практическа подготовка и предоставя на обучаващите се достъп до различни HPC платформи и тенхологии.

Включените фундаментални курсове осигуряват запознаване с основните на високопроизводителните изчисления, паралелното програмиране, математиката и науката за данните. Всички фундаментални курсове се предлагат като избираеми дисциплини и студентите имат възможност за избор в зависимост от образователните им потребности.

Предвидените в трети семестър избираеми курсове за допълнителна специализираща подготовка предоставят възможност обучаващите да направят своя избор в зависимост от избраната област, в която желаят да се специализират.

През обучението си в магистърската програма, студентите имат възможност за изучаване на дисциплини, ориентирани към придобиване на така наречените "меки умения". Тези курсове са бособени като факултативни дисциплини, оценките от тях се вписват в учебната документация без да се включват в общия успех, а предвидените кредитите следва да са над предвидените за програмата 120 кредита.

Като обобщение, магистърската програма включва три типа курсове:

  • Фундаментални курсове, осигуряващи базови познания и умения, необходими за изграждане на специалисти в следните четири специфични области: Математика и статистика, Софтуерно инженерство, Паралелно програмиране и Компютърни архитектури;
  • Специализиращи  курсове, осигуряващи познания и умения за прилагане в различни области, в които HPC и Науката за данни са от особено значение за получаване на съществени научни резултати (физика, химия, биология, медицина, икономика, финанси, инженерство);
  • Курсове, осигуряващи допълнителни умения, приложими в различни области, т.е. така наречените "меки умения".

Специализации в магистърската програма:

  • Числени методи, специфични за научните области от интерес (включващи Паралелни алгоритми, Методи Монте Карло, Линейно програмиране, Сортировки, Бързи трансформации на Фурие, Изчислителна линейна алгебра, Числени методи, Квантови алгоритмие, Изчислителна Биология, Изчислителна Физика, Изчислителна химия, Изчислителна флуидо-динамика, управление и анализ на данни);
  • Разработване на системен софтуер, анализ на производителността (включващо познания в области като изкуствен интелект, наука за данните, изчислителни науки, управление и анализ на данни, хетерогенни системи: CPU, GPU, FPGA, CGRA; контейнери, виртуализация, анализ на ефективността, операционни системи, паралелни файлови сървъри, високоскоростни мрежи, интеграция на HPC с облачни технологии, администриране на сървъри, изграждане, управление и поддържане на електронна инфраструктура).

Като цяло, включените в учебния план курсове целят придобиване както на теоренични знания, така и на практическа подготовка. В хорариума на отделните дисциплини са включени часове лекции и часове, предвидени за семинарни/практически упражнения с цел:

  • Запознаване с различните инструменти и технологии, използвани в HPC и различните начини за прилагането им;
  • Придобиване на компетенции за разбиране на техническите изисквания на научните и технически HPC приложения за планиране и създаване на HPC съоръжения;
  • Задълбочаване на разбирането за това как да се прилагат HPC технологиите към конкретни приложения и документиране на техните технологични и алгоритмични ограничения;
  • Предоставяне на перспектива за бъдещото развитие на HPC.

Важно е да се подчертае, че част от обучението в магистърската програма  е фокусирано върху това как HPC методологията (т.е. комбинацията от алгоритми, хардуерни и софтуерни инструменти) може да се използва при конкретни задачи. Тази част е силно фокусирана върху алгоритмите и методите, с цел да позволи на студентите да придобият практически умения и опит, дава се възможност студентите се научат да съпоставят методологията за решаване на конкретни проблеми и да бъдат въведени в ключови теми от различни научни области и индустриални или инженерни задачи, изискващи високопроизводителни изчисления.

В последната част на магистърската програма всеки студент провежда стаж в специализиран HPC център, завършващ с HPC-ориентиран проект, съобразен с професионалните интереси и очаквания на обучаващия се.

За да се дипломират и придобият професионална квалификация Магистър по информатика - Високопроизводителни изчисления, обучаващите се следва да се включат в предизвикателен в техническо отношение проект в сътрудничество с изследователски екип и/или индустриален партньор. В проектите студентите трябва да прилагат знанията, получени през обучението по програмата, към научен или технически изчислителен проблем, който може например да изисква добавяне или подобряване на паралелизиране или оптимизиране или порт към нова HPC технология, или комбинация от тях за научно приложение. 

Професионални компетенции

От студентите се очаква да постигнат следните примерни практически умения за работа с:

  • Софтуерни средства: Singularity, Kubernetes, Git, Gitlab, GitHub, OS Administration (Ansible, Puppet, Chef), SQA, PyTorch, TensorFlow, Apache Spark
  • Паралелно програмиране (практики): C/C++, FORTRAN, OpenMP, MPI, CUDA, SYCL, Operating Systems (Linux), Python, Benchmarking, Profiling
  • Компютърни архитектури (практики): Моделиране и симулации (на различни равнища: ISA, cycle-accurate, full system), Benchmarking, Profiling, EDA Tools (HLS, Verification), RTL Programming, FPGA Prototyping

Професионална реализация

Опции за работа за студенти, завършили успешно програмата: 

  • Data Science специалист
  • специалист управление на информационни системи
  • IT консултант
  • анализатор по киберсигурност
  • системен инженер
  • разработчик на системи
  • софтуерен и ИТ инженер
  • Programming Engineer

Учебен план

Презентация

За информация и контакти

проф. д-р Красен Стефанов

ФМИ, бул. Дж. Баучър 5, София 1164
тел.: +359 2 8161 535
e-mail: krassen@fmi.uni-sofia.bg