# Computer System Optimizations for ML

- Institution: IISc Bangalore
- Department: Computer Science and Engineering
- Teacher: Prof. Sumit K. Mandal
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106108003)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106108003)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

Increasing complexity of machine learning (ML) algorithms have necessitated the emergence of specialized computer systems. Some ML algorithms are executed at edge, some are executed on the cloud. In this course, we will delve into different computing kernels of both training and inference of ML algorithms and see how they can be efficiently computed. Specifically, we will cover different system optimization techniques for convolutional neural network (CNN), large language models (LLMs) and Graph Neural Networks (GNNs).

Intended audience: Final year UG, Final year PG, PhD

Prerequisites: Computer Organization

## Lectures

1. [Introduction to the course](https://invisiblenetwork.ai/learn/nptel/106108003/b28162653cee) (YouTube)
2. [Neural Networks](https://invisiblenetwork.ai/learn/nptel/106108003/9a4111413111) (YouTube)
3. [Introduction to Convolutional Neural Network - 1](https://invisiblenetwork.ai/learn/nptel/106108003/e20f77fe8136) (YouTube)
4. [Introduction to Convolutional Neural Network - 2](https://invisiblenetwork.ai/learn/nptel/106108003/e340df0bf2a7) (YouTube)
5. [Convolutional Neural Network-1](https://invisiblenetwork.ai/learn/nptel/106108003/195d4720f2e8) (YouTube)
6. [Convolutional Neural Network-2](https://invisiblenetwork.ai/learn/nptel/106108003/433d5caa2c4d) (YouTube)
7. [Convolutional Neural Network-3](https://invisiblenetwork.ai/learn/nptel/106108003/8247a1997cb9) (YouTube)
8. [Canonical CNN Architectures - 1](https://invisiblenetwork.ai/learn/nptel/106108003/2a0cc522cad2) (YouTube)
9. [Canonical CNN Architectures - 2](https://invisiblenetwork.ai/learn/nptel/106108003/b494a73c337b) (YouTube)
10. [CNN Computational Optimization Techniques](https://invisiblenetwork.ai/learn/nptel/106108003/952a471c39f2) (YouTube)
11. [Dataflow for CNN Execution - 1](https://invisiblenetwork.ai/learn/nptel/106108003/1de896cf366c) (YouTube)
12. [Dataflow for CNN Execution - 2](https://invisiblenetwork.ai/learn/nptel/106108003/17cae22ef94f) (YouTube)
13. [CNN Accelerators - 1](https://invisiblenetwork.ai/learn/nptel/106108003/a5ee2fd5902c) (YouTube)
14. [CNN Accelerators 2](https://invisiblenetwork.ai/learn/nptel/106108003/626e3e54e1e4) (YouTube)
15. [CNN Accelerators 3](https://invisiblenetwork.ai/learn/nptel/106108003/2f72ae43cc1d) (YouTube)
16. [CNN Accelerators 4](https://invisiblenetwork.ai/learn/nptel/106108003/6b99f7f98f45) (YouTube)
17. [CNN prunning - 1](https://invisiblenetwork.ai/learn/nptel/106108003/a88566994c8d) (YouTube)
18. [CNN pruning - 2](https://invisiblenetwork.ai/learn/nptel/106108003/551a57a008aa) (YouTube)
19. [Parallelism in CNN - 1](https://invisiblenetwork.ai/learn/nptel/106108003/032337a6ee01) (YouTube)
20. [Parallelism in CNN - 2](https://invisiblenetwork.ai/learn/nptel/106108003/d3244a61354c) (YouTube)
21. [Parallelism in CNN - 3](https://invisiblenetwork.ai/learn/nptel/106108003/5e7fa0deb187) (YouTube)
22. [Parallelism in CNN - 4](https://invisiblenetwork.ai/learn/nptel/106108003/2ad7dabbd4e3) (YouTube)
23. [Parallelism in CNN - 5](https://invisiblenetwork.ai/learn/nptel/106108003/7d1e87225a7d) (YouTube)
24. [LLMs-1](https://invisiblenetwork.ai/learn/nptel/106108003/047a693a0abd) (YouTube)
25. [LLMs-2](https://invisiblenetwork.ai/learn/nptel/106108003/c514c6d4ebc2) (YouTube)
26. [LLMs-3](https://invisiblenetwork.ai/learn/nptel/106108003/194f5e7fe9af) (YouTube)
27. [LLMs-4](https://invisiblenetwork.ai/learn/nptel/106108003/95d439476bdd) (YouTube)
28. [LLMs-5](https://invisiblenetwork.ai/learn/nptel/106108003/6df66b77641d) (YouTube)
29. [LLMs-6](https://invisiblenetwork.ai/learn/nptel/106108003/c1d8b9320d1a) (YouTube)
30. [LLMs-7](https://invisiblenetwork.ai/learn/nptel/106108003/a123d6e693a0) (YouTube)
31. [LLMs-8](https://invisiblenetwork.ai/learn/nptel/106108003/38dc7c026db5) (YouTube)
32. [LLMs-9](https://invisiblenetwork.ai/learn/nptel/106108003/c5942c4a5770) (YouTube)
33. [LLMs-10](https://invisiblenetwork.ai/learn/nptel/106108003/b2f9ce5eb001) (YouTube)
34. [Distributed Service](https://invisiblenetwork.ai/learn/nptel/106108003/715e4e6e6091) (YouTube)
35. [Fault Tolerance](https://invisiblenetwork.ai/learn/nptel/106108003/fc0455a04955) (YouTube)
36. [Fault-Tolerant Training](https://invisiblenetwork.ai/learn/nptel/106108003/665e8d66671a) (YouTube)
37. [Fundamentals of Graph Neural Networks-1](https://invisiblenetwork.ai/learn/nptel/106108003/4b0acc770025) (YouTube)
38. [Fundamentals of Graph Neural Networks-2](https://invisiblenetwork.ai/learn/nptel/106108003/0a0cc6b6d6f8) (YouTube)
39. [Hardware Acceleration of Graph Neural Networks-1](https://invisiblenetwork.ai/learn/nptel/106108003/5ca113ea9554) (YouTube)
40. [Hardware Acceleration of Graph Neural Networks -2](https://invisiblenetwork.ai/learn/nptel/106108003/6963bffa8a6a) (YouTube)
41. [ISSAC, Pipelayer](https://invisiblenetwork.ai/learn/nptel/106108003/2c4878be3a8e) (YouTube)
42. [Pipelayer\[contd.\], Atomlayer, Simulation platform](https://invisiblenetwork.ai/learn/nptel/106108003/0f909318dc7f) (YouTube)
43. [Simulation platform, Area-aware optimization, communication-aware optimization](https://invisiblenetwork.ai/learn/nptel/106108003/1ddc80309e3d) (YouTube)
44. [Communication-Aware optimization, Achieving minimum communication latency](https://invisiblenetwork.ai/learn/nptel/106108003/b958c633a693) (YouTube)
45. [Achieving minimum communication latency](https://invisiblenetwork.ai/learn/nptel/106108003/65a59397b963) (YouTube)
46. [Advanced Hardware Architectures for GNN Acceleration](https://invisiblenetwork.ai/learn/nptel/106108003/34f2876b35c5) (YouTube)
47. [Communication-Aware Pruning for IMC](https://invisiblenetwork.ai/learn/nptel/106108003/1fbb55d6c48e) (YouTube)
48. [Re-Transformer](https://invisiblenetwork.ai/learn/nptel/106108003/72ae96e07b4e) (YouTube)
49. [Performance Evaluation of 2.5D IMC-Based AI Accelerators](https://invisiblenetwork.ai/learn/nptel/106108003/faf950e28085) (YouTube)
50. [Chiplet-Based Heterogeneous Architectures for LLM Acceleration](https://invisiblenetwork.ai/learn/nptel/106108003/b9d3c6e893e2) (YouTube)
51. [Chiplet-Based Heterogeneous Architectures for LLM Acceleration](https://invisiblenetwork.ai/learn/nptel/106108003/dc7ba411b43e) (YouTube)
52. [Performance Characterization](https://invisiblenetwork.ai/learn/nptel/106108003/1d1974fbc8eb) (YouTube)
53. [Performance Characterization of Deep Learning Workloads - Part 1](https://invisiblenetwork.ai/learn/nptel/106108003/abf178d53a78) (YouTube)
54. [Performance Characterization of Deep Learning Workloads - Part 2](https://invisiblenetwork.ai/learn/nptel/106108003/b6edb424f5ab) (YouTube)
55. [Performance Characterization of Deep Learning Workloads - Part 3](https://invisiblenetwork.ai/learn/nptel/106108003/f6dd9aa46ebc) (YouTube)
56. [Introduction to AMD Neural Processing Unit (NPU)](https://invisiblenetwork.ai/learn/nptel/106108003/769e5bc927c4) (YouTube)
57. [Introduction to AMD Neural Processing Unit (NPU)\[contd.\]](https://invisiblenetwork.ai/learn/nptel/106108003/63682f61fd33) (YouTube)
58. [Acceleration of ML operation with GPUs](https://invisiblenetwork.ai/learn/nptel/106108003/16e3b36ffd7e) (YouTube)
59. [Training Large model with limited GPU memory](https://invisiblenetwork.ai/learn/nptel/106108003/c98c6d4ed51d) (YouTube)
60. [Recap of the course](https://invisiblenetwork.ai/learn/nptel/106108003/18fe88cb90a8) (YouTube)
