CENG 526
High Performance Artificial Intelligence
This course provides the knowledge to understand and leverage high performance computing (HPC) for artificial intelligence applications. It explains fundamental HPC concepts, including parallel programming, distributed computing, and HPC infrastructure. The students will explore common AI workloads and their computational requirements by hands-on exercises, gaining insights into how HPC platforms and parallelism techniques optimize AI model training and inference.
Course Objectives
The primary objective of this course is to introduce the high performance computing (HPC) platforms and techniques to accelerate AI model training and inference. It provides a system-oriented perspective and it guides students through the complete execution workflow of AI applications from hardware architecture and system software to job scheduling, parallel execution, performance measurement, and scalability analysis.
Recommended or Required Reading
Chris Fregly. AI Systems Performance Engineering: Optimizing Model Training and Inference Workloads with GPUs, CUDA, and PyTorch. O’Reilly Media, 2025.
Jordi Torres. Supercomputing for Artificial Intelligence: Foundations, Architectures, and Scaling Deep Learning Workloads. 2025.
Wen-mei W. Hwu, David B. Kirk, Izzat El Hajj. Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann, 2022.
Learning Outcomes
- Explain the parallelism techniques for AI execution.
- Develop and profile AI executions in parallel GPU systems.
- Apply compiler and inference engine optimizations.
- Apply fundamental system-level optimization techniques for AI executions.
| Week | Topics |
| 1 | Introduction and artificial intelligence system overview – Basic components of AI software, evaluation of AI systems performance, benchmarking and profiling |
| 2 | Operating system support and HPC infrastructure for artificial intelligence – OS-level, networking, and storage optimizations for GPU-based AI systems, Docker container and Kubernetes orchestration |
| 3 | Computer architecture and GPU systems – Computer architecture review, GPU architecture basics |
| 4 | Artificial intelligence hardware – NVIDIA AI system hardware, SIMD execution units |
| 5 | CUDA programming – Compute – NVIDIA CUDA programming fundamentals and CUDA-kernel optimizations |
| 6 | CUDA programming – Memory – Optimizations for memory-bound AI computations, FlashAttention, Multi-head Latent Attention |
| 7 | MIDTERM EXAM |
| 8 | Deep learning frameworks (TensorFlow and PyTorch) – Practical examples for developing AI applications |
| 9 | Profiling and tuning AI GPU executions – Profiling tools to evaluate GPU execution and resource utilization, CUDA and PyTorch optimization techniques to align data structures for efficient memory access, eliminate redundant data loads, and overlap data transfers with computation |
| 10 | GPU execution pipelining – CUDA streams, advanced CUDA techniques such as warp-specialized pipelines, cooperative groups with grid-level synchronization, persistent kernels |
| 11 | Compiler support for artificial intelligence – Basics of dynamic PyTorch compilation stack, how torch.compile works |
| 12 | Multinode parallelism – Distributed computing basics, methods to split the inference workload into stages that can run on multiple GPU nodes |
| 13 | Inference engine optimizations – Methods to accelerate AI inference implemented in inference servers, practical examples with vLLM, tensorRT |
| 14 | Paper presentations – Academic paper presentations by the students |
Homeworks: 20%
Project: 20%
Midterm Exam: 20%
Final Examination: 40%
Instructor(s)
- CENG 500
- CENG 501
- CENG 502
- CENG 503
- CENG 504
- CENG 505
- CENG 506
- CENG 507
- CENG 508
- CENG 509
- CENG 511
- CENG 512
- CENG 513
- CENG 514
- CENG 515
- CENG 516
- CENG 517
- CENG 518
- CENG 521
- CENG 522
- CENG 523
- CENG 524
- CENG 525
- CENG 531
- CENG 532
- CENG 533
- CENG 534
- CENG 541
- CENG 542
- CENG 543
- CENG 544
- CENG 551
- CENG 552
- CENG 555
- CENG 556
- CENG 557
- CENG 561
- CENG 562
- CENG 563
- CENG 564
- CENG 565
- CENG 566
- CENG 567
- CENG 568
- CENG 590
- CENG 608
- CENG 611
- CENG 612
- CENG 613
- CENG 631
- CENG 632
- CENG 641
- CENG 642
- CENG 643
- CENG 651
- CENG 661
- CENG 662
- CENG 663

