异构硬件
Multi-GPU Programming with Standard Parallel C++, Part 1
NVIDIA CUDA Programing Guide 2.0 Final
- 看起来nv在2008年cuda接口就基本稳定了
WinnieS的微博:图书推荐
- 手把手教你设计CPU--RISC-V处理器
- RISC-V架构与嵌入开发快速入门
M1 CPU 那么多的核,macOS 是怎样管理的?
- MacOS的E核(Efficiency Core)和P核(Performancs Core的调度策略)
- 应用程序通常由 Grand Central Dispatch 使用 QoS 管理
- 最低 QoS 线程只在 E 集群上运行
- 用户进程优先分配P核,过多后再分配E核
- 引导或者更新后,系统可能处于单E核运行状态
深入理解混合精度训练:从 Tensor Core 到 CUDA 编程
- 介绍tensorcore的调用接口
- cuda warpper接口
- cudnn封装接口
OpenSource GPU
- veriGPU, 基于RISC-V ISA的verilog GPU开源项目
CUDA多个流的使用
- cuda多stream编程示例
- 其他多stream教程
SmartNICs to xPUs – Why is the Use of Accelerators Accelerating?
- 会议:2022-05-20
CPU缓存一致性协议- 深入理解内存屏障
- CPU缓存一致性协议解析
FPGA并行编程
- FPGA编程;Parallel Programming for FPGAs的中文翻译版
CPU性能和Cache
- CPU性能介绍, 作者是plantgg
- CPU的制造和概念
- 十年后数据库还是不敢拥抱NUMA
CPU相关书籍推荐和部分芯片微架构
- CPU相关图书推荐; 另有多张CPU架构图片(如RISC-V)
Tensil tutorial for YOLO v4 Tiny on Ultra96 V2
- 在FPGA上实现了一个深度神经网络
讲座:开源,让天下没有难做的芯片
- 包云岗; 香山RISC-V; 芯片简介; 内有视频
Nvidia MPS 总结
- MPS: Multi-Process Scheduling
- 多个进程向驱动提交指令, 驱动只有一个队列, 减少context切换导致的性能损失
CPU和GPU线程概念的异同(英文)
- 相同点
- 都有程序计数器/线程ID/计算单元等内容
- 不同点
- GPU线程必须执行相同指令流, 处理的数据可以不相同
- CPU线程上限受限于从内存中读取的指令数据数量, GPU没有此限制, 所以线程数大于CPU
- GPU中对于只访问一次(没有数据依赖)的尽量不用for循环
- Nvidia CUDA C++ 编程指南
- CUDA 汇编参考手册
图书: The Art of Multiprocessor Programming
Everything You Need to Know About the NVMe® 2.0 Specifications and New Technical Proposals: NVMe 2.0
NVMe® Key Value Command Set Provides the Key to Storage Efficiency: blog, NVMe KVS
- Rust for Linux | 用 Rust 写 Linux 内核模块: 微信
- OneAPI documnents: docs, Intel Libs Documents, sycl docs, DPC++ books
NVIDIA CUDA
教程
- GPU development with Python 101 Tutorial: 用Python开发GPU程序
- TRAINING VS INFERENCE – NUMERICAL PRECISION: blog, AI训练和推理中的数据精度, 好文系列
使用技巧
bash
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
* CUDA_VISIABLE_DEVICES="0,1,2"可以控制使用的卡
* Train With Mixed Precision: doc, pdf, NV混合精度训练文档, 中文翻译版csdn
* TorchScript GELU error: issue, torch版本问题, 需要NV官方dockernvcr.io/Nvidia/pytorch:21.12-py3
以后能解决, 也可以将镜像内/opt/下的torch及编译的依赖库拷贝出来编译安装
* NVIDIA Deep Learning Frameworks: doc, NV支持的深度学习库更新的release note
* NVIDIA AI Platform Delivers Big Gains for Large Language Models: blog, NV加速大型语言模型训练,最多有30%
* pytorch cuda kernel gelu: gelu的pytorch实现
* Nvidia profiling工具
* nvprof, 另外还有nsys
文件列表
- 04.Hardwares