Recently found useful webinars on the Internet about computer architecture, including GPUs.
最近、Nvidia 社が新しい Jetson Nano 開発キット(NVIDIA Jetson Orin Nano Developer Kit)を発表するなど、機械学習のための組込設計マイコンボードの話題に事欠きませんが、GPU だけでなく、古典的な SIMD アーキテクチャを含めて、機械学習のためのコンピュータアーキテクチャについて基本からきちんと勉強し直してみたい、とお考えの技術者の皆様は多いのではないでしょうか。
Nvidia 社の CUDA を学ぼうと思えば、同社が公開している技術資料やチュートリアルはもちろん有益なのでしょうが、世界中の研究者が中立的な視点で解説している技術ウェビナー(講義)はないかと、ずっと探しておりました。
私が最近見つけたのが、(3年ほど前のもので少し古いのですが)以下の講義(ウェビナー)群です。
これは、スイス連邦工科大学チューリッヒ校(Eidgenössische Technische Hochschule Zürich)が公開しているもので、2時間を超える講義が、24コマにもわたって網羅されています。無償でこれだけ内容の濃い講義を視聴できるものは、それほど多くはないでしょう。
追記: 同校のウェブサイトをよく調べてみたら、2022年版の講義も公開されていました。御参考ください。
さらに、こちらのサイトには、他のコースも多く網羅されています。昔だったら、日本に住みながらスイス連邦工科大学の講義を(無償で!)聴講できるなどあり得ないことでした。学習意欲のある学生、研究者、若手技術者にとって、本当に素晴らしい時代になったものだと思います。
以下に、タイトルを列挙してみます。
- L1: Introduction and Basics
- L2a: Memory Refresh
- L2b: Course Logistics
- L3: Memory Trends, Challenges, and Opportunities
- L4a: Memory Solution Ideas
- L4b: RowHammer
- L5: Accelerating Genome Analysis
- L6a: RowHammer II
- L6b: Computation in Memory
- L7: Computation in Memory II
- L8: Computation in Memory III
- L9a: Simulation
- L9b: Low-Latency Memory
- L10: Low-Latency Memory
- L11: Recent DRAM Research I Described
- L11b: D-RaNGe: True Random Number Generation with Commodity DRAM
- L11c: Voltron: Reduced-Voltage Operation of Commodity DRAM Devices
- L11d: Eden: Energy-Efficient High-Performance DNN Inference with Approximate DRAM
- L12: Recent DRAM Research II Described
- L12a: EIN: Understanding and Modeling Error Correction in DRAM
- L12b: SoftMC: Flexible and Open-source Memory Controller
- L12c: CROW: Improving DRAM Performance and Energy Efficiency Using Copy Rows
- L12d: SMASH: Hardware-software Co-design for Sparse Matrix Compression
- L13a: Memory Controllers
- L13b: Memory Interference and Quality of Service
- L14: SIMD Processors and GPUs
- L15: Memory Interference and Quality of Service II
- L16a: Memory Interference and Quality of Service Wrap Up
- L16b: Emerging Memory Technologies
- L17: GPU Programming
- L18: Prefetching (Guest Lecture by Stephan Meier)
- L19a: Emerging Memory Technologies II
- L19b: Heterogeneous Computing Systems
- L20: Bottleneck Acceleration
- L21a: Multiprocessing
- L21b: Memory Ordering (Memory Consistency)
- L22: Cache Coherence
- L23: Interconnects
- L24: Interconnects II
個人的には、L14: SIMD Processors and GPUs と L17: GPU Programming を、集中して視聴してみたいと思いました。
最近は、組込プロセッサ SoC による(いわゆる)エッジ ML(機械学習)推論技術に関して、TensorFlow Lite、TensorRT の性能に関するベンチマークが多く見られます。しかし私としては、コンピュータアーキテクチャ、マイクロアーキテクチャに関する理解なしでは、そのようなベンチマークに関する議論は有益なものとはならないように感じています。
機械学習の訓練(トレーニング)や推論において、どのような演算処理が必要で、どのようなアルゴリズムが提案されているかを正しく知り、同時に、そのような演算処理やアルゴリズムに対して、どのようなコンピュータアーキテクチャ、メモリアーキテクチャが有用なのかという、理論的な考察がもう少しなされてきても良いのではないか、と私は考えています。
正直申し上げて、コンピュータアーキテクチャに関する私の知識も古くなってきているので、今後も勉強を続けていきたいと考えています。