Graduate
Institute of Graduate Studies
Mathematics And Computer Science
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


High Performance Computing

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
YMB0023 High Performance Computing 3/0/0 DE Turkish 7
Course Goals

The objective of “High Performance Computing” course is to introduce parallel programming paradigms and platforms, to teach efficient and optimized parallel algorithms which runs on supercomputers, computer grids and parallel processors to speed up computational tasks, and provide a solid background on designing, implementing and testing parallel algorithms using OpenMP and MPI tools. 

Prerequisite(s) -
Corequisite(s) -
Special Requisite(s) The minimum qualifications that are expected from the students who want to attend the course.(Examples: Foreign language level, attendance, known theoretical pre-qualifications, etc.)
Instructor(s) Assist. Prof. Dr. Levent Çuhacı
Course Assistant(s)
Schedule Day, hours, XXX Campus, classroom number.
Office Hour(s) Instructor name, day, hours, XXX Campus, office number.
Teaching Methods and Techniques Theory, Practice
Principle Sources “Introduction to Parallel Computing”, 2nd ed., A.Grama & G.Karypis, Pearson, 2003.
Other Sources “High Performance Computing: Modern Systems and Practices”, T.Sterling, M.Anderson, M.Brodowicz, MK Publishing, 2018.  
“Introduction to High Performance Scientific Computing”, V.Eijkhout, lulu.com, 2014.
Course Schedules
Week Contents Learning Methods
1. Week Introduction to High Performance Computing (HPC) Theory
2. Week Parallelization, Parallel Programming Theory, Practice
3. Week Parallel Programming Platforms Theory
4. Week Parallel Programming Models Theory
5. Week Parallel Programming with Message Passing - I Theory, Practice
6. Week Parallel Programming with Message Passing – II (OpenMP) Theory, Practice
7. Week Parallel Programming with Shared Memory Model – I Theory, Practice
8. Week Parallel Programming with Shared Memory Model – II (MPI) Theory, Practice
9. Week Midterm Exam Exam
10. Week Parallel Algorithms – I (Dense Matrix Algorithms) Theory, Practice
11. Week Parallel Algorithms – II (Sorting Algorithms) Theory, Practice
12. Week Parallel Algorithms – III (Graph Algorithms) Theory, Practice
13. Week Parallel Algorithms – IV (Dynamic Programming) Theory, Practice
14. Week Parallel Programing Tools Theory, Practice
15. Week
16. Week
17. Week
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 30
Project(s) 1 30
Final Exam 1 40


Program Outcomes
PO-1Have scientific research in mathematics and computer science in the level of theoretical and practical knowledge.
PO-2On the basis of undergraduate level qualifications, develop and deepen the same or a different areas of information at the level of expertise, and analyze and interpret by using statistical methods
PO-3Develop new strategic approaches for the solution of complex problems encountered in applications related to the field and unforeseen and take responsibility for the solution.
PO-4Evaluate critically skills acquired in the field of information in the level of expertise and assess the learning guides.
PO-5Transfer current developments in the field and their work to the groups inside and outside the area supporting with quantitative and qualitative datas as written, verbal and visual by a systematic way.
PO-6Use information and communication technologies with computer software in advanced level.
PO-7Develop efficient algorithms by modeling problems faced in the field and solve such problems by using actual programming languages.
PO-8Respect to social, scientific, cultural and ethical values at the stages of data collection related to the field, interpretation, and implementation.
PO-9To solve problems related to the field, establish functional interacts by using strategic decision making processes.
PO-10Establish and discuss in written, oral and visual communication in an advanced level by using at least one foreign language.
Learning Outcomes
LO-1I. Realize the importance and role of High Performance Computing in science and engineering.
LO-2II. Analyze the given problem and identify whether the problem is convenient to be solved using parallel programming techniques.
LO-3III. Identify effective hardware and algorithms for HPC based projects.
LO-4IV. Compare and contrast the efficiency of message passing and shared memory parallel programming models.
LO-5V. Design, implement and test parallel algorithms running both on shared and distributed memory platforms.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10