Advanced Parallel Programming
Faculteit | Science and Engineering |
Jaar | 2021/22 |
Vakcode | WMCS020-05 |
Vaknaam | Advanced Parallel Programming |
Niveau(s) | master |
Voertaal | Engels |
Periode | semester II b |
ECTS | 5 |
Rooster | rooster.rug.nl |
Uitgebreide vaknaam | Advanced Parallel Programming | ||||||||||||||||||||||||||||||||||||
Leerdoelen | After completing this course, you will become proficient in: o programming GPU and Reconfigurable Accelerators to achieve magnitude faster application level performance; o reasoning about and understanding the spatial complexity of algorithms, arithmetic optimisations and costs of data movement; o designing precise performance models driven by the targeted algorithm, dataset as projected on the system architecture; o implementing and debugging high-performance application specific parallel implementations; o devising transformations in order to reach the maximal application performance on a given system instance; o applying computational and bandwidth trade-offs to improve system level performance; o achieving maximal performance within constrained space and power datacentre environments. will understand: o the necessary details of the underlying computational substrates, their architectures and microarchitectures; o the concepts of data parallel and spatial execution models and how to apply those for performance scalability; o parallel memory systems and how to manage locality, reduce bandwidth consumption and facilitate parallel algorithm patterns; o the advantages and shortcomings of emerging accelerator technologies and product lines in order to make the right choices; o latency, throughput and cost dimensions of computing; o the conceptual differences between traditional processor-based computing and heterogeneous application specific acceleration. will know how to address design implications and optimizations: o at application and algorithmic levels; o to systematically resolve system-level bottlenecks; o by customizing data placement and movements; o by overlapping computation with communication; o by applying arithmetic level optimizations. |
||||||||||||||||||||||||||||||||||||
Omschrijving | The aim of this new course is to introduce you to the fundamentals of programming massively parallel heterogeneous accelerators and in particular to advanced techniques towards system design and programming of emerging computing systems, e.g., GPUs and FPGAs. The course will consist of lectures with periods of discussion as well as practical programming exercises and coursework to further understanding of the material. The course will cover advanced material and start with practical programming examples early on. Introductory material will be minimized. The lab exercises will let the students gain experience with programming massively parallel accelerators available from Nvidia (GPUs), Xilinx (Alveo), Intel (Xeon CPU+FPGA), Microsoft’s Azure and Amazon EC2 cloud instances with FPGAs, and other emerging industry platforms. |
||||||||||||||||||||||||||||||||||||
Uren per week | |||||||||||||||||||||||||||||||||||||
Onderwijsvorm | Hoorcollege (LC), Practisch werk (PRC) | ||||||||||||||||||||||||||||||||||||
Toetsvorm |
Practisch werk (PR), Schriftelijk tentamen (WE)
(The written examination (open book) contributes 85% to the overall mark while the individual project contributes 15%. Unassessed practice test for formative assessment.) |
||||||||||||||||||||||||||||||||||||
Vaksoort | master | ||||||||||||||||||||||||||||||||||||
Coördinator | prof. dr. ir. G. Gaydadjiev | ||||||||||||||||||||||||||||||||||||
Docent(en) | prof. dr. ir. G. Gaydadjiev , A. Shahbahrami, PhD. | ||||||||||||||||||||||||||||||||||||
Verplichte literatuur |
|
||||||||||||||||||||||||||||||||||||
Entreevoorwaarden | C, Java, Computer Architecture (WBCS14002) | ||||||||||||||||||||||||||||||||||||
Opmerkingen | |||||||||||||||||||||||||||||||||||||
Opgenomen in |
|