最近見つけた、コンピュータアーキテクチャに関する素晴らしいウェビナー(Computer Architecture, ETH Zürich, Fall 2019)

投稿者: | 2023年4月17日

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 の性能に関するベンチマークが多く見られます。しかし私としては、コンピュータアーキテクチャ、マイクロアーキテクチャに関する理解なしでは、そのようなベンチマークに関する議論は有益なものとはならないように感じています。

機械学習の訓練(トレーニング)や推論において、どのような演算処理が必要で、どのようなアルゴリズムが提案されているかを正しく知り、同時に、そのような演算処理やアルゴリズムに対して、どのようなコンピュータアーキテクチャ、メモリアーキテクチャが有用なのかという、理論的な考察がもう少しなされてきても良いのではないか、と私は考えています。

正直申し上げて、コンピュータアーキテクチャに関する私の知識も古くなってきているので、今後も勉強を続けていきたいと考えています。