# 智能计算系统

## 课程简介

- 所属大学：中国科学院大学
- 先修要求：体系结构，深度学习
- 编程语言：Python, C++, BCL
- 课程难度：🌟🌟🌟
- 预计学时：100 小时+

智能计算系统是智能的核心物质载体，每年全球要制造数以十亿计的智能计算系统（包括智能手机、智能服务器、智能可穿戴设备等），需要大量的智能计算系统的设计者和开发者。智能计算系统人才的培养直接关系到我国智能产业的核心竞争力。因此，对智能计算系统的认识和理解是智能时代计算机类专业学生培养方案中不可或缺的重要组成部分，是计算机类专业学生的核心竞争力。

国内的陈云霁老师开的课，在其他若干个大学也都有开对应的课程。这门课用一个个实验带大家以一个完整的视野理解人工智能的技术栈。从上层的深度学习框架，到用底层语言编写算子，再到硬件中 MLU 的设计，让大家形成系统思维，体会自上而下，融会贯通的乐趣。

我做了其中的 2,3,4,5 这几个实验，其中综合实验和硬件实验没有做，如果有做了的同学欢迎大家补上你的链接。

个人体会是第三章实现算子的实验让我对深度学习框架的了解加深了很多。第五章的实验BCL语言编写算子如果了解 CUDA 的话会感觉很熟悉。

推荐去买一本教材看一看，会让我们理解整体的技术栈。熟悉深度学习的同学可以直接从第五章开始看，看看深度学习框架底层到底是什么样的。

我因为这门课的启发，参考一本书（书名在仓库中）写了一个简易的[深度学习框架](https://github.com/ysj1173886760/PyToy)。在这个框架里可以看到智能计算系统实验中的一些影子。同时受到 build-your-own-x 系列的启发，我也打算写一下教程，教大家写一个自己的深度学习框架。代码用 Python 写的，代码量较少，适合有一定基础的同学阅读。之后打算添加更多的算子，有望实现一个较为全面的框架，并希望移植到 C++ 中，以兼顾性能与开发效率。

## 课程资源

- 课程网站：[官网](https://novel.ict.ac.cn/aics/)
- 课程视频：[bilibili](https://space.bilibili.com/494117284)
- 课程教材：智能计算系统（陈云霁）

## 资源汇总

### 2024年新版实验

- 2024 年的智能计算系统实验内容对知识体系、实验题目及实验手册进行了大范围的调整，调整内容包括全面使用 PyTorch ，不再使用 TensorFlow 以及添加大模型相关实验等。

- 由于新版实验题目及实验手册未在寒武纪论坛进行更新，因此提供以下存储仓库，用于存储新版智能计算系统的实验题目、实验手册以及个人的实验答案
- 新版实验的资源跟随国科大 2024 年春季学期的课程进度进行更新，预计 2024 年 6 月更新完毕
- @Yuichi 编写的 2024 新版实验题目、手册及答案：https://github.com/Yuichi1001/2024-AICS-EXP

### 旧版实验

- 旧版课程作业：6 个实验(包括编写卷积算子，为 TensorFlow 添加算子，用 BCL 编写算子并集成到 TensorFlow 中等)(具体内容在官网可以找到)
- 旧版实验手册：[实验 2.0 指导手册](https://forum.cambricon.com/index.php?m=content&c=index&a=show&catid=155&id=708)
- 学习笔记：<https://sanzo.top/categories/AI-Computing-Systems/>，参考实验手册总结的笔记(已失效)
- @ysj1173886760 在学习这门课中用到的所有资源和作业实现都汇总在 [ysj1173886760/Learning: ai-system - GitHub](https://github.com/ysj1173886760/Learning/tree/master/ai-system) 中。

