Fractal Gazer開発環境整備が遅れたため全体的に若干遅れが出ているがFractal Gazerのプロトタイプ作成のための準備が着々と進んでいる. まずCPUにおける計算の高速化のため,2次元ベクトル,3次元ベクトルとカラーを扱うためのC++クラスをsimdフレームワークを用いたものに書き直した.また,それを用いて従来用いていたグラフィックスライブラリを全面的に書き直した.これについては実装とテストが終了している.また,CPU計算を並列化するためにDispatchライブラリを用いたテストプログラムを作成し,その評価も済んでいる.並列化による高速化の効果は非常に大きく,フラクタル関連の計算が最大で30倍近く高速化できている.グラフィックスライブラリと関連して,描かれたフラクタル画像を画像ファイルとして保存することも必要となるが,そのためのラスター画像処理ライブラリも合わせてアップデートした. GPUにおける並列計算は,Apple MacコンピュータにおいてはMetalフレームワークを用いて実装することになる.頂点シェーダやフラグメントシェーダを効率よく作成し,高速に実行させるためにも,上で述べたsimdフレームワークを用いたベクトルクラスが役に立つ.現在は,Metalフレームワークを用いたテストプログラムを作成して各種アルゴリズムを評価しているところである.これが終了すれば,全体を統合してユーザインタフェイスを追加することによりFractal Gazerのプロトタイプが完成する予定である.
|