Syllabus

Course Code: MT-CSE-20-31    Course Name: Elective-V - (i) Compiler for High Performance Computing

MODULE NO / UNIT COURSE SYLLABUS CONTENTS OF MODULE NOTES
1 High Performance Systems, Structure of a Compiler, Programming Language Features, Languages for High Performance, Data Dependence: Data Dependence in Loops, Data Dependence in Conditionals, Data Dependence in Parallel Loops, Program Dependence Graph.
2 Scalar Analysis with Factored Use-Def Chains: Constructing Factored UseDef Chains, FUD Chains for Arrays, Induction Variables Using FUD Chains, Constant Propagation with FUD Chains, and Data Dependence for Scalars. Data Dependence Analysis for Arrays. Array Region Analysis, Pointer Analysis, I/O Dependence, Procedure Calls, Inter-procedural Analysis.
3 Loop Restructuring: Simple Transformations, Loop Fusion, Loop Fission, Loop Reversal, Loop Interchanging, Loop Skewing, Linear Loop Transformations, Strip-Mining, Loop Tiling, Other Loop Transformations, and Inter-procedural Transformations. Optimizing for Locality: Single Reference to Each Array, Multiple References, General Tiling, Fission and Fusion for Locality.
4 Concurrency Analysis: Concurrency from Sequential Loops, Concurrency from Parallel Loops, Nested Loops, Round off Error, Exceptions and Debuggers. Vector Analysis: Vector Code, Vector Code from Sequential Loops, Vector Code from for all Loops, Nested Loops, Round off Error, Exceptions, and Debuggers, Multi-vector Computers.
Copyright © 2020 Kurukshetra University, Kurukshetra. All Rights Reserved.