Amber を研究の基礎として安心してご活用いただけるように、豊富な機能を盛り込んでコンパイルし、Amber規定の動作テストと速度検証を行って問題ないことを確認した上で、その報告書も同梱して納品しております。
2024年3月25日時点で最新の、弊社検証済みでセットアップ可能なAmberは、弊社で出荷するRHEL / AlmaLinux 8.7搭載計算機向けにインテルoneAPI Base & HPC Toolkit(以下、oneAPI)およびGCCでビルドを行った、Amber22 CPU版およびGPU版です。
Amberのビルド時に、利用可能な関連機能を可能な限り多く盛り込むようにするべく、次のソフトウェアを組み込み済みです。
弊社では、AmberおよびAmberToolsの公式テスト結果に対する弊社の合否判定基準を独自に設けております。一つは、下記の各テストの結果で「file comparisons failed」の個数が一定個数以下に収まっていることです(具体的な個数は後述のバイナリ仕様書に記載しています)。これは、経験上0個にすることが極めて困難であるという知見があるため(*)で、出力数値がずれる可能性を出来る限り小さくするという観点で設けております。もう一つは「tests experienced errors」が0個であることです。この出力は動作中に異常終了したことを示すものですので、動作安定性の観点から0である必要があります。
(*) Amber22+AmberTools22の組み合わせですが、Amber公式サイトのCPUテスト結果・GPUテスト結果を見ても「file comparisons failed」の数が0になっていないものが多数あります。
make test.serial
make test.parallel
make test.cuda.serial
make test.cuda.parallel
詳細につきましては、納品物に同梱いたしますバイナリ仕様書(後述)をご参照ください。
下記2件の問題を察知し、出荷前に対処を完了しました。
上記バイナリには、開発に用いた機材のバージョン、動作検証環境のスペック、テスト内容とテスト結果の詳細、既知の不具合(もしあれば)を記載したバイナリ仕様書(PDF)を /opt/hpcs/app_doc 以下に同梱しています。それは、Amberを「研究装置」として見たときの、言わば、「装置の品質検査報告書」です。弊社でビルドしたAmberがご研究の基礎として安心してご活用いただけることを裏付ける資料となります。バイナリの検査内容について気になった際には、いつでもご参照ください。
バイナリ仕様書の表紙
平日9:30~17:30 (土曜日、日曜日、祝祭日、年末年始、夏期休暇は、休日とさせていただきます。)
HPCシステムズがビルドしたAmberの特徴
Amber を研究の基礎として安心してご活用いただけるように、豊富な機能を盛り込んでコンパイルし、Amber規定の動作テストと速度検証を行って問題ないことを確認した上で、その報告書も同梱して納品しております。
セットアップ可能なAmberの概要
2024年3月25日時点で最新の、弊社検証済みでセットアップ可能なAmberは、弊社で出荷するRHEL / AlmaLinux 8.7搭載計算機向けにインテルoneAPI Base & HPC Toolkit(以下、oneAPI)およびGCCでビルドを行った、Amber22 CPU版およびGPU版です。
組み込み済みのソフトウェア/機能
Amberのビルド時に、利用可能な関連機能を可能な限り多く盛り込むようにするべく、次のソフトウェアを組み込み済みです。
テスト項目とテスト結果
弊社では、AmberおよびAmberToolsの公式テスト結果に対する弊社の合否判定基準を独自に設けております。一つは、下記の各テストの結果で「file comparisons failed」の個数が一定個数以下に収まっていることです(具体的な個数は後述のバイナリ仕様書に記載しています)。これは、経験上0個にすることが極めて困難であるという知見があるため(*)で、出力数値がずれる可能性を出来る限り小さくするという観点で設けております。もう一つは「tests experienced errors」が0個であることです。この出力は動作中に異常終了したことを示すものですので、動作安定性の観点から0である必要があります。
(*) Amber22+AmberTools22の組み合わせですが、Amber公式サイトのCPUテスト結果・GPUテスト結果を見ても「file comparisons failed」の数が0になっていないものが多数あります。
make test.serial)make test.parallel)make test.cuda.serial)make test.cuda.parallel)詳細につきましては、納品物に同梱いたしますバイナリ仕様書(後述)をご参照ください。
ビルド時に発覚した問題とそれに対する試行錯誤・対処
下記2件の問題を察知し、出荷前に対処を完了しました。
【問題概要】 oneAPIを用いて通常のGPU版のビルドを行うと、内部で参照されるQUICKのリンクエラーが発生しました。
【影響度:大】 GPU版バイナリを作成できません。
【原因究明】 コンパイラオプションを性能優先から保守的に変更してみましたが解決しませんでした。またコンパイラのバージョンとCUDAのバージョンを変えてみましたが解決しませんでした。Amberメーリングリストによると、このエラーはインテルコンパイラを用いてGPU版をビルドする際に起こるバグであること、および、他のコンパイラでビルドをおこなうかQUICK機能を無効にすることで対応できると記載されていました。そこでコンパイラをGCCに変更したところエラーなくビルド出来ることを確認しました。
【対処策】 GCCで調製したバイナリを納品いたします。
【問題概要】 Amber公式のベンチマークインプットを用いて速度検証を行った結果、GCCでビルドしたCPU版バイナリの計算速度が、oneAPIでビルドしたCPU版バイナリよりも遅いと判明しました。
【影響度:小】 AmberのGPU版をご利用の場合、多くの計算をGPU版で実行する可能性が高いと予想されますが、GPU版で対応していない計算も一部あるため、そういった場合にCPU版バイナリが使われる可能性があります。
【原因究明】 GCCビルドバイナリについて、コンパイラオプションの変更を中心として、計算精度を保持したまま速度向上ができないか調査を行いました。しかし、残念ながらパフォーマンスの改善が難しい事が判明しました。このことから、oneAPIからGCCへのコンパイラの変更が主原因であり、解消は難しいと判断しました。
【対処策】 GCCで調製したバイナリとともに、oneAPIで調製したCPU版バイナリも同梱し、選択的にご利用いただけるように致しました。
バイナリ仕様書をいつでも参照いただけます
上記バイナリには、開発に用いた機材のバージョン、動作検証環境のスペック、テスト内容とテスト結果の詳細、既知の不具合(もしあれば)を記載したバイナリ仕様書(PDF)を /opt/hpcs/app_doc 以下に同梱しています。それは、Amberを「研究装置」として見たときの、言わば、「装置の品質検査報告書」です。弊社でビルドしたAmberがご研究の基礎として安心してご活用いただけることを裏付ける資料となります。バイナリの検査内容について気になった際には、いつでもご参照ください。
バイナリ仕様書の表紙
関連情報