LINPACK
HPLはHPLinpackをC言語で実装したもので、本来はガイドラインとして書かれたものだが、TOP500でも広く使われている。なお、HPL以外のテクノロジーやパッケージを使うことに問題はない。HPLはn次の線型方程式系を生成し、部分ピボット選択によるLU分解でそれを解く。使用するにはMPIとBLASまたはVSIPLをインストールしておく必要がある。
大まかに言えば、このアルゴリズムには次のような特徴がある。
2次元ブロックで周期的データ配布を行う。
様々な深さの先読みを伴う right-looking 法の一種を使ったLU分解
再帰的パネル分解
パネルブロードキャストには6種類の方式がある。
帯域幅を低減するスワップ・ブロードキャスト・アルゴリズム
深さ1の先読みを伴う後退代入
MINPACK、EISPACK と同様、米国アルゴンヌ国立研究所でFORTRANライブラリとして開発された。実際に開発を行ったのは ジャック・ドンガラ、ジム・バンチ、クリーブ・モラー、ギルバート・スチュアートである。1970年代から1980年代初期のスーパーコンピュータを対象として設計され、その後より洗練されたライブラリLAPACKに取って代わられた。
LINPACK は BLAS(Basic Linear Algebra Subprograms、基本線形代数サブプログラム群)ライブラリを使ってベクトル演算や行列演算を行う。
後述するLINPACKベンチマークは、LINPACKのユーザーズマニュアルの一部として公開されたのが最初である。