This lecture forcuses recent high-performance processor architectures such like multi-core processors and GPUs, and covers various techniques (programming techniques, code optimization methods, and tuning schemes) for higher peformance computing on these processors.
This course has two aims. The first is to teach students to understand various high-performance processor architectures. The other is to teach students to understand software techniques including programming techinques, code optimization techniques, turing techniques, and etc., in order to achieve higher performance
on these high-performance processor architectures.
At the end of this course, students will be able to understand
- Techniques for High-Performance Computing on Multi-core processos
- Techniques for High-Performance Computing on GPU
Parallel Computing, High-Performance Computing, Multi-Core Processors, GPU
|Intercultural skills||Communication skills||Specialist skills||Critical thinking skills||Practical and/or problem-solving skills|
1) At the beginning of each class, the previous class are reviewed.
2) Towards the end of class, students are given assignments related to what is taught on that day to solve.
3) Before coming to class, students should read the course schedule and check what topics will be covered. Required learning should be completed outside of the classroom for preparation and review purposes.
|Course schedule||Required learning|
|Class 1||Parallel computing on Multi-core processors||Understand outline of parallel computing on multi-core processors|
|Class 2||Techniques for Higher Performance Computing on Multi-core processors||Understand major techniques for higher performance computing on multi-core processors|
|Class 3||GPU architectures and GPGPU||Learn GPU architectures and understand GPGPU.|
|Class 4||Parallel / Vector Processing with Thread Programming Model.||Understand parallel / vector processing with thread programming model.|
|Class 5||Memory Architectures of GPUｓ and their Data Transfer||Understand memory architectures of GPUｓ and their data transfer|
|Class 6||Quatitative Evaluation of Program Codes||Understand major quatitative evaluation measures of program codes|
|Class 7||Turing Techniques for Higher Performance Computing||Learn turing techniques for higher performance computing on GPUs.|
|Class 8||Various Tuning Techniques||Learn various tuning techniques for GPU programs.|
Course materials are provided during class(can be found on OCW-i).
1) Students will be assessed on their understanding of parallel computing on multi-core processors and GPUs, and techniques for high-performance computing on them.
2) Students’ course scores are based on final exams (80%) and assignments (20%).
3) Full attendance is compulsory.
4) The instructor may fail a student if he/she repeatedly comes to class late or resubmits assignment reports too often.
No prerequisites are necessary, but students are recommended to have
the basic knowledge on hardware and software of computer systems.