目次

6. Python版

6.1 開発環境

Pythonで記述したOpenSTFです。
ここではCで記述したプログラムを「標準版」と呼びます。
Pythonについては[11]も参考にしてください。

6.1.1 開発環境

以下の開発環境を使用します。[15]~[20]

  1. Python : Python本体です。
  2. NumPy : Python標準の数値計算ライブラリーです。高度にチューニングされています。
  3. Matplotlib : Python標準の図形出力ライブラリーです。高機能な図形出力を簡単に行うことができます。
  4. Numba : Python用のJIT(Just in Time)コンパイラーです。プログラムを高速化します。
  5. Numba CUDA Numbaを用いてGPUで高速に計算するためのライブラリーです。
  6. MPI for Python (mpi4py) :MPIを用いて分散メモリー環境で並列計算するためのライブラリーです。

6.1.2 高速化手法

高速化のために以下の手法を用いています。

Numba
SOR法で用いている差分法はNumPyの配列演算に不向きなのでNumbaにより高速化します。 Cと同様のプログラムで実装することができます。

Numba CUDA
GPUを用いて高速に計算することができます。 CUDAと同様のプログラムで実装することができます。

MPI for Python
分散メモリー環境で並列計算することができます。 CPUとGPUに対応しています。


図6-1-1 Python高速化プログラミングの流れ