ATLAS

ATLAS(Automatically Tuned Linear Algebra Software) について少し詳しく記述しておく(楡原正弘君の卒業論文(2001/2)より転載)。

ATLAS は, テネシー大学およびオークリッジ国立研究所の研究者が中心となって 開発された, 各アーキテクチャ用に最適化された LAPACK および BLAS の関数を, 自動的に生成するプログラムである. 現在の最新バージョンは ver3.2.0 である. ATLAS も LAPACK 同様, インターネットにソースプログラムが公開 れており, 容易に入手することが可能である. 連立一次方程式の数値計算は最適化による高速化の成果が非常に大きいが, 今までは, 各アーキテクチャ用に手書きで最適化されたコードを作っていた. これは非常に骨の折れる作業. 人手もかかる. また日進月歩で進化するアーキテクチャに手作業が追いつかない. この問題を回避するために AEOS (Automated Empirical Optimization of Software) という新しい方法論が考えられた. AEOS の考え方の概要は以下のとおりである.

1) もとあるコードの中から, パフォーマンスに関する部分を分ける.

2) 異なった環境にソフトウェアを適応させる方法を用いる

3) ATLAS はAEOS に基づくプログラムである. AEOS に基づくライブラリとしては他に, Phipack , FFTW 等がある.

ATLAS により最適化されるルーチン ATLAS version 3.2 において最適化されるルーチンは, 次のものである.

a) BLAS の すべてのルーチン

b) LAPACK のルーチンのうち以下のもの

(倍精度) dgesv, dgetrf, dgetrs, dposv, dpotrf, dpotrs

ATLAS は, Fortran および C 言語のインターフェースがついており, 両方の言語で利用することができる. 添付されているラッパープログラムを用いることで LAPACK および BLAS を利用している既存のプログラムを書き換えることなく ATLAS によって高速化できる.

以上のまとめのもとになっている原論文は

R. C. Whaley, A. Petite and J. J. Dongarra:``Automated Empirical Optimization of Software and the ATLAS Project (Sep. 2000)

である。


このページのURIはhttp://www.oishi.info.waseda.ac.jp/~oishi/FAQ/atlas.htm

©大石進一

最終更新 2001/6/9