1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,160 @@ |
1 |
+--- |
|
2 |
+title: 'Intel Compiler Classic' |
|
3 |
+--- |
|
4 |
+ |
|
5 |
+[toc] |
|
6 |
+ |
|
7 |
+## Environment Settings{#enviroment} |
|
8 |
+ |
|
9 |
+### Software Version and System Requirements{#version} |
|
10 |
+ |
|
11 |
+Version | Module file Name | System B/C | System G | Cloud Systems | Notes |
|
12 |
+--- | --- | --- | --- | --- | --- |
|
13 |
+2022.3 | intel/2022.3 | + | - | + | Introduced in November 2022 |
|
14 |
+ |
|
15 |
+\+ : Available for all users |
|
16 |
+\- : Not available |
|
17 |
+ |
|
18 |
+In system B, C and Cloud, the Intel compiler is set by default when you log into the system. The Intel compiler is not available in system G. |
|
19 |
+ |
|
20 |
+```nohighlight |
|
21 |
+$ module list |
|
22 |
+Currently Loaded Modulefiles: |
|
23 |
+x) slurm x) SysB/2022 x) intel/2022.3 x) PrgEnvIntel/2022 |
|
24 |
+``` |
|
25 |
+ |
|
26 |
+<!-- |
|
27 |
+コンパイラのバージョンは、上表に記載のデフォルトのバージョンが設定されています。 |
|
28 |
+Intelコンパイラのバージョンを切り替えたい場合は、PrgEnvIntel がロードされている状態で、以下のようにmoduleコマンドを実行してください。 |
|
29 |
+ |
|
30 |
+```nohighlight |
|
31 |
+$ module switch intel/2022 intel/2019 |
|
32 |
+``` |
|
33 |
+ |
|
34 |
+ログイン時に自動で環境設定を行いたい場合は、ログインシェルの起動ファイルに必要なmoduleコマンドを記述してください。詳細は [環境設定](/config) をご覧ください。 |
|
35 |
+moduleコマンドの詳細は [Modules](/config/modules) をご覧ください。 |
|
36 |
+--> |
|
37 |
+## How to Compile{#usage} |
|
38 |
+ |
|
39 |
+### Compile Commands{#command} |
|
40 |
+| Language | Command | Executable form | |
|
41 |
+| - | - | - | |
|
42 |
+| C | icc | icc [Option] File Name | |
|
43 |
+| C++ | icpc | icpc [Option] File Name | |
|
44 |
+| Fortran | ifort | ifort [Option] File Name | |
|
45 |
+ |
|
46 |
+### Compile Options{#option} |
|
47 |
+|Option |Purpose| |
|
48 |
+|-|-| |
|
49 |
+|-o FILENAME |Specifies the name of the object file. | |
|
50 |
+|-mcmodel=medium |Enable to use memory in excess of 2 GB.| |
|
51 |
+|-shared-intel |Dynamically link all Intel-provided libraries. | |
|
52 |
+|-fpic |Generates position-independent code.| |
|
53 |
+|-qopenmp |Enable OpenMP directive and compile.| |
|
54 |
+|-parallel | Performs automatic parallelization | |
|
55 |
+|-O0/-O1/-O2/-O3 |Specifies the level of optimization (default is -O2).| |
|
56 |
+|-fast |Optimizes the program for maximum execution speed. -fast option gives the following options.<br>`-ipo, -O3, -no-prec-div, -static, -fp-model fast=2 -xHost `| |
|
57 |
+|-ip |Optimize processing between procedures within a single file. | |
|
58 |
+|-ipo |Optimize processing between procedures among multiple files.| |
|
59 |
+|-qopt-report |Displays information about the performed optimization.| |
|
60 |
+ |
|
61 |
+#### Options for using more than 2 GB of memory |
|
62 |
+ |
|
63 |
+To compile a program that uses more than 2 GB of memory, specify the following options. <br> |
|
64 |
+`-mcmodel=medium -shared-intel` |
|
65 |
+ |
|
66 |
+## Examples of Compiling{#sample} |
|
67 |
+ |
|
68 |
+### Non-parallelized Program{#serial} |
|
69 |
+```nohighlight |
|
70 |
+$ icc test.c # For C |
|
71 |
+$ icpc test.cpp # For C++ |
|
72 |
+$ ifort test.f90 # For Fortran |
|
73 |
+$ tssrun ./a.out # Execution |
|
74 |
+``` |
|
75 |
+ |
|
76 |
+### Using Auto-Parallelization{#auto_parallel} |
|
77 |
+```nohighlight |
|
78 |
+$ ifort -parallel test.f90 |
|
79 |
+$ tssrun --rsc p=1:t=4:c=4 ./a.out # Execute with the number of parallels specified as 4. |
|
80 |
+``` |
|
81 |
+ |
|
82 |
+### Using OpenMP{#openmp} |
|
83 |
+ |
|
84 |
+OpenMP is an open standard for parallelizing programs. |
|
85 |
+You can have the compiler automatically perform parallelization only by writing instructions starting with #pragma omp in the source code and compiling with the given options. |
|
86 |
+ |
|
87 |
+To compile the source code with instructions to OpenMP, use the -qopenmp option. |
|
88 |
+ |
|
89 |
+```nohighlight |
|
90 |
+$ icc -qopenmp test.c |
|
91 |
+``` |
|
92 |
+ |
|
93 |
+When executing a compiled program, if you specify the number of parallelisms for t and c with --rsc option, the program will be executed with that number of parallelisms. |
|
94 |
+ |
|
95 |
+```nohighlight |
|
96 |
+$ tssrun --rsc p=1:t=8:c=8 ./a.out # Execute with the number of parallels specified as 8. |
|
97 |
+``` |
|
98 |
+ |
|
99 |
+## Messages When Compiling{#compile_message} |
|
100 |
+The Intel compiler outputs messages with the following format when there is a program error or information to be notified. |
|
101 |
+ |
|
102 |
+### C/C++{#message_c} |
|
103 |
+```nohighlight |
|
104 |
+File name (line number): XXX #YYY: Message text |
|
105 |
+Contents of the corresponding line of source code |
|
106 |
+^ |
|
107 |
+``` |
|
108 |
+- XXX : Message type(error/warning) |
|
109 |
+- YYY : Serial number of the message |
|
110 |
+- Pointer(^) : The exact location where the error was found in the corresponding line of source code |
|
111 |
+ |
|
112 |
+**Output Example** |
|
113 |
+ |
|
114 |
+```nohighlight |
|
115 |
+sample.c(27): warning #175: subscript out of range |
|
116 |
+ printf(" %d , %d\n",c[1][0],c[1][10]); |
|
117 |
+ ^ |
|
118 |
+``` |
|
119 |
+ |
|
120 |
+### Fortran{#message_fortran} |
|
121 |
+```nohighlight |
|
122 |
+File name (line number): XXX #YYY: Message text |
|
123 |
+Contents of the corresponding line of source code |
|
124 |
+--------------^ |
|
125 |
+``` |
|
126 |
+- XXX : Message type(error/warning) |
|
127 |
+- YYY : Serial number of the message |
|
128 |
+- Pointer(^) : The exact location where the error was found in the corresponding line of source code |
|
129 |
+ |
|
130 |
+**Output Example** |
|
131 |
+```nohighlight |
|
132 |
+sample.f90(26): error #5560: Subscript #2 of the array C has value 20 which is greater than the upper bound of 2 |
|
133 |
+print *, c(1,1),",", c(1,20) |
|
134 |
+-----------------------^ |
|
135 |
+compilation aborted for sample.f90 (code 1) |
|
136 |
+``` |
|
137 |
+ |
|
138 |
+## Available Libraries{#library} |
|
139 |
+ |
|
140 |
+### MPI Library{#mpi_library} |
|
141 |
+The Intel MPI library is available. Please refer to [Intel MPI Library](/compilers/intelmpi) on how to compile, link and execute MPI programs. |
|
142 |
+ |
|
143 |
+### Numerical calculation library{#numerical_library} |
|
144 |
+When using the Intel compiler, the following numerical calculation libraries are available. Please refer to the individual pages for details on how to use each library. |
|
145 |
+ |
|
146 |
+Library | System A | System B | System C | System G | Cloud |
|
147 |
+- | - |
|
148 |
+[MKL Library](/software/mkl) | + | + | + | - | + |
|
149 |
+<!-- |
|
150 |
+[NAGライブラリ](/compilers/nag) | AU |
|
151 |
+[IMSLライブラリ](/compilers/imsl) | AU |
|
152 |
+--> |
|
153 |
+ |
|
154 |
+\+ : Available for all users |
|
155 |
+AU : \+ : Available for all users |
|
156 |
+\- : Not available |
|
157 |
+ |
|
158 |
+## Manuals{#manual} |
|
159 |
+- [Intel C++ Compiler Classic Developer Guide and Reference](https://www.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top.html) |
|
160 |
+- [Intel Fortran Compiler Classic and Intel Fortran Compiler Developer Guide and Reference](https://www.intel.com/content/www/us/en/develop/documentation/fortran-compiler-oneapi-dev-guide-and-reference/top.html) |
0 | 161 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,156 @@ |
1 |
+--- |
|
2 |
+title: 'NVIDIA HPC SDK Compiler' |
|
3 |
+taxonomy: |
|
4 |
+ category: |
|
5 |
+ - docs |
|
6 |
+external_links: |
|
7 |
+ process: true |
|
8 |
+ no_follow: true |
|
9 |
+ target: _blank |
|
10 |
+ mode: active |
|
11 |
+published: false |
|
12 |
+--- |
|
13 |
+ |
|
14 |
+[toc] |
|
15 |
+ |
|
16 |
+ |
|
17 |
+## Environment Settings{#environment} |
|
18 |
+ |
|
19 |
+ |
|
20 |
+### Software Version and System Requirements{#version} |
|
21 |
+ |
|
22 |
+ |
|
23 |
+Version | Module file Name | System B/C | System G | Cloud System | Notes |
|
24 |
+--- | --- | --- | --- | --- | --- |
|
25 |
+2022.3 | nvhpc/22.9 | - | + | - | Introduced in January 2023 |
|
26 |
+ |
|
27 |
+\+ : Available for all users |
|
28 |
+\- : Not available |
|
29 |
+ |
|
30 |
+In the system G, the NVIDIA HPC SDK compiler is set by default when you log into the system. The NVIDIA HPC SDK compiler is not available in the system B, C and Cloud. |
|
31 |
+ |
|
32 |
+If you want to set the environment settings automatically at login, write the necessary module commands in the startup file of the login shell. Please refer to [Setup of the login node](/config) for details. |
|
33 |
+Please refer to [Modules](/config/modules) for details on the module command. |
|
34 |
+ |
|
35 |
+#### cuda{#cuda} |
|
36 |
+ |
|
37 |
+Version | Module file Name | System B/C | System G | Cloud System | Notes |
|
38 |
+--- | --- | --- | --- | --- | --- |
|
39 |
+11.7.1 | cuda/11.7.1 | - | + | - | Introduced in January 2023 |
|
40 |
+9.2 | cuda/9.2 | - | + | - | Introduced in January 2023 |
|
41 |
+ |
|
42 |
+\+ : Available for all users |
|
43 |
+\- : Not available |
|
44 |
+ |
|
45 |
+When you download the module file of the NVIDIA HPC SDK compiler, cuda is loaded at the same time. |
|
46 |
+The default version of cuda is 11.7, however if you want to switch the versions, execute the module command as follows while PrgEnvNvidia is loaded. |
|
47 |
+ |
|
48 |
+```nohighlight |
|
49 |
+$ module load cuda/9.2 |
|
50 |
+``` |
|
51 |
+ |
|
52 |
+## How to Compile{#usage} |
|
53 |
+### Compile Commands{#command} |
|
54 |
+ | Language | Command | Executable form |
|
55 |
+ | - | - | - |
|
56 |
+ | Fortran | nvfortran | nvfortran [Option] File Name |
|
57 |
+ | C | nvc | nvc [Option] File Name |
|
58 |
+ | C++ | nvc++ | nvc++ [Option] File Name |
|
59 |
+ |
|
60 |
+ |
|
61 |
+### Compile Options{#option} |
|
62 |
+- Main options (parallelization, optimization, etc.) |
|
63 |
+ |
|
64 |
+| Option | Purpose |
|
65 |
+| --- | --- |
|
66 |
+| -o FILENAME | Specifies the name of the object file. |
|
67 |
+| -mcmodel=medium | Enable to use memory in excess of 2 GB. |
|
68 |
+| -mp | Enable OpenMP directive and compile. |
|
69 |
+| -Mconcur | Performs automatic parallelization. |
|
70 |
+| -O0/-O1/-O2/-O3/-O4 | Specifies the level of optimization. |
|
71 |
+| -fast | Enable general optimization features. |
|
72 |
+| -Mipa=fast | Optimizes the analysis process between procedures. **(NOTE) ** No longer available in the current version. |
|
73 |
+ |
|
74 |
+- Message output and debugging options |
|
75 |
+ |
|
76 |
+|Option |Purpose| |
|
77 |
+|-|-| |
|
78 |
+|-Mlist |Create a listing file.| |
|
79 |
+|-Minform=inform |Displays all error messages.| |
|
80 |
+|-Minfo[=OPTION]|Displays information on standard error output.<br>Specify the information to be displayed with option.| |
|
81 |
+|-Mneginfo[=OPTION]|Displays information about optimizations that were not performed.| |
|
82 |
+ |
|
83 |
+- Fortran language-specific options |
|
84 |
+ |
|
85 |
+|Option |Purpose| |
|
86 |
+|-|-| |
|
87 |
+|-Mfixed |Specifies that the program is written in a fixed format.| |
|
88 |
+|-Mfree |Specifies that the program is written in free form.| |
|
89 |
+|-Mstandard | Warns against non-ANSI compliant syntax.| |
|
90 |
+|-Mdclchk |Warns against implicit type declarations.| |
|
91 |
+|-C | Detects out-of-area references to arrays at program execution. | |
|
92 |
+ |
|
93 |
+- GPU-related options |
|
94 |
+ |
|
95 |
+|Option |Purpose| |
|
96 |
+| --- | --- | |
|
97 |
+| -gpu | Specify settings related to GPU. Use in conjunction with -acc, -cuda, -mp and -stdpar options.<br>(e.g.)-gpu=cc80 -acc<br>※cc means [compute capability](https://developer.nvidia.com/cuda-gpus). The GPU in system G is A100, so specify cc80 for cc.| |
|
98 |
+| -acc | Enable OpenACC. | |
|
99 |
+| -cuda | Enable CUDA. | |
|
100 |
+| -Minfo=accel | Output GPU-related compilation information. | |
|
101 |
+ |
|
102 |
+## Examples of Compiling{#sample} |
|
103 |
+ |
|
104 |
+### Non-parallelized Program{#serial} |
|
105 |
+```nohighlight |
|
106 |
+$ nvfortran test.f90 # For Fortran |
|
107 |
+$ nvc test.c # For C |
|
108 |
+$ nvc++ test.cpp # For C++ |
|
109 |
+$ tssrun ./a.out # Execution |
|
110 |
+``` |
|
111 |
+ |
|
112 |
+### Using Auto-Parallelization{#auto_parallel} |
|
113 |
+```nohighlight |
|
114 |
+$ nvfortran -Mconcur test.f90 |
|
115 |
+$ tssrun --rsc p=1:t=4:c=4 ./a.out # Execute with the number of parallels specified as 4. |
|
116 |
+``` |
|
117 |
+ |
|
118 |
+### Using OpenMP{#openmp} |
|
119 |
+ |
|
120 |
+OpenMP is an open standard for parallelizing programs. |
|
121 |
+You can have the compiler automatically perform parallelization only by writing instructions starting with #pragma omp (C/C++) or $omp and compile with the given options. |
|
122 |
+ |
|
123 |
+To compile the source code with instructions to OpenMP, use the -mp option. |
|
124 |
+ |
|
125 |
+```nohighlight |
|
126 |
+$ nvc -mp test.c |
|
127 |
+``` |
|
128 |
+ |
|
129 |
+When executing a compiled program, if you specify the number of parallelisms for t and c with --rsc option, the program will be executed with that number of parallelisms. |
|
130 |
+ |
|
131 |
+```nohighlight |
|
132 |
+$ tssrun --rsc p=1:t=8:c=8 ./a.out # Execute with the number of parallels specified as 8. |
|
133 |
+``` |
|
134 |
+ |
|
135 |
+### Using OpenACC{#openacc} |
|
136 |
+ |
|
137 |
+OpenACC is an open standard for parallelizing programs. |
|
138 |
+You can generate executable code that will run on a GPU only by writing instructions starting with #pragma acc(C/C++) or $acc and compile with the given options. |
|
139 |
+ |
|
140 |
+To compile the source code with instructions to OpenACC, use the -acc option. |
|
141 |
+ |
|
142 |
+```nohighlight |
|
143 |
+$ nvfortran -acc test.f90 |
|
144 |
+``` |
|
145 |
+ |
|
146 |
+## Available Libraries{#library} |
|
147 |
+ |
|
148 |
+### MPI Library{#mpi_library} |
|
149 |
+The Open MPI library is available. Please refer to [Open MPI Library](/compilers/openmpi) on how to compile, link and execute MPI programs. |
|
150 |
+ |
|
151 |
+## Manuals{#manual} |
|
152 |
+ |
|
153 |
+### Version 22.9 |
|
154 |
+ |
|
155 |
+- [NVIDIA HPC Compilers User's Guide](https://docs.nvidia.com/hpc-sdk/archive/22.9/compilers/hpc-compilers-user-guide/index.html) |
|
156 |
+- [NVIDIA HPC Compilers Reference Guide](https://docs.nvidia.com/hpc-sdk/archive/22.9/compilers/hpc-compilers-ref-guide/index.html) |
0 | 157 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,168 @@ |
1 |
+--- |
|
2 |
+title: 'Intel MPI Library' |
|
3 |
+taxonomy: |
|
4 |
+ category: |
|
5 |
+ - docs |
|
6 |
+external_links: |
|
7 |
+ process: true |
|
8 |
+ no_follow: true |
|
9 |
+ target: _blank |
|
10 |
+ mode: active |
|
11 |
+--- |
|
12 |
+ |
|
13 |
+[toc] |
|
14 |
+ |
|
15 |
+## Environment Settings{#enviroment} |
|
16 |
+### Software Version and System Requirements{#version} |
|
17 |
+Version | Module file Name | System B/C | System G | Cloud System| Notes |
|
18 |
+--- | --- | --- | --- | --- | --- |
|
19 |
+2022.3 | intelmpi/2022.3 | + | - | + | Introduced in November 2022 |
|
20 |
+ |
|
21 |
+<!-- |
|
22 |
+注:Intel CompilerとIntel MPIのバージョンは一致しない場合があります |
|
23 |
+--> |
|
24 |
+ |
|
25 |
+\+ : Available for all users |
|
26 |
+\- : Not available |
|
27 |
+ |
|
28 |
+<!-- |
|
29 |
+コンパイラとして、 [Intelコンパイラ](/compilers/intel) または [GNUコンパイラ](/compilers/gnu) を利用します。システムにログインした時点では、Intelコンパイラがデフォルトで利用できるようになっています。GNUコンパイラを利用される場合は、以下のようにmoduleコマンドを実行し、コンパイラを切り替えてください。 |
|
30 |
+ |
|
31 |
+```nohighlight |
|
32 |
+$ module switch PrgEnvIntel PrgEnvGCC |
|
33 |
+``` |
|
34 |
+ |
|
35 |
+Intel MPIライブラリのバージョンを切り替えたい場合は、以下のようにmoduleコマンドを実行してください。 |
|
36 |
+ |
|
37 |
+```nohighlight |
|
38 |
+$ module switch impi/4.1.0 impi/4.0.3 |
|
39 |
+``` |
|
40 |
+ |
|
41 |
+moduleコマンドの詳細は [Modules](/config/modules) をご覧ください。 |
|
42 |
+--> |
|
43 |
+ |
|
44 |
+### Level of Thread Parallel Support{#threadsafe} |
|
45 |
+ |
|
46 |
+The thread parallel support level available in Intel MPI is MPI_THREAD_MULTIPLE. MPI functions can be called from each thread with no restriction. |
|
47 |
+ |
|
48 |
+## How to Compile and Execute{#usage} |
|
49 |
+ |
|
50 |
+### How to Compile{#compile} |
|
51 |
+ |
|
52 |
+**Compile commands (Intel compiler)** |
|
53 |
+ |
|
54 |
+Language | Command | Operands |
|
55 |
+--------- | --------- | ---------------------------- |
|
56 |
+ Fortran | mpiifort | mpiifort Option File Name |
|
57 |
+ C | mpiicc | mpiicc Option File Name |
|
58 |
+ C++ | mpiicpc | mpiicpc Option File Name |
|
59 |
+**Compile Commands(GNU compiler)** |
|
60 |
+ |
|
61 |
+Language | Command | Operands |
|
62 |
+--------- | -------- | -------------------------- |
|
63 |
+ Fortran 95 | mpif90 | mpif90 Option File Name |
|
64 |
+ Fortran 77 | mpif77 | mpif77 Option File Name |
|
65 |
+ C | mpigcc | mpicc Option File Name |
|
66 |
+ C++ | mpigcxx | mpicxx Option File Name |
|
67 |
+ |
|
68 |
+**Examples of Compiling** |
|
69 |
+ |
|
70 |
+```nohighlight |
|
71 |
+$ mpiifort -O3 -parallel sample_mpi.f90 |
|
72 |
+``` |
|
73 |
+<!-- |
|
74 |
+### オプション{#option} |
|
75 |
+ |
|
76 |
+Intel MPI のコンパイラでは、 [Intelコンパイラのオプション](/compilers/intel#option) を利用することができます。ただし、オプション -static については利用できません。 |
|
77 |
+ |
|
78 |
+* **主要オプション(並列化、最適化など)** |
|
79 |
+ |
|
80 |
+ オプション名 | 説明 |
|
81 |
+ ------------ | ------------------- |
|
82 |
+ -static_mpi | MPIライブラリを静的にリンクします。 |
|
83 |
+--> |
|
84 |
+ |
|
85 |
+### How to Execute{#exec} |
|
86 |
+ |
|
87 |
+To execute the compiled MPI program, use **tssrun** command for interactive processing and **srun** for batch processing. For both interactive processing and batch processing, the number of parallelism is specified by the --rsc option argument p. Please refer to [sample](#sample) for details. |
|
88 |
+ |
|
89 |
+**Example (interactive processing)** |
|
90 |
+```nohighlight |
|
91 |
+$ tssrun --rsc p=2 ./a.out |
|
92 |
+``` |
|
93 |
+ |
|
94 |
+## Sampl{#sample} |
|
95 |
+### MPI program execution with interactive processing{#tss} |
|
96 |
+Please refer to the [Interactive Processing](/run/interactive) for details on the execution with interactive processing. |
|
97 |
+ |
|
98 |
+* **Execute in 8 parallels** |
|
99 |
+ |
|
100 |
+```nohighlight |
|
101 |
+$ tssrun --rsc p=8 ./a.out |
|
102 |
+``` |
|
103 |
+ |
|
104 |
+* **Execute in combination with thread parallelism(MPI 4 parallel, OpenMP 8 parallel)** |
|
105 |
+ |
|
106 |
+```nohighlight |
|
107 |
+$ tssrun --rsc p=4:t=8:c=8 ./a.out |
|
108 |
+``` |
|
109 |
+ |
|
110 |
+### MPI program execution in batch{#slurm} |
|
111 |
+Please refer to the [batch processing](/run/batch) for details on the batch execution. |
|
112 |
+ |
|
113 |
+* **Execute in 8 parallels** |
|
114 |
+ |
|
115 |
+```nohighlight |
|
116 |
+$ cat sample.sh |
|
117 |
+#!/bin/bash |
|
118 |
+#============ SBATCH Directives ======= |
|
119 |
+#SBATCH -p gr19999b |
|
120 |
+#SBATCH -t 1:0:0 |
|
121 |
+#SBATCH --rsc p=8 |
|
122 |
+#SBATCH -o %x.%A.out |
|
123 |
+ |
|
124 |
+#============ Shell Script ============ |
|
125 |
+srun ./a.out |
|
126 |
+$ sbatch sample.sh |
|
127 |
+``` |
|
128 |
+ |
|
129 |
+* **Execute in combination with thread parallelism(MPI 4 parallel, OpenMP 8 parallel)** |
|
130 |
+ |
|
131 |
+```nohighlight |
|
132 |
+$ cat sample.sh |
|
133 |
+#!/bin/bash |
|
134 |
+#============ SBATCH Directives ======= |
|
135 |
+#SBATCH -p gr19999b |
|
136 |
+#SBATCH -t 1:0:0 |
|
137 |
+#SBATCH --rsc p=4:t=8:c=8:m=8G |
|
138 |
+#SBATCH -o %x.%A.out |
|
139 |
+ |
|
140 |
+#============ Shell Script ============ |
|
141 |
+srun ./a.out |
|
142 |
+$ sbatch sample.sh |
|
143 |
+``` |
|
144 |
+ |
|
145 |
+## Manual{#manual} |
|
146 |
+* [Intel MPI Library Developer Guide for Linux* OS Developer Guide](https://www.intel.com/content/www/us/en/develop/documentation/mpi-developer-guide-linux/top.html) |
|
147 |
+* [Intel MPI Library Developer Guide for Linux* OS Developer Reference](https://www.intel.com/content/www/us/en/develop/documentation/mpi-developer-reference-linux/top.html) |
|
148 |
+ |
|
149 |
+<!-- |
|
150 |
+### Ver 5.1 |
|
151 |
+ |
|
152 |
+* [Intel MPI Library for Linux OS Reference Manual](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Intel_MPI_5.1/Reference_Manual.pdf) |
|
153 |
+* [Intel MPI Library for Linux OS User Guide](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Intel_MPI_5.1/User_Guide.pdf) |
|
154 |
+ |
|
155 |
+### Ver 2018 |
|
156 |
+ |
|
157 |
+* [Intel MPI Library for Linux OS Developer Reference](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Intel_MPI_2018/intelmpi-2018-developer-reference-linux.pdf) |
|
158 |
+* [Intel MPI Library for Linux OS Developer Guide](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/Intel_MPI_2018/intelmpi-2018-developer-guide-linux.pdf) |
|
159 |
+ |
|
160 |
+### Ver 2019 |
|
161 |
+ |
|
162 |
+* [Intel MPI Library for Linux OS Developer Reference](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/intel_parallel_studio_xe_2019_3/en/mpi/mpi_dev_reference_lin/index.htm) |
|
163 |
+* [Intel MPI Library for Linux OS Developer Guide](https://web.kudpc.kyoto-u.ac.jp/Compiler_Manual/Intel/intel_parallel_studio_xe_2019_3/en/mpi/mpi_dev_guide_lin/index.htm) |
|
164 |
+--> |
|
165 |
+ |
|
166 |
+## Link{#link} |
|
167 |
+ |
|
168 |
+* [Intel MPI Library](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html) |
0 | 169 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,146 @@ |
1 |
+--- |
|
2 |
+title: 'OpenMPI Library' |
|
3 |
+published: true |
|
4 |
+taxonomy: |
|
5 |
+ category: |
|
6 |
+ - docs |
|
7 |
+external_links: |
|
8 |
+ process: true |
|
9 |
+ title: false |
|
10 |
+ no_follow: true |
|
11 |
+ target: _blank |
|
12 |
+ mode: active |
|
13 |
+--- |
|
14 |
+ |
|
15 |
+[toc] |
|
16 |
+ |
|
17 |
+## Environment Settings{#environment} |
|
18 |
+ |
|
19 |
+### Software Version and System Requirements{#version} |
|
20 |
+ |
|
21 |
+Version| Module file Name | System B/C | System G | Cloud System| Notes |
|
22 |
+--- | --- | --- | --- | --- | --- |
|
23 |
+4.0.5 | openmpi/4.0.5 | - | + | - | Introduced in November 2022 |
|
24 |
+ |
|
25 |
+\+ : Available for all users |
|
26 |
+\- : Not available |
|
27 |
+ |
|
28 |
+<!-- |
|
29 |
+OpenMPIは[NVIDIA HPC SDKコンパイラ](/compilers/nvidia)、[GNUコンパイラ](/compilers/gnu)で利用できます。 |
|
30 |
+--> |
|
31 |
+OpenMPI is available in [NVIDIA HPC SDK compiler](/compilers/nvidia). |
|
32 |
+ |
|
33 |
+<!-- |
|
34 |
+コンパイラは、 |
|
35 |
+[Intelコンパイラ](/compilers/intel) 、 [NVIDIA HPC SDKコンパイラ](/compilers/nvidia) 、 [GNUコンパイラ](/compilers/gnu) を利用できます。利用するコンパイラに合わせて、以下のようにmoduleコマンドを実行し、OpenMPIが利用できるように環境を設定します。 |
|
36 |
+ |
|
37 |
+```nohighlight |
|
38 |
+(Intelコンパイラを利用する場合) |
|
39 |
+$ module switch PrgEnv(現在ロード中の環境) PrgEnvIntel |
|
40 |
+$ module load openmpi/4.1.4_intel-17.0 |
|
41 |
+(PGIコンパイラを利用する場合) |
|
42 |
+$ module switch PrgEnv(現在ロード中の環境) PrgEnvNvidia |
|
43 |
+$ module load openmpi/4.1.4_nvidia-16.10 |
|
44 |
+(GNUコンパイラを利用する場合) |
|
45 |
+$ module switch PrgEnv(現在ロード中の環境) PrgEnvGCC |
|
46 |
+$ module load openmpi/4.1.4_gnu-4.8 |
|
47 |
+``` |
|
48 |
+ |
|
49 |
+moduleコマンドの詳細は [Modules](/config/modules) をご覧ください。 |
|
50 |
+--> |
|
51 |
+### Level of Thread Parallel Support{#threadsafe} |
|
52 |
+ |
|
53 |
+The thread parallel support level available in Open MPI is MPI_THREAD_MULTIPLE. MPI functions can be called from each thread with no restriction. |
|
54 |
+ |
|
55 |
+## How to Compile and Execute{{#usage} |
|
56 |
+ |
|
57 |
+### How to Compile{#compile} |
|
58 |
+ |
|
59 |
+**Compile commands ** |
|
60 |
+ |
|
61 |
+Language | Command | Operands |
|
62 |
+--------- | -------- | -------------------------- |
|
63 |
+ Fortran | mpifort | mpifort Option File Name |
|
64 |
+ C | mpicc | mpicc Option File Name |
|
65 |
+ C++ | mpic++ | mpic++ Option File Name |
|
66 |
+ |
|
67 |
+**Examples of Compiling** |
|
68 |
+ |
|
69 |
+```nohighlight |
|
70 |
+$ mpifort -O3 sample_mpi.f90 |
|
71 |
+``` |
|
72 |
+ |
|
73 |
+### How to Execute{#exec} |
|
74 |
+ |
|
75 |
+To execute the compiled MPI program, use **tssrun** command for interactive processing and **srun** for batch processing. For both interactive processing and batch processing, the number of parallelism is specified by the --rsc option argument p. Please refer to [sample](#sample) for details. |
|
76 |
+<!-- |
|
77 |
+また、OpenMPなどのスレッド並列と組み合わせて実行する場合は、1ノードあたりに起動するプロセス数を --ntasks-per-node オプションで指定します。 |
|
78 |
+--> |
|
79 |
+**Example (interactive processing)** |
|
80 |
+ |
|
81 |
+```nohighlight |
|
82 |
+$ tssrun --rsc p=2 ./a.out |
|
83 |
+``` |
|
84 |
+ |
|
85 |
+## Sample{#sample} |
|
86 |
+ |
|
87 |
+### MPI program execution with interactive processing{#tss} |
|
88 |
+ |
|
89 |
+Please refer to the [Interactive Processing](/run/interactive) for details on the execution with interactive processing. |
|
90 |
+ |
|
91 |
+ |
|
92 |
+* **Execute in 8 parallels** |
|
93 |
+ |
|
94 |
+```nohighlight |
|
95 |
+$ tssrun --rsc p=8 ./a.out |
|
96 |
+``` |
|
97 |
+ |
|
98 |
+* **Execute in combination with thread parallelism(MPI 4 parallel, OpenMP 8 parallel)** |
|
99 |
+ |
|
100 |
+```nohighlight |
|
101 |
+$ tssrun --rsc p=4:t=8:c=8 ./a.out |
|
102 |
+``` |
|
103 |
+ |
|
104 |
+### MPI program execution in batch{#slurm} |
|
105 |
+ |
|
106 |
+Please refer to the [batch processing](/run/batch) for details on the batch execution. |
|
107 |
+ |
|
108 |
+* **Execute in 8 parallels** |
|
109 |
+ |
|
110 |
+```nohighlight |
|
111 |
+$ cat sample.sh |
|
112 |
+#!/bin/bash |
|
113 |
+#============ SBATCH Directives ======= |
|
114 |
+#SBATCH -p gr19999b |
|
115 |
+#SBATCH -t 1:0:0 |
|
116 |
+#SBATCH --rsc p=8 |
|
117 |
+#SBATCH -o %x.%A.out |
|
118 |
+ |
|
119 |
+#============ Shell Script ============ |
|
120 |
+srun ./a.out |
|
121 |
+$ sbatch sample.sh |
|
122 |
+``` |
|
123 |
+ |
|
124 |
+* **Execute in combination with thread parallelism(MPI 4 parallel, OpenMP 8 parallel)** |
|
125 |
+ |
|
126 |
+```nohighlight |
|
127 |
+$ cat sample.sh |
|
128 |
+#!/bin/bash |
|
129 |
+#============ SBATCH Directives ======= |
|
130 |
+#SBATCH -p gr19999b |
|
131 |
+#SBATCH -t 1:0:0 |
|
132 |
+#SBATCH --rsc p=4:t=8:c=8:m=8G |
|
133 |
+#SBATCH -o %x.%A.out |
|
134 |
+ |
|
135 |
+#============ Shell Script ============ |
|
136 |
+srun ./a.out |
|
137 |
+$ sbatch sample.sh |
|
138 |
+``` |
|
139 |
+ |
|
140 |
+## Manual{#manual} |
|
141 |
+ |
|
142 |
+* [Open MPI v4.0 documentation](https://www.open-mpi.org/doc/v4.0/) |
|
143 |
+ |
|
144 |
+## Link{#link} |
|
145 |
+ |
|
146 |
+* [Open MPI: Open Source High Performance Computing](http://www.open-mpi.org/) |
0 | 147 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,294 @@ |
1 |
+--- |
|
2 |
+title: 'Information for Group Managers' |
|
3 |
+taxonomy: |
|
4 |
+ category: |
|
5 |
+ - docs |
|
6 |
+--- |
|
7 |
+ |
|
8 |
+[toc] |
|
9 |
+ |
|
10 |
+## What Is Group Manager?{#introduction} |
|
11 |
+ |
|
12 |
+A group manager is a person authorized to manage group course or private cluster course. |
|
13 |
+By default, the group manager is set to the service course applicant. The applicant of the service course can add/change the group manager. Please apply for add/change via [User Portal](https://web.kudpc.kyoto-u.ac.jp/portal/). |
|
14 |
+ |
|
15 |
+A group manager can use the commands for managing the group. The dedicated commands of group manager allow group managers to manage queues and disks allocated to their groups and group members. |
|
16 |
+ |
|
17 |
+<!-- |
|
18 |
+## グループ管理者の確認(group_managers){#group_managers} |
|
19 |
+ |
|
20 |
+ |
|
21 |
+**group_managers** コマンドで、現在のグループ管理者を確認できます。 |
|
22 |
+ |
|
23 |
+ |
|
24 |
+```nohighlight |
|
25 |
+$ group_managers |
|
26 |
+Group: gr19999, Managers: a59990,a59992 |
|
27 |
+``` |
|
28 |
+--> |
|
29 |
+ |
|
30 |
+ |
|
31 |
+ |
|
32 |
+## Managing Group Members {#group_members} |
|
33 |
+ |
|
34 |
+Group members can check or add/delete members by logging into the [User Portal](https://web.kudpc.kyoto-u.ac.jp/portal). |
|
35 |
+ |
|
36 |
+<!-- |
|
37 |
+**group_members** コマンドで、グループメンバーの表示、追加ができます。メンバーはグループ専用キューへのジョブ投入やLARGEディスクスペースを利用することができます。 |
|
38 |
+ |
|
39 |
+**グループメンバーの表示** |
|
40 |
+ |
|
41 |
+ |
|
42 |
+```nohighlight |
|
43 |
+$ group_members -g gr19999 -l |
|
44 |
+gr19999:a59990,a59991,a59992,a59993,a59994 |
|
45 |
+``` |
|
46 |
+ |
|
47 |
+ |
|
48 |
+**グループメンバーの削除** |
|
49 |
+ |
|
50 |
+ |
|
51 |
+```nohighlight |
|
52 |
+$ group_members -g gr19999 -d b59999 |
|
53 |
+deleting user b59999 from group gr19999 |
|
54 |
+``` |
|
55 |
+ |
|
56 |
+ |
|
57 |
+**グループメンバーの追加** |
|
58 |
+ |
|
59 |
+ |
|
60 |
+```nohighlight |
|
61 |
+$ group_members -g gr19999 -a b59999 |
|
62 |
+adding user b59999 to group gr19999 |
|
63 |
+``` |
|
64 |
+ |
|
65 |
+ |
|
66 |
+* サービスコースの支払責任者配下の利用者は、自動的にグループのメンバーとして登録されています。 |
|
67 |
+* このコマンドで追加したメンバーは、グループ用キューへのジョブ投入やLARGEディスクスペースを利用することができます。 |
|
68 |
+* group_members コマンドでユーザの追加削除を行う場合は、-g オプションでグループ名を指定してください。指定しない場合、操作者のカレントグループが適用されます。そのため、カレントグループが操作者の利用者IDとなっていた場合、ご希望のグループではなく、当該利用者IDのグループにユーザが追加されてしまいます。 |
|
69 |
+ |
|
70 |
+#### グループに追加したメンバーのキュー利用に関する注意 |
|
71 |
+ |
|
72 |
+グループメンバーを新規追加しても、そのメンバーがグループ用キューを即座に利用できるようになるわけではありません。追加されたメンバーがキューにジョブを投入するためには、ジョブスケジューラシステムに設定変更が反映される必要があります。反映は設定変更の翌朝に行われます。お急ぎの場合は、プログラミング相談室 までご連絡ください。 |
|
73 |
+ |
|
74 |
+#### グループメンバーと負担金請求先について |
|
75 |
+ |
|
76 |
+グループコースの無料の利用者追加枠の対象は、グループコースの支払責任者との予算による紐づきで判定します。無料の対象とするためには、利用申請書の提出が必要です。 |
|
77 |
+group_members コマンドまたは利用者ポータルでグループメンバーを追加しただけでは対象となりませんので、ご注意ください。 |
|
78 |
+ |
|
79 |
+--> |
|
80 |
+ |
|
81 |
+ |
|
82 |
+## Backing Up LARGE Disk Space (group_backup){#group_backup} |
|
83 |
+ |
|
84 |
+You can make backup settings of the LARGE disk space by using the **group_backup** command. LARGE disk space consists of the _/LARGE0/groupname_ directory and the _/LARGE1/groupname_ directory, and you can set one of the following status. |
|
85 |
+ |
|
86 |
+ |
|
87 |
+Status | /LARGE0/groupname | /LARGE1/groupname |
|
88 |
+:----------:|:------------------:|:-------------------: |
|
89 |
+Backup | Safe(Make backup) | Backup (Backup location) |
|
90 |
+Not Backup | Unsafe(Not make backup) | Unsafe(Not make backup) |
|
91 |
+ |
|
92 |
+Of these, disks whose settings are Safe or Unsafe can be used. |
|
93 |
+ |
|
94 |
+**Checking the backup settings** |
|
95 |
+ |
|
96 |
+The target group can be specified with the -g option. If omitted, the current group when the command is executed is targeted. |
|
97 |
+ |
|
98 |
+ |
|
99 |
+```nohighlight |
|
100 |
+$ group_backup -g gr19999 -l |
|
101 |
+ Num Filesystem Status Filesystem Status |
|
102 |
+ 1) /LARGE0/gr19999 ... Safe /LARGE1/gr19999 ... Backup <- バックアップ使用状態 |
|
103 |
+``` |
|
104 |
+ |
|
105 |
+ |
|
106 |
+**Setting the status to “Not Backup”** |
|
107 |
+ |
|
108 |
+ |
|
109 |
+```nohighlight |
|
110 |
+$ group_backup -g gr19999 --unsafe 1 |
|
111 |
+/LARGE0/gr19999: Safe => UnSafe |
|
112 |
+/LARGE1/gr19999: Backup => UnSafe |
|
113 |
+``` |
|
114 |
+ |
|
115 |
+ |
|
116 |
+**Checking the backup settings(after changes)** |
|
117 |
+ |
|
118 |
+ |
|
119 |
+```nohighlight |
|
120 |
+$ group_backup -g gr19999 -l |
|
121 |
+ Num Filesystem Status Filesystem Status |
|
122 |
+ 1) /LARGE0/gr19999 ... UnSafe /LARGE1/gr19999 ... UnSafe <- バックアップ未使用状態 |
|
123 |
+``` |
|
124 |
+ |
|
125 |
+**Return to the status to Backup** |
|
126 |
+ |
|
127 |
+ |
|
128 |
+```nohighlight |
|
129 |
+$ group_backup -g gr19999 --safe 1 |
|
130 |
+/LARGE0/gr19999: Unsafe => Safe |
|
131 |
+/LARGE1/gr19999: Unsafe => Backup |
|
132 |
+``` |
|
133 |
+ |
|
134 |
+ |
|
135 |
+ |
|
136 |
+## Cleaning Up Files in LARGE Disk Space(group_trash){#group_trash} |
|
137 |
+ |
|
138 |
+The **group_trash** command allows users to delete files(move to trash) in the LARGE disk space. It can delete the data files of users who are no longer enrolled due to graduation, etc. If you accidentally delete a file, you can recover it from the trash, but please note that the trash is emptied every Monday. |
|
139 |
+ |
|
140 |
+ |
|
141 |
+**Deleting files by the group_trash command** |
|
142 |
+ |
|
143 |
+Specify the target group with the -g option. If omitted, the group manager authority are determined by the current group when the command is executed. |
|
144 |
+ |
|
145 |
+ |
|
146 |
+ |
|
147 |
+```nohighlight |
|
148 |
+$ group_trash -g gr19999 /LARGE0/gr19999/file1 |
|
149 |
+file1 to Trash (/LARGE0/gr19999/.DpcTrash/b59999/2009-04-10_1010) |
|
150 |
+``` |
|
151 |
+## Managing Members Using Queue{#queue_members} |
|
152 |
+ |
|
153 |
+There are two types of units of management of Slurm queue privileges: users and groups. Users are empty by default, |
|
154 |
+Groups are initially registered with the group corresponding to the queue name as the default setting. |
|
155 |
+ |
|
156 |
+If you wish to use a queue with multiple groups, or if you wish to grant queue access to a single user who does not belong to a group, please contact us using the [Inquiry Form](https://www.iimc.kyoto-u.ac.jp/ja/inquiry/?q=consult). |
|
157 |
+ |
|
158 |
+## Job Scheduling Policy of Queue{#queue_policy} |
|
159 |
+ |
|
160 |
+You can select the job scheduling policy from the following three types. |
|
161 |
+If you are using an individual queue (grXXXXXx), you can change your preferred scheduling policy by contacting us from the applicant at [Inquiry Form](https://www.iimc.kyoto-u.ac.jp/ja/inquiry/?q=consult). |
|
162 |
+(We cannot accept requests for shared queues such as entry course or personal course.) |
|
163 |
+ |
|
164 |
+Settings | Operation |
|
165 |
+:-------:|------ |
|
166 |
+ pass | If there are sufficient computing resources to execute a job, it will overtake jobs waiting to be executed that are in line before it.<br>You can use computing resources efficiently, but large jobs may not be executed indefinitely.**【Default Value】** |
|
167 |
+ wait | It will not overtake jobs even if there is a enough computing resources. |
|
168 |
+backfill | Based on the calculations of the execution time limit (-t) of each job, it will overtake jobs only if it does not affect the execution start time of other jobs. For example, you can use resources effectively by executing small jobs that can complete execution before a large job is started. |
|
169 |
+ |
|
170 |
+ |
|
171 |
+<!-- |
|
172 |
+ |
|
173 |
+## キュー利用メンバーの管理(queue_acl_users, queue_acl_groups){#queue_members} |
|
174 |
+ |
|
175 |
+ |
|
176 |
+**queue_acl_users** コマンドおよび**queue_acl_groups**コマンドで、キュー利用メンバーの表示、追加、削除ができます。登録されているメンバーはキューへジョブを投入することができます。 |
|
177 |
+ |
|
178 |
+PBSの権限の管理の単位として、acl_usersとacl_groupsの2種類があります。acl_usersは初期設定では空にしており、acl_groupsには初期設定としてキュー名に対応するグループが最初から登録されています。 |
|
179 |
+ |
|
180 |
+複数のグループでキューを利用する場合は queue_acl_groups コマンドでグループを追加してください。ユーザ個別に追加する場合も、ユーザ名と同名のグループを追加することで対応可能です。 |
|
181 |
+ |
|
182 |
+複雑な制御として、特定のグループの特定のユーザのみに利用権限を付与したい場合は、acl_groupsだけでなく、acl_users にユーザを追加することで、両方の条件を満たす方のみがジョブ投入できるように制御可能です。 |
|
183 |
+ |
|
184 |
+**キュー利用メンバーの表示(acl_groups)** |
|
185 |
+ |
|
186 |
+ |
|
187 |
+```nohighlight |
|
188 |
+$ queue_acl_groups -q gr19999a -l |
|
189 |
+Request: acl_groups: gr19999 |
|
190 |
+PBS : acl_groups: gr19999 |
|
191 |
+``` |
|
192 |
+ |
|
193 |
+ |
|
194 |
+**キュー利用メンバーの追加(acl_groups)** |
|
195 |
+ |
|
196 |
+```nohighlight |
|
197 |
+$ queue_acl_groups -q gr19999a -a gr19999 |
|
198 |
+``` |
|
199 |
+ |
|
200 |
+**キュー利用メンバーの削除(acl_groups)** |
|
201 |
+ |
|
202 |
+ |
|
203 |
+```nohighlight |
|
204 |
+$ queue_acl_groups -q gr19999a -d gr19999 |
|
205 |
+``` |
|
206 |
+ |
|
207 |
+* どの操作についても、-qオプションによるキューの指定が必須となります。 |
|
208 |
+* メンバーの追加や削除は、設定変更の翌日の朝にジョブスケジューラシステムに反映されます。(将来的に1時間に1回程度に改善する予定です) |
|
209 |
+ |
|
210 |
+## キュー利用メンバーの管理(queue_members){#queue_members} |
|
211 |
+ |
|
212 |
+ |
|
213 |
+**queue_members** コマンドで、キュー利用メンバーの表示、追加、削除ができます。登録されているメンバーはキューへジョブを投入することができます。なお、グループコースキューには、初期設定として当該グループが最初から登録されています。 |
|
214 |
+ |
|
215 |
+**キュー利用メンバーの表示** |
|
216 |
+ |
|
217 |
+ |
|
218 |
+```nohighlight |
|
219 |
+$ queue_members -q gr19999a -l |
|
220 |
+gr19999 |
|
221 |
+w12345 |
|
222 |
+``` |
|
223 |
+ |
|
224 |
+ |
|
225 |
+**キュー利用メンバーの追加** |
|
226 |
+ |
|
227 |
+ |
|
228 |
+```nohighlight |
|
229 |
+$ queue_members -q gr19999a -a b67890 |
|
230 |
+``` |
|
231 |
+ |
|
232 |
+ |
|
233 |
+**キュー利用メンバーの削除** |
|
234 |
+ |
|
235 |
+ |
|
236 |
+```nohighlight |
|
237 |
+$ queue_members -q gr19999a -d w12345 |
|
238 |
+``` |
|
239 |
+ |
|
240 |
+ |
|
241 |
+* どの操作についても、-qオプションによるキューの指定が必須となります。 |
|
242 |
+* メンバーの追加や削除は、設定変更の翌日の朝にジョブスケジューラシステムに反映されます。 |
|
243 |
+ |
|
244 |
+ |
|
245 |
+ |
|
246 |
+## キューのジョブスケジューリングポリシー設定(queue_policy){#queue_policy} |
|
247 |
+ |
|
248 |
+[オンライン相談室](http://www.iimc.kyoto-u.ac.jp/ja/services/comp/contact.html#consult)にメールで依頼いただくことで、キューのジョブスケジューリングについてのポリシー設定ができます。キューに投入されたジョブの実行順序を決めるポリシー(SCHEDULING_POLICY)と、実行順序が自分より早いジョブを追い越して実行してもよいかを設定するポリシー(PASSING_POLICY)の2種類について設定が可能です。 |
|
249 |
+ |
|
250 |
+ |
|
251 |
+* SCHEDULING_POLICY |
|
252 |
+ |
|
253 |
+ |
|
254 |
+ |
|
255 |
+ 設定値 | 動作 |
|
256 |
+ :-----------:|:-------------------------------------------------------------------------: |
|
257 |
+ fcfs | キューに投入された順番でジョブを実行する先着順スケジューリング(First-Come, First-Served)。初期設定値。 |
|
258 |
+ fairshare | ユーザ間でリソースを公平に使用できるように動的優先順位を内部で計算し、優先順位の高いユーザのジョブから順に実行するフェアシェアスケジューリング。 |
|
259 |
+ |
|
260 |
+ |
|
261 |
+* PASSING_POLICY |
|
262 |
+ |
|
263 |
+ |
|
264 |
+ |
|
265 |
+ 設定値 | 動作 |
|
266 |
+ :----------:|:------: |
|
267 |
+ pass | あるジョブを実行するのに十分な計算資源がある場合、そのジョブよりも前に並んでいる実行待ちジョブを追い越して実行する。効率的に計算資源を利用できるが、大規模なジョブがいつまでも実行されない可能性が生じる。初期設定値。 |
|
268 |
+ wait | 計算資源に空きがある場合でも、ジョブ間の追越しは発生しない。 |
|
269 |
+ backfill | 各ジョブの実行時間制限(-W)をもとに計算を行い、他のジョブの実行開始時刻に影響を及ぼさない場合のみ、追越しが発生する。たとえば、大規模ジョブが開始されるまでの間に実行を完了できる小さなジョブを走らせることで資源を有効活用できる。 |
|
270 |
+--> |
|
271 |
+ |
|
272 |
+ |
|
273 |
+## Confirmation of job execution status and cancellation of the queue(spadmin){#spadmin} |
|
274 |
+ |
|
275 |
+You can confirm the job execution status of queues registered as a group manager and cancel the jobs with the **spadmin** command. |
|
276 |
+ |
|
277 |
+* Confirmation of job execution status |
|
278 |
+```nohighlight |
|
279 |
+$ spadmin list -p gr19999b ## Please change the "gr19999b" part to the queue name you wish to confirm. |
|
280 |
+ JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) |
|
281 |
+ 4781 gr19999b run_cpu2 b59999 R 1:26:09 1 nb0001 |
|
282 |
+``` |
|
283 |
+ |
|
284 |
+* Cancellation of the job |
|
285 |
+```nohighlight |
|
286 |
+$ spadmin cancel 123 |
|
287 |
+scancel: Terminating job 123 |
|
288 |
+``` |
|
289 |
+ |
|
290 |
+If anyone other than the group manager execute the **spadmin** command, the following error message will be displayed. |
|
291 |
+```nohighlight |
|
292 |
+$ spadmin list -p gr19999g |
|
293 |
+Authorization Failure |
|
294 |
+``` |
0 | 295 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,136 @@ |
1 |
+--- |
|
2 |
+title: 'HPCI User''s Guide' |
|
3 |
+media_order: 'hpci_statistics.png,portal_password_02.png,portal_password_01.png,portal_password_new_02.png,hpci_statistics_new.png,portal_password_new_01.png' |
|
4 |
+published: true |
|
5 |
+taxonomy: |
|
6 |
+ category: |
|
7 |
+ - docs |
|
8 |
+external_links: |
|
9 |
+ process: true |
|
10 |
+ no_follow: true |
|
11 |
+ target: _blank |
|
12 |
+ mode: active |
|
13 |
+--- |
|
14 |
+ |
|
15 |
+[toc] |
|
16 |
+ |
|
17 |
+This page explains how to use Academic Center for Computing and Media Studies, Kyoto University (ACCMS) for HPCI. |
|
18 |
+ |
|
19 |
+## Procedure to Start the Service{#usage_approval} |
|
20 |
+For those who have completed registration for use of our supercomputer, we will send a Notification of the Registration Completion by email. |
|
21 |
+Once you receive the Notification of the Registration Completion, please follow [the Procedure to Start the Service](/misc/portal_init). |
|
22 |
+ |
|
23 |
+### Usage of User ID{#usage_usernum} |
|
24 |
+The user ID notified in the “Notification of the Registration Completion” is used for the purposes shown in the table below. It may fall into both categories. You can confirm the primary center and computing resources from [HPCI online application system](https://www.hpci-office.jp/entry/) . |
|
25 |
+ |
|
26 |
+| Category | Usage of user ID | |
|
27 |
+|------------------------|---------------------------------------------------------------| |
|
28 |
+| Those who designate Kyoto University as the primary center | Use this user ID as a **HPCI account** when WEB authentication is required, such as issuing a certificate. | |
|
29 |
+<!-- |
|
30 |
+| 京都大学の計算資源を利用の方 | 京都大学の計算資源内でのみ有効なログインIDです。HPCIの利用において意識する必要性は低いですが、直接SSH接続することも可能です。| |
|
31 |
+--> |
|
32 |
+## How to use the system{#use_system} |
|
33 |
+### How to log in to the system{#system_login} |
|
34 |
+Please refer to the [Manual provided by HPCI](https://www.hpci-office.jp/en/for_users/hpci_info_manuals) for how to issue client certificates and log in. |
|
35 |
+<!-- |
|
36 |
+京都大学の計算資源を使用する場合のホスト名は、以下の通りです。 |
|
37 |
+なお、電子証明書発行後にログインを許可する登録処理を行いますので、15分程度時間を空けてログインしてください。 |
|
38 |
+ |
|
39 |
+| システム名 | ホスト名 | |
|
40 |
+|-------------------------------|-----------------------------------------| |
|
41 |
+| システムA(Cray XC40) | camphor.kudpc.kyoto-u.ac.jp | |
|
42 |
+--> |
|
43 |
+HPCI uses client certificates to log in to resource providers via SSH (GSI-SSH) with GSI authentication (Grid Security Infrastructure). |
|
44 |
+ |
|
45 |
+<!-- |
|
46 |
+### 京都大学の計算資源経由でHPCIを利用する場合{#hpci_via_kuresources} |
|
47 |
+京都大学の計算資源には、GSI-SSHに必要となる gsissh コマンドおよび myproxy-logon コマンドを用意してあります。 |
|
48 |
+ |
|
49 |
+京都大学の計算資源を利用可能な方は [こちら](https://web.kudpc.kyoto-u.ac.jp/manual/ja/login) のページを参考にログインいただくと、 |
|
50 |
+HPCI用の環境構築を行わなくとも、京都大学の計算資源経由で他のシステム構成機関にログインすることが可能です。 |
|
51 |
+その場合は、以下のように myproxy-logon(代理証明書の取得)および gsissh コマンドを利用してください。 |
|
52 |
+ |
|
53 |
+```nohighlight |
|
54 |
+## 代理証明書の取得 (hpci00XXXX は 自身のHPCI-IDに置き換え) |
|
55 |
+$ myproxy-logon -s portal.hpci.nii.ac.jp -l hpci00XXXX |
|
56 |
+ |
|
57 |
+## 他の資源提供機関へのログイン{#login_of_other_facility} |
|
58 |
+$ gsissh host01.example.jp |
|
59 |
+``` |
|
60 |
+ |
|
61 |
+### システムの利用方法{#using_system} |
|
62 |
+システムの利用方法は、[システムへの接続方法](https://web.kudpc.kyoto-u.ac.jp/manual/ja/login) などをご覧ください。 |
|
63 |
+HPCIで利用できるシステムはシステムA(Cray XC40)となっています。 |
|
64 |
+ |
|
65 |
+#### 計算資源の利用{#using_computing} |
|
66 |
+HPCIの計算資源を利用するには、バッチでのジョブ投入時に以下のキュー名を指定する必要があります。 |
|
67 |
+バッチシステムの詳しい利用方法は、[バッチ処理(システムA)](https://web.kudpc.kyoto-u.ac.jp/manual/ja/run/systema) をご覧ください。 |
|
68 |
+**キュー名に含まれるHPCI課題IDは初回採択時課題IDが利用されます。** |
|
69 |
+ |
|
70 |
+| 分類 | システム | 種別 | キュー名 | ノード数(2022年度) | 備考| |
|
71 |
+|-----------|---------------|-----------------|-----------------|-------------------|---------------------| |
|
72 |
+| HPCI | A | 通期利用 | hpa | 200 ノード | HPCIの利用者で共有します。複数の課題で共有して使用しますので、長期間の占有利用は控えてください。| |
|
73 |
+| HPCI-JHPCN | A | 通期利用 | jha | 52 ノード | HPCI-JHPCNの利用者で共有します。複数の課題で共有して使用しますので、長期間の占有利用は控えてください。| |
|
74 |
+| HPCI-JHPCN | A | 集中利用 | jhXXXXXXa | 64 ノード | 「jhXXXXXX」は課題IDに置き換えてください。利用期間は課題代表者に個別に通知します。| |
|
75 |
+ |
|
76 |
+#### 課題ID(グループ)の指定{#group_assign} |
|
77 |
+京都大学では、HPCIで複数課題に採択された場合でも同じのログインID(利用者番号)を使用します。 |
|
78 |
+バッチでのジョブ投入時に、キュー名およびグループ名を明示的に指定することで課題を切り替えてください。 |
|
79 |
+ |
|
80 |
+下の例はバッチジョブの投入に必要となるジョブスクリプトのシステムAでのサンプルです。 |
|
81 |
+「#QSUB -ug 」でグループ名にhp189999を指定しています。グループ名のHPCI課題IDには初回採択時課題IDが利用されます。 |
|
82 |
+ |
|
83 |
+```nohighlight |
|
84 |
+$ cat sample.sh |
|
85 |
+#!/bin/bash |
|
86 |
+#============ PBS Options ============ |
|
87 |
+#QSUB -q hpa |
|
88 |
+#QSUB -ug hp189999 |
|
89 |
+#QSUB -W 2:00 |
|
90 |
+#QSUB -A p=4:t=8:c=8:m=1800M |
|
91 |
+#============ Shell Script ============ |
|
92 |
+aprun -n $QSUB_PROCS -d $QSUB_THREADS -N $QSUB_PPN ./a.out |
|
93 |
+``` |
|
94 |
+ |
|
95 |
+### ストレージの利用{#use_storage} |
|
96 |
+#### 京都大学のストレージ{#ku_storage} |
|
97 |
+HPCIの課題で利用できる京都大学のストレージのパスは以下の通りです。 |
|
98 |
+/LARGE0, /LARGE1 または /LARGE2, /LARGE3 のどちらかの組み合わせを利用いただけます。 |
|
99 |
+利用可能なLARGE領域は課題代表者及び連絡責任者の方にメールで通知しています。 |
|
100 |
+ |
|
101 |
+課題あたりに利用可能な容量は以下の通りです。 |
|
102 |
+ |
|
103 |
+| 課題 | 利用可能な容量 | |
|
104 |
+|--------------------|------------------------------------------------| |
|
105 |
+|HPCIのシステムA利用課題| 資源提供通知の大容量ディスク欄に記載 (/LARGE0, /LARGE1 または /LARGE2, /LARGE3 に半分ずつ割当)| |
|
106 |
+|HPCI-JHPCNのシステムA利用課題| 資源提供通知の大容量ディスク欄に記載 (/LARGE0, /LARGE1 または /LARGE2, /LARGE3 に半分ずつ割当)| |
|
107 |
+ |
|
108 |
+/LARGE1および/LARGE3は、初期状態で/LARGE0 ならびに /LARGE2のバックアップ先となっています。 |
|
109 |
+/LARGE1および3はバックアップを解除することで利用可能になります。 |
|
110 |
+バックアップ設定の変更は、[お問い合わせフォーム](http://www.iimc.kyoto-u.ac.jp/ja/inquiry/?q=consult) よりご依頼ください。 |
|
111 |
+ |
|
112 |
+この他にホームディレクトリが、100GBまで利用できます。 |
|
113 |
+ストレージの詳しい利用方法は、[ファイルシステムの利用](https://web.kudpc.kyoto-u.ac.jp/manual/ja/filesystem) をご覧ください。 |
|
114 |
+ |
|
115 |
+#### 共用ストレージ{#shared_storage} |
|
116 |
+HPCI共用ストレージの利用が可能な課題の利用者向けのマウントポイントは以下の通りです。 |
|
117 |
+詳しい利用方法は、[HPCI共用ストレージ利用マニュアル](https://www.hpci-office.jp/pages/hpci_info_manuals) をご覧ください。 |
|
118 |
+ |
|
119 |
+| マウントポイント | |
|
120 |
+| ----------------------- | |
|
121 |
+| /gfarm/課題ID/利用者番号 | |
|
122 |
+ |
|
123 |
+#### 利用状況の確認{#check_using_status} |
|
124 |
+[利用者ポータル](https://web.kudpc.kyoto-u.ac.jp/portal/) にログインし、 |
|
125 |
+上部メニューの統計情報から、左メニューのHPCI統計をクリックすると利用状況が確認できます。 |
|
126 |
+ |
|
127 |
+![](hpci_statistics_new.png) |
|
128 |
+ |
|
129 |
+コア経過時間(秒)の値を3600で割って単位を「時間」にし、68(システムAのノード当たりコア数) で割っていただければ、 |
|
130 |
+利用可能枠のノード時間に対する利用実績を算出することができます。 |
|
131 |
+なお、このページではキューを利用可能な全ユーザの情報が表示されますので、それらを合計した値と課題割当時間を比較していただく必要があります。 |
|
132 |
+--> |
|
133 |
+ |
|
134 |
+#### Information Sharing CMS{#info_cms} |
|
135 |
+For HPCI users, we are operating a management system for disseminating information to users from each system component organization and for sharing documents within the projects. |
|
136 |
+* [Information Sharing CMS](https://www.hpci-office.jp/pages/info_cms) |