taichiのトリセツ② ~初期化~


このシリーズについて

taichiというpythonで使えるグラフィックのライブラリに最近ハマっているので、使い方をまとめてます。シリーズの目次はこちら

初期化について

今回はtaichiを使ったプログラムで、必ず実行する初期化の処理のやり方についてまとめてみました。具体的には計算に使うアーキテクチャとデザインを描写するフィールドを初期化します。

手順

今回も前回と同じくfractal.pyという公式が用意してくれているデモプログラムを使って説明してきます。まずは計算に使うアーキテクチャの初期化です。下のコードのti.init(arch=ti.gpu)のところですね。CPUを使う場合は、ti.cpuとすれば大丈夫みたいです。

fractal.py
import taichi as ti

ti.init(arch=ti.gpu)

n = 320
pixels = ti.field(dtype=float, shape=(n * 2, n))

# 以下省略

gpuのバックエンドをcudaなどに指定もできるみたいです。ti.gpuとしておけば、バックエンドは自動的に見つけてくれるみたいですが。以下の様な感じです。

もう1つの初期化としては、fieldの初期化をします。taichiでは作成したデザインが描写される場所をfieldと呼ぶそうです。このfieldの大きさはshapeに代入する値で変更することが出来ます。ti.field()で初期化すると上のコード(fractal.py)のpixelsにはfloat型の0がfieldの大きさに合わせて入れられます。出来たフィールドに、その後の処理による数値を入れていくという流れになります。

まとめ

次はfunctionとkernelについてまとめようと思います。

間違いや質問、ご意見等ありましたらお気軽にコメントください。頑張って答えますので(笑)。