【Pythonで学ぶ 】CUDA プログラミング入門
Google Colab で始める PyCUDA プログラミング
Description
背景
最近、GPU(Graphics Processing Unit)やHPC(High Performance Computing)といったキーワードをよく耳にしませんか?
実はこのGPUやHPCを支えている1つのキーテクノロジーがCUDA(Compute Unified Device Architecture)です。
CUDAとはNVIDIAが提供しているGPGPUのプログラミング開発環境です。
CUDAを使う事で、通常の計算にGPU並列処理を行う事が可能になり、CPU1コアで行う逐次処理に比べて10~100倍程度の高速化を見込めます。つまり、一昔前のスーパーコンピューターのような環境をGPUを使えば誰でも手軽に用意することが出来ます。
CUDAはC言語を拡張したCUDA Cを使うのが一般的ですが、CUDA CではC言語でのメモリ管理をする必要があるため、プログラミングの手間がかかります。
そこで、CUDA CのラッパーライブラリであるPyCUDAを使う事でPythonからCUDAを取り扱うことが出来ます。
PythonからCUDAを使えるとCUDA Cで面倒なメモリ管理が楽になるだけでなく、ファイル入出力や可視化もPythonのライブラリが利用できるので非常に多くのメリットを持ちます。
本コースとは
本コースは、PyCUDAを使ったGPU並列計算の入門講座です。
CUDAを取り扱うには、CUDAだけの知識ではなく、ハードウェアやソフトウェアの両方の知識を持っていた方が望ましいです。
この為、本コースではまずGPUとは何か?から始め、GPU周辺のハードウェアの知識(マザーボード/メモリ/GPUの性能指標)やCUDAの基礎的な用語(thread / block / grid / warpなど)で基礎を固めます。
そして、Google Colabを使った開発環境で実際のPyCUDAでのGPUプログラミングの基礎を学習していきます。
Google ColabはGoogleの提供する無料のPythonインタラクティブ環境ですが、実はGPUでの計算も対応しています。
この為、本コースはGPUをお持ちでない受講生の方も受講する事が可能になっています。
受講要件
本コースの受講要件は
・Pythonのプログラミングスキル
・数値計算の知識(*こちらは必須ではありません)
の2つです。このうち、最低限必要なのはPythonのプログラミングスキルのみです。
PyCUDAプログラミングを身に付けて、皆さんの計算を劇的に高速化しませんか?
まずはコースの概要だけでも見ていっていただければ幸いです。
What You Will Learn!
- Pythonを用いたCUDAプログラミング
- HPCやGPUプログラミングを始めるための基礎知識
- Google Colabを使ったGPUでのプログラムの実行方法
Who Should Attend!
- GPUを用いた並列計算に興味のある研究者・技術者
- CUDAプログラミングをしてみたいPythonプログラマー