彼のガールフレンドの前に> == HPL&HPCCソフトウェアクイックインストールスクリプトを書いて、その後、使用するすべての人のために、インターネットに送信され、ここでリンク
書き込みのプロセスに関する記録だけでなく、収穫の一部を。
1. HPCCまたはHPLは何ですか?
これら二つのもので、本質的にベンチマーク(実行サブツール)は、コンピュータのパフォーマンスをテストするために使用されます。しかし、これら二つの違いと「エンターテインメントの第一人者」は、これら二つのものという高性能コンピュータの並列コンピューティングパワーの主要な尺度です。
どちらも非常に密接に関連して、私は理解HPCC
のためのHPL
拡張パック、HPCC
ライブラリに直接使用しHPL
た最新のHPCC-1.5.0
使用HPL-2.0
した後、2016年に立ち上げた(HPCC
より良いベンチマークソフトがあることを推測するために更新され続けていません。
HPL:高性能のLinpack
用語の意味を表すLINPACK(線形システムパッケージ)を、線形システムのパッケージコンピュータ員Nはガウスの消去法を使用して、密な線形方程式を解くように、浮動小数点性能は、コンピュータによって評価しました。
HPCC:HPCチャレンジ
名前が示すように、ベンチマーク評価ツールを含め、他のいくつかの方法を統合し、パッケージ化されています
2.どのようにインストールするには?
我々は両方のインターネットのソースコードを取得した後、実行可能ファイルを取得するには、コードをコンパイルする必要がありますすることができます。今回はそれが問題を作成しました -
私たちは通常、直接の問題など、ソフトウェアの実行可能ファイルを使用するように理由だけで、荷造りありませんか?
両者は、コンピュータソフトウェアの動作性能を評価するために設計された専門性の高い、と密接に最高の結果を再生するために、コンピュータの環境を統合する必要がありますされているためです。実際には、HPL
解凍した後、我々はの存在のルートで見つけることができconfigure
、自動的に環境を検出し、コンパイルすることができ、ファイル、。しかし、オペレーティング・システムを構成する必要がある、ある一つの条件があり、HPL
必要なすべての環境変数が。
あなたが私たちの艦隊でファイルを実行すると、それは艦隊のためにCPUを検出します
Intel Xeon E5-2620
コンパイルしようMake.Linux_Intel64テンプレートを使用し、それが必要で見つからないMKL
ライブラリを、コンパイラは失敗します。そうでもない私たちの環境変数ではありませんMKL
が、理由は異なるバージョンの、バージョン番号の場合、その結果はとディレクトリとして認識されていません。乗り、たとえば、テンプレートは、それが行くべきだと思うされSOFTWARE
、そして我々の艦隊ディレクトリSOFTWARE-2.0
我々は、すべてのことを知っているHPL
ために、パッケージが正常にコンパイルするには、システムの持っている必要がありMPI
、環境を、基礎となる線形代数サブプログラムのパッケージがあるBLAS
のサポート(またはベクトル信号画像処理ライブラリVSIPL
)だけでなく、いくつかの基本的なツールgcc
、gcc-gfortran
ようにしては。
必要な環境
ビルド環境の場合は、一般的な組み合わせがあります
- メーカーXE + HPLパラレルインテル(インテル®コンパイラーインテルMKL + Intelベース+ MPI)
インテルキットは数学ライブラリ(MKL)を含み、およびインテルMPI(例えば、ICC、gccのような)様々なコンパイラを。
また、そのインストールディレクトリにインテルのインストールキット、mkl/benchmarks/linpack
およびmkl/benchmarks/mp_linpack
フォルダは、LINPACKをコンパイルし、テストスクリプトを直接使用することができます。- HPL + ACML + GNUコンパイラOpenMPIの+
ACMLは、AMDのCPUのために、AMDにより導入されました。- HPL + GNUコンパイラなどLAPACK + BLAS + OpenMPIの数学ライブラリ
数学ライブラリ:BLAS / LAPACKのような
缶、上述もOpenMPIのMPICHに使用されます
私たちの艦隊があるのでIntel Xeon E5-2620
、CPUのように使用しIntel
、最も適切なソリューションを提供しています。
私たちがあるディレクトリ/home/train/stuxx
に/train
ディレクトリには、あなたがの存在を発見することができbashrc
、ファイルを
# .bashrc
# source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
source /opt/intel/composer_xe_2015.1.133/bin/compilervars.sh intel64
source /opt/intel/impi/5.0.2.044/bin64/mpivars.sh
source /opt/intel/mkl/bin/intel64/mklvars_intel64.sh
私たちは、端末の起動時にファイルというファイルショーの内容を表示し、3つの実行.sh
ファイルを、この3つのファイル彼らは、ランタイムのベースになるというショーを見るMPI
、MKL
環境変数に書かれていました。
これは私の兄弟が何を意味するのでしょうか?
私たちは理解していない混乱をダウンロードするためにオンラインにする必要がないことを、この手段はBLAS
、CBLAS
このMPI MPIそれは、我々はそれに既存の艦隊を使用します。
メッセージを挿入し、私はインテルの初期の公式を使用してみ
MKL-2020
た結果の2020
バージョン、実際にすることはできませんRHEL 6(我们机群的操作系统)
実行し、唯一のRed Hat 7の将来のバージョンで実行することができます。2019
はい、今のマシンが、また、ダウンロードする必要はありませんと。
コンパイルファイルの変更
今、あなたはこれらを知っている限り、に応じてsetup/
テンプレートのディレクトリMake.Linux_Intel64
パスが少し位置を変更し、あなたは私たちがしているので、(私は、前に言ったようにコンパイルすることができますE5-2620
(専用サーバU)の時は、その選択はほとんどというIntel64
ネットワークチュートリアルのこの部分での多く、また、単にいくつかの変更のリストだけを言って、ここで、非常に慎重に話します。
ARCH = sduwhhpl #改成你想取的名字,随便什么都行
TOPdir = $(HPL_HOME) #HPL的目录,这个HPL_HOME变量是我定义的,下面有详细讲解
MPdir = $(I_MPI_ROOT)#MPI的目录
LAdir = $(MKLROOT) #MKL的目录,其实这个不用改,本来就是这个,我只是放在这说明比较重要
本当にそうする彼の手と一緒にオンラインチュートリアルを見ていない、これらを変更する、なぜ、各ステップを理解し、それを行うには、彼らのマシン環境を組み合わせることをお勧めします。私たちの環境の多くが設定されているので、オンライン変更輝いたがミスを犯した(いくつかのアカウントの操作は、環境変数の変更につながる見つけ重いのimport文の第二のバージョンのスクリプトで環境変数を追加するので)
より興味深いがあり、これをあるTOPdir
このディレクトリは、HPL
このディレクトリを呼ぶ多くの操作を以下のディレクトリ、。私たちは、彼の実行ディレクトリがある知っている../stuxx/201800xxxxxx/
私たちは、渡されたパラメータとして、学生番号を入力するたびに使用したくない、下が、みんなの学生数は同じではありません。その後思ったが、それは一時的な環境変数を追加しHPL_HOME
、以下のように、:
HPL_HOME=$(pwd) #以当前所在目录作为值,其实就是你学号的目录
export HPL_HOME
source /etc/profile
unset HPL_HOME #销毁变量
HPCCピット
HPCC
コンパイルプロセスは、実際にコンパイルされHPL-2.0
、ノートへの唯一のいくつかのポイントのプロセス:
TOPdir = ../../.. # HPL的目录不要改动,就用这个(因为本身是集成了HPL,它自己知道在哪
# 下面这两个需要注意,后面加上-std=c99,见下方解释
CCFLAGS = $(HPL_DEFS) -O3 -w -ansi-alias -i-static -z noexecstack -z relro -z now -nocompchk -Wall -std=c99
LINKFLAGS = $(CCFLAGS) $(OMP_DEFS) -mt_mpi -std=c99
最初のコンパイルエラーは、示唆されSTREAM/stream.c(178): error: expected a ";"
、これが事の間違った一種であることを?プログラムが間違っていることができないのですか?または、このようなA型の欠如;
間違い?
そして、データを確認することを見つけHPCC-1.5.0
対流が、修正キーワードの制限は、コンパイルするために、ここで配列に追加されているstream
、あなたが使用する必要がありc99
、アドオンので、-std=c99
その他3。
全体的に、プロセスをイライラすることは非常にクールなままです。ファイル使用してFTP
、スクリプトで、プロトコルの伝送をwget
獲得し、最終的にダウンロード元のアーカイブの真ん中には、結果クリーンように削除。全体的に私はかなり良い、宿題の行くを感じます。
最後に、たとえば、この事は本当に彼のガールフレンドが従事インストールされていた助けるために、まだ始まったばかりです。