はじめに

本ライブラリは以下のような特徴をもっています。

インストール時最適化の枠組みで、密行列積をおこなう際の性能安定性に関するパラメタを自動設定します。具体的には密行列を再帰分割し、再帰段数の自動設定を行っています。計算コアでは、BLASライブラリをコールしています。特徴として、1CPUマシンにおいては複数のサンプリング点、SMPマシンにおいては以下の3つのサンプリング点を使用しています。

(1) L1キャッシュより大きい最小のサンプリングデータサイズ
(2) L3キャッシュより小さく最大のサンプリングデータサイズ
(3) L3キャッシュより大きく最小のサンプリングデータサイズ

この3点から、SMPマシン向けの自動チューニングを実現しています。

SMPマシンは、以下のチューニング効果が期待されます。

(1) 並列化による性能向上
(2) 行列サイズに依存する性能不安定性の改善

1CPUマシンには、(1)のチューニング効果が期待されます。

上記で述べた自動チューニング方式を、AutoTuned-RB (Automatically Tuned Recursive BLAS) と呼びます。

AutoTuned-RBでは、本来全てのBLASに関してチューニングする事が可能ですが、トライアル版(試用版)として、ATLAS BLASのみ対象となっています。

使用環境は以下の通りです。

(1) 1CPU、SMPマシン
(2) BLASが使用できるOS
(3) Cコンパイラ
(4) Posix Thread

L3キャッシュを搭載しているマシン向けに最適化をかけていますが、L1、L2キャッシュ搭載マシン向けの最適化も行っています。

なお本試用版は、多くのユーザに利用してもらうことで、ユーザビリティの改善、バグの発見と修復、および新規開発事項への反映、を目的にリリースされるものです。

したがってマニュアルにおいての説明不備、低いコードのリーダビリティ、および突然の仕様変更、などの問題が生じる可能性があることをご理解ください。

また何かお気づきの点がありましたら、お気軽に著作者までご一報くださいますようお願い申し上げます。