Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
546cafe6bc | ||
|
|
9dd4d99a1a | ||
|
|
3a6273777a |
@@ -7,7 +7,7 @@ endif (NOT CMAKE_BUILD_TYPE)
|
|||||||
enable_language(C ASM)
|
enable_language(C ASM)
|
||||||
|
|
||||||
project(mckernel C ASM)
|
project(mckernel C ASM)
|
||||||
set(MCKERNEL_VERSION "1.7.5")
|
set(MCKERNEL_VERSION "1.7.6")
|
||||||
|
|
||||||
# See "Fedora Packaging Guidelines -- Versioning"
|
# See "Fedora Packaging Guidelines -- Versioning"
|
||||||
set(MCKERNEL_RELEASE "")
|
set(MCKERNEL_RELEASE "")
|
||||||
|
|||||||
@@ -1,3 +1,27 @@
|
|||||||
|
=============================================
|
||||||
|
Version 1.7.6 (Mar 11, 2021)
|
||||||
|
=============================================
|
||||||
|
|
||||||
|
----------------------
|
||||||
|
IHK major updates
|
||||||
|
----------------------
|
||||||
|
N/A
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
IHK major bug fixes
|
||||||
|
------------------------
|
||||||
|
#. ihklib: ihk_reserve_mem_conf*: apply change only to the next reservation
|
||||||
|
|
||||||
|
----------------------
|
||||||
|
McKernel major updates
|
||||||
|
----------------------
|
||||||
|
N/A
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
McKernel major bug fixes
|
||||||
|
------------------------
|
||||||
|
N/A
|
||||||
|
|
||||||
=============================================
|
=============================================
|
||||||
Version 1.7.5 (Mar 11, 2021)
|
Version 1.7.5 (Mar 11, 2021)
|
||||||
=============================================
|
=============================================
|
||||||
|
|||||||
Binary file not shown.
@@ -649,7 +649,9 @@ IHKはLinuxに以下の機能を提供する。
|
|||||||
\begin{tabular}[t]{@{}l@{}}
|
\begin{tabular}[t]{@{}l@{}}
|
||||||
{\quad} \texttt{int ihk\_reserve\_mem\_conf(int index, int key, void *value)}\\
|
{\quad} \texttt{int ihk\_reserve\_mem\_conf(int index, int key, void *value)}\\
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\subsubsection*{説明}{\quad} \texttt{index}で指定されたIHKデバイスに対する\texttt{ihk\_reserve\_mem()}の動作を\texttt{key}と\texttt{value}のペアで指定したものに変更する。\texttt{value}は値へのポインタで指定する。\texttt{key}と\texttt{value}のペアの意味は以下のように定義される。
|
\subsubsection*{説明}{\quad} \texttt{index}で指定されたIHKデバイスに対する\texttt{ihk\_reserve\_mem()}の動作を\texttt{key}と\texttt{value}のペアで指定したものに変更する。なお、設定は次の1回の予約に限り有効で、予約後にはデフォルト設定に戻る。
|
||||||
|
|
||||||
|
\texttt{value}は値へのポインタで指定する。\texttt{key}と\texttt{value}のペアの意味は以下のように定義される。
|
||||||
|
|
||||||
\subsubsection*{\texttt{IHK\_RESERVE\_MEM\_BALANCED\_\{ENABLE,BEST\_EFFORT,VARIANCE\_LIMIT\}}}
|
\subsubsection*{\texttt{IHK\_RESERVE\_MEM\_BALANCED\_\{ENABLE,BEST\_EFFORT,VARIANCE\_LIMIT\}}}
|
||||||
\verb|IHK_RESERVE_MEM_BALANCED_ENABLE|(型は\verb|int|、デフォルトは0)が非ゼロの場合は、NUMAノードごとの予約サイズがNUMAノード間でなるべく均等になるように予約する。目的は、NUMAノードごとのメモリ空き容量にNUMAノード間でばらつきがあり、またそれらの空き容量が事前にわからないようなシステムで、合計予約サイズをより大きくすることである。ステップは以下の通り。
|
\verb|IHK_RESERVE_MEM_BALANCED_ENABLE|(型は\verb|int|、デフォルトは0)が非ゼロの場合は、NUMAノードごとの予約サイズがNUMAノード間でなるべく均等になるように予約する。目的は、NUMAノードごとのメモリ空き容量にNUMAノード間でばらつきがあり、またそれらの空き容量が事前にわからないようなシステムで、合計予約サイズをより大きくすることである。ステップは以下の通り。
|
||||||
@@ -686,7 +688,7 @@ IHKはLinuxに以下の機能を提供する。
|
|||||||
|
|
||||||
\subsubsection{設定リストによるメモリ予約動作設定}
|
\subsubsection{設定リストによるメモリ予約動作設定}
|
||||||
\subsubsection*{書式}{\quad} \verb:int ihk_reserve_mem_conf_str(int dev_index, const char *envp, int num_env);:
|
\subsubsection*{書式}{\quad} \verb:int ihk_reserve_mem_conf_str(int dev_index, const char *envp, int num_env);:
|
||||||
\subsubsection*{説明}{\quad} \verb:dev_index:で指定されたIHKデバイスに対し、\verb:envp:と\verb:num_env:で指定された文字列形式の設定リストに従ってメモリ予約の動作設定を行う。本関数は特権ユーザのみが呼び出せる。
|
\subsubsection*{説明}{\quad} \verb:dev_index:で指定されたIHKデバイスに対し、\verb:envp:と\verb:num_env:で指定された文字列形式の設定リストに従ってメモリ予約の動作設定を行う。なお、設定は次の1回の予約に限り有効で、予約後にはデフォルト設定に戻る。本関数は特権ユーザのみが呼び出せる。
|
||||||
|
|
||||||
\verb:envp:は\verb:NULL:文字で結合された\verb:num_env:個の設定文字列からなる。各設定文字列は\verb:"KEY=VAL":の形式を持つ。設定可能な項目は以下の通り。
|
\verb:envp:は\verb:NULL:文字で結合された\verb:num_env:個の設定文字列からなる。各設定文字列は\verb:"KEY=VAL":の形式を持つ。設定可能な項目は以下の通り。
|
||||||
\begin{table}[!h]
|
\begin{table}[!h]
|
||||||
@@ -702,7 +704,7 @@ IHKはLinuxに以下の機能を提供する。
|
|||||||
\end{tabular}
|
\end{tabular}
|
||||||
\vspace{-0em}
|
\vspace{-0em}
|
||||||
\end{table}
|
\end{table}
|
||||||
\\上記の項目のうち、文字列で指定されなかったものに対してはデフォルト値が設定される。また、これら以外の設定項目は無視される。
|
\\また、これら以外の設定項目は無視される。
|
||||||
\FloatBarrier
|
\FloatBarrier
|
||||||
|
|
||||||
\subsubsection*{戻り値}
|
\subsubsection*{戻り値}
|
||||||
|
|||||||
2
ihk
2
ihk
Submodule ihk updated: 0c568c8da6...8e637b7873
@@ -7,7 +7,7 @@ xpmemやshmobjを利用するライブラリの初期化および基本動作を
|
|||||||
|
|
||||||
□実行手順
|
□実行手順
|
||||||
1.
|
1.
|
||||||
SSMで以下のとおりサンプルプログラムをビルドする。
|
ログインノードで以下のとおりサンプルプログラムをビルドする。
|
||||||
必要に応じて PATHを設定すること。
|
必要に応じて PATHを設定すること。
|
||||||
|
|
||||||
tradモード:
|
tradモード:
|
||||||
@@ -18,7 +18,7 @@ $ mpifccpx -DMPI -DOPENMP -Kopenmp mpi+affinity.c -o mpi+llvmopenmp-affinity
|
|||||||
|
|
||||||
2.
|
2.
|
||||||
インタラクティブモードでジョブ実行を開始する。
|
インタラクティブモードでジョブ実行を開始する。
|
||||||
SSMで以下のように pjsubコマンドを発行する。
|
ログインノードで以下のように pjsubコマンドを発行する。
|
||||||
rscunitやrscgrp、jobenvは環境に応じて指定すること。
|
rscunitやrscgrp、jobenvは環境に応じて指定すること。
|
||||||
|
|
||||||
$ pjsub --interact -L "rscunit=xxx,rscgrp=xxx,jobenv=xxx,node=1" --mpi "proc=2" --sparam wait-time=1000
|
$ pjsub --interact -L "rscunit=xxx,rscgrp=xxx,jobenv=xxx,node=1" --mpi "proc=2" --sparam wait-time=1000
|
||||||
|
|||||||
@@ -54,7 +54,8 @@ sudo ./ctrl 1 1 1 0 0 0 1 1 1
|
|||||||
|
|
||||||
(2) uti_perf
|
(2) uti_perf
|
||||||
|
|
||||||
progress threadを用いたtofu get通信速度を計測する。
|
progress threadを用いたtofu get通信速度を測定する。
|
||||||
|
測定結果は 10 ns 単位で出力される。
|
||||||
オプションは以下のとおり。
|
オプションは以下のとおり。
|
||||||
|
|
||||||
-a <x>,<y>,<z>,<a>,<b>,<c>
|
-a <x>,<y>,<z>,<a>,<b>,<c>
|
||||||
@@ -80,7 +81,7 @@ progress threadを用いたtofu get通信速度を計測する。
|
|||||||
|
|
||||||
-l <length>
|
-l <length>
|
||||||
tofu get通信するデータサイズ(byte)を指定する。
|
tofu get通信するデータサイズ(byte)を指定する。
|
||||||
(64 byte ~ 16*1024*1024 - 256 byte、既定値は 16*1024*1024 - 256 byte)
|
(16 Kbyte ~ 16 Mbyte - 256 byte、既定値は 16 Mbyte - 256 byte)
|
||||||
|
|
||||||
-v
|
-v
|
||||||
デバッグ出力を有効にする。
|
デバッグ出力を有効にする。
|
||||||
@@ -110,3 +111,13 @@ progress threadを用いたtofu get通信速度を計測する。
|
|||||||
|
|
||||||
--recvusleep=<us>
|
--recvusleep=<us>
|
||||||
progress threadの受信完了を確認する間隔 (usec) を指定する。 (既定値は0)
|
progress threadの受信完了を確認する間隔 (usec) を指定する。 (既定値は0)
|
||||||
|
|
||||||
|
例えば、tofu座標が 0,0,0,0,0,0 (受信側) と 0,0,0,1,0,0 (送信側) の間で
|
||||||
|
24プロセス生成して 16 Kbyte のデータを送信する測定を 100回繰り返す場合は
|
||||||
|
次のように指定する。
|
||||||
|
|
||||||
|
(受信側)
|
||||||
|
./uti_perf -a 0,0,0,1,0,0 -n 100 -f 24 -l 16384 -r
|
||||||
|
(送信側)
|
||||||
|
./uti_perf -a 0,0,0,0,0,0 -n 100 -f 24 -l 16384
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user