CS 598 APK
CS 598 APK - Lang/Abst f High-Perf Sci Comp
Subject offerings of new and developing areas of knowledge in computer science intended to augment the existing curriculum. See Class Schedule or departmental course information for topics and prerequisites. Course Information: May be repeated in the same or separate terms if topics vary.
Languages and Abstractions for High-Performance Scientific Computing This practically-oriented class considers programming language tooling for the construction of high-performance numerically-based software targeting distributed-memory GPU and wide-vector multi-core machines. Topics covered include: Machine Abstractions and Hardware Realities, Kernels and the Anatomy of High-Performance Code, Measuring and Understanding Performance (Types of measurements, performance counters and derived quantities, instrumentation and measurement error), Construction and Design of Domain-Specific Languages (array and scalar languages, parallel primitives, intermediate representations, metaprogramming), Translation and Compilation Techniques (symbolic manipulation, interfacing with computer algebra, kernel fusion, polyhedral representation and transformation), Code Generation and Just-in-Time Compilation, Performance Modeling and Tuning. Prerequisites: Knowledge of C and Python, interest in numerica