高性能計算プログラミング

幸谷智紀

第一部:Pythonによる方程式求解プログラミング

「Python数値計算プログラミング」サポートページ

  1. Pythonプログラミングの基礎
  2. NumPyとmatplotlib
  3. 代数方程式を解いてみる(1) 2次方程式まで
  4. 代数方程式を解いてみる(2) n次方程式は解けるか?
  5. 非線形方程式を解いてみる(1) Newton法とSciPy.opt
  6. 連立一次方程式を解いてみる(1) 密行列に対する直接法
  7. 非線形方程式を解いてみる(2) Jacobi行列とNewton法
  8. 常微分方程式を解いてみる(1) 初期値問題
  9. 常微分方程式を解いてみる(2) 境界値問題
  10. 連立一次方程式を解いてみる(2) 疎行列に対する反復法
  11. 偏微分方程式を解いてみる(1) 熱方程式
  12. 偏微分方程式を解いてみる(2) Poisson方程式
  13. 最終課題:ベンチマークテストと高性能化

第二部:C/C++によるコンソール版高性能計算プログラミング

「LAPACK/BLASプログラミング」サポートページ
「多倍長精度数値計算」サポートページ

  1. 高性能計算とは? コンピュータにおける「演算」
  2. 浮動小数点演算:低精度から高精度まで
  3. C/C++プログラミング基礎と高速化(並列化)手法
  4. LAPACK/BLAS演習(1) BLAS1, BLAS2, BLAS3
  5. べき乗法とOpenMPによる並列化
  6. LAPACK/BLAS演習(2) 連立一次方程式
  7. 逆べき乗法
  8. LAPACK/BLAS演習(3) 標準固有値問題
  9. 多倍長精度演算: QDとmpreal
  10. MPLAPACK/MPBLAS演習:べき乗法,逆べき乗法の多倍長精度実装
  11. 混合精度反復改良法の実装
  12. BNCmatmulと混合精度反復改良法の高性能化
  13. 最終課題:行列指数関数exp(A)の実装

第三部:Web上でのWASM+Node.js高性能計算プログラミング  

  1. Web上でのHPC:サーバサイド(Flask, PHP + C++)からクライアントサイド(WASM)へ
  2. Webプログラミングの基礎(1): HTML, CSS, JavaScript
  3. Webプログラミングの基礎(2): DOMとJavaScript
  4. Node.jsとexpressフレームワーク
  5. SQLiteとNode.js
  6. WASM演習(1) WASMとJavaScript
  7. WASM演習(2) Emscripten開発環境
  8. LAPACK/BLAS on Web演習(1): べき乗法と逆べき乗法
  9. LAPACK/BLAS on Web演習(2): exp(A)の実装
  10. GMP, MPFR on Web演習
  11. BNCmatmul on Web演習(1) べき乗法と逆べき乗法
  12. BNCmatmul on Web演習(2) 混合精度反復改良法
  13. 最終課題:ベンチマークテストツールの作成