... | @@ -11,25 +11,31 @@ Usage : linktest [options] |
... | @@ -11,25 +11,31 @@ Usage : linktest [options] |
|
|
|
|
|
Possible options (default values in parathesis):
|
|
Possible options (default values in parathesis):
|
|
|
|
|
|
-h/--help print help message and exit
|
|
-h/--help Print this help message and exit
|
|
-v/--version print version and exit
|
|
-v/--version Print Linktest version and exit
|
|
-w/--num-warmup-messages VAL number of warmup pingpong messages [REQUIRED]
|
|
-m/--mode VAL Transport Layer to be used [REQUIRED]*
|
|
-n/--num-messages VAL number of pingpong messages [REQUIRED]
|
|
-w/--num-warmup-messages VAL Number of warm-up messages [REQUIRED]
|
|
-s/--size-messages VAL message size in bytes [REQUIRED]
|
|
-n/--num-messages VAL Number of messages [REQUIRED]
|
|
-m/--mode VAL transport Layer to be used [REQUIRED]*
|
|
-s/--size-messages VAL Message size in bytes [REQUIRED]
|
|
--all-to-all additionally perform MPI all-to-all tests (0)
|
|
-o/--output VAL output file name (pingpong_results_bin.sion)
|
|
--bidirectional perform bidirectional tests (0)
|
|
--no-sion-file Do not write data to sion file (0)
|
|
--use-gpu-memory use GPU memory to store messages (0)
|
|
--parallel-sion-file Write data SION file in parallel (0)
|
|
--bisection perform a bandwidth tests between bisecting halves (0)
|
|
--num-slowest VAL Number of slowest pairs to be retested (10)
|
|
--randomize randomize testing order (0)
|
|
--min-iterations VAL Linktest repeats for at least <min_iterations> (1)
|
|
--serial-tests serialize tests (0)
|
|
--min-runtime VAL Linktest runs for at least <min_runtime> seconds communication time (0.0)
|
|
--no-sion-file do not write data to sion file (0)
|
|
--memory_buffer_allocator VAL Allocator type for memory (DEFAULT)
|
|
--parallel-sion-file write data in parallel (sion) (0)
|
|
--all-to-all Additionally perform MPI all-to-all tests (0)
|
|
--num-slowest VAL number of slowest pairs to be retested (10)
|
|
--unidirectional Perform unidirectional tests (0)
|
|
--min-iterations VAL linktest repeats for at least <min_iterations> (1)
|
|
--bidirectional Perform bidirectional tests (0)
|
|
--min-runtime VAL linktest runs for at least <min_runtime> seconds communication time (0.0)
|
|
--bisection Test between bisecting halves (0)
|
|
-o/--output VAL output file name (pingpong_results_bin.sion)
|
|
--serial-tests Serialize tests (0)
|
|
|
|
--randomize Randomize test order (0)
|
|
|
|
--use-gpu-memory Use GPU memory to store message buffers (0)
|
|
|
|
--multi_buf Use multiple send and receive buffers (0)
|
|
|
|
--num_multi_buf VAL Number of buffers when using multiple buffers (0)
|
|
|
|
--randomize-buffers Randomize buffers (0)
|
|
|
|
--mt_seed VAL Seed for buffer randomization (1234567890)
|
|
|
|
--check_buffers Check buffers after timing kernel (0)
|
|
|
|
|
|
* This build supports [<<<SUPPORTED COMMUNICATION APIs>>>].
|
|
* This build supports [<<<SUPPORTED COMMUNICATION APIs>>>].
|
|
Alternatively to --mode, the transport layer can be defined by using linktest.LAYER
|
|
Alternatively to --mode, the transport layer can be defined by using linktest.LAYER
|
... | @@ -43,16 +49,20 @@ FZJ Linktest (<<<VERSION>>>) |
... | @@ -43,16 +49,20 @@ FZJ Linktest (<<<VERSION>>>) |
|
```
|
|
```
|
|
where `<<<VERSION>>>` is the three part version of Linktest executable. Like the `-h` or `--help` option Linktest does not need to be executed with this option. This option supersedes all other aside from the `-h` or `--help` option.
|
|
where `<<<VERSION>>>` is the three part version of Linktest executable. Like the `-h` or `--help` option Linktest does not need to be executed with this option. This option supersedes all other aside from the `-h` or `--help` option.
|
|
|
|
|
|
|
|
`-m` or `--mode`: Specifies that the following ASCII string indicates the communication API to use for testing. Alternatively the communication API can be extracted from the extension of the Linktest executable name or from the `LINKTEST_VCLUSTER_IMPL` environment variable. When multiple ways of specifying the communication API are used then `-m` or `--mode` supersedes the linktest executable extension, which in turn also supersedes the `LINKTEST_VCLUSTER_IMPL` environment variable.
|
|
|
|
|
|
`-w`or `--num-warmup-messages`: Specifies that the following integer indicates the number of warm-up messages to use to warm up a connection before testing it. When not printing help or version information this command-line argument is required.
|
|
`-w`or `--num-warmup-messages`: Specifies that the following integer indicates the number of warm-up messages to use to warm up a connection before testing it. When not printing help or version information this command-line argument is required.
|
|
|
|
|
|
`-n` or `--num-messages`: Specifies that the following integer indicates the number of messages measurements should be averaged over during testing. When not printing help or version information this command-line argument is required.
|
|
`-n` or `--num-messages`: Specifies that the following integer indicates the number of messages measurements should be averaged over during testing. When not printing help or version information this command-line argument is required.
|
|
|
|
|
|
`-s` or `--size-messages`: Specifies that the following integer indicates the message size in bytes for testing. When not printing help or version information this command-line argument is required.
|
|
`-s` or `--size-messages`: Specifies that the following integer indicates the message size in bytes for testing. When not printing help or version information this command-line argument is required.
|
|
|
|
|
|
`-m` or `--mode`: Specifies that the following ASCII string indicates the communication API to use for testing. Alternatively the communication API can be extracted from the extension of the Linktest executable name or from the `LINKTEST_VCLUSTER_IMPL` environment variable. When multiple ways of specifying the communication API are used then `-m` or `--mode` supersedes the linktest executable extension, which in turn also supersedes the `LINKTEST_VCLUSTER_IMPL` environment variable.
|
|
|
|
|
|
|
|
`-o` or `--output`: Specifies that the following string indicates the filename of the output SION file.
|
|
`-o` or `--output`: Specifies that the following string indicates the filename of the output SION file.
|
|
|
|
|
|
|
|
`--no-sion-file`: Specifies that the collected results should not be written out into a SION file.
|
|
|
|
|
|
|
|
`--parallel-sion-file`: Specifies that the collected results should be written out into a SION file in parallel if writing is enabled.
|
|
|
|
|
|
`--num-slowest`: Specifies that the following integer indicates the number of slowest connections to serially retest after the end of the main test.
|
|
`--num-slowest`: Specifies that the following integer indicates the number of slowest connections to serially retest after the end of the main test.
|
|
|
|
|
|
`--min-iterations`: Specifies that the following integer indicates the number of times the linktest benchmark should be repeated. If not one the writing of SION files is disabled. This command-line argument is useful to apply a communication load to the system.
|
|
`--min-iterations`: Specifies that the following integer indicates the number of times the linktest benchmark should be repeated. If not one the writing of SION files is disabled. This command-line argument is useful to apply a communication load to the system.
|
... | @@ -69,26 +79,29 @@ where `<<<VERSION>>>` is the three part version of Linktest executable. Like the |
... | @@ -69,26 +79,29 @@ where `<<<VERSION>>>` is the three part version of Linktest executable. Like the |
|
| `POSIX_aligned-memory_allocator` | Uses `posix_memalign` to allocate buffers on a page boundary. |
|
|
| `POSIX_aligned-memory_allocator` | Uses `posix_memalign` to allocate buffers on a page boundary. |
|
|
| `CUDA_memory_allocator` | Uses CUDA `memalloc` to allocate memory on the GPU. |
|
|
| `CUDA_memory_allocator` | Uses CUDA `memalloc` to allocate memory on the GPU. |
|
|
|
|
|
|
|
|
|
|
`--all-to-all`: Specifies that all-to-all testing should be done before and after the main Linktest test if the used communication API is MPI.
|
|
`--all-to-all`: Specifies that all-to-all testing should be done before and after the main Linktest test if the used communication API is MPI.
|
|
|
|
|
|
`--bidirectional`: Specifies that testing should occur bidirectionally instead of semi-directionally, which is the default.
|
|
`--unidirectional`: Specifies that testing should occur unidirectionally instead of semi-directionally, which is the default. Only communication-API MPI is currently supported.
|
|
|
|
|
|
`--unidirectional`: Specifies that testing should occur unidirectionally instead of semi-directionally, which is the default. Cannot be used in conjunction with `--bidirectional`.
|
|
`--bidirectional`: Specifies that testing should occur bidirectionally instead of semi-directionally, which is the default. Cannot be used in conjunction with `--unidirectional`.
|
|
|
|
|
|
`--bisection`: Specifies that the tasks for testing should be split in two halves and that testing should only occur between these two. This is useful for determining bisection bandwidths.
|
|
`--bisection`: Specifies that the tasks for testing should be split in two halves and that testing should only occur between these two. This is useful for determining bisection bandwidths.
|
|
|
|
|
|
|
|
`--serial-tests`: Specifies that connections should be tested in serial. By default testing occurs in parallel.
|
|
|
|
|
|
`--randomize`: Specifies that the order in which tests are performed is to be randomized.
|
|
`--randomize`: Specifies that the order in which tests are performed is to be randomized.
|
|
|
|
|
|
`--serial-tests`: Specifies that connections should be tested in serial. By default testing occurs in parallel.
|
|
`--use-gpu-memory`: Specifies that GPU memory should be used for the message buffers.
|
|
|
|
|
|
`--no-sion-file`: Specifies that the collected results should not be written out into a SION file.
|
|
`--multi_-buffers_buf`: Specifies that multiple message buffers should be used for sending and receiving messages. Currently only works in conjunction with MPI and unidirectional testing.
|
|
|
|
|
|
`--parallel-sion-file`: Specifies that the collected results should be written out into a SION file in parallel if writing is enabled.
|
|
`--num_multi_buf`: Specifies that the following integer indicates the number of multiple buffers to be used. Should be between 2 and the maximum of the number of messages and warm-up messages.
|
|
|
|
|
|
|
|
`--randomize-buffers`: Specifies that the buffers should be randomized before sending and receiving. Randomization is done using the Mersenne Twister 19937 algorithm, which has a period of 2^19937-1. Currently does not work for GPU buffers.
|
|
|
|
|
|
`--randomize-buffers`: Specifies that the buffers should be randomized before sending and receiving. Randomization is done using the Mersenne Twister 19937 algorithm, which has a period of 2^19937-1.
|
|
`--mt_seed`: Specifies that the following integer is to be used as a seed for buffer randomization. This option is only important if `--randomize-buffers` is specified. The seed value can be between 1 and 2^32-1. Currently does not work for GPU buffers.
|
|
|
|
|
|
`--mt_seed`: Specifies that the following integer is to be used as a seed for buffer randomization. This option is only important if `--randomize-buffers` is specified. The seed value can be between 1 and 2^32-1.
|
|
`check_buffers`: Specifies that buffers should be checked after each step. This only detects errors if during the last time the buffer was written to the buffer was corrupted. If one of the messages in the middle is incorrectly transferred this will not detect it.
|
|
|
|
|
|
The arguments num-warmup-messages, num-messages & size-messages are required. The transport layer is usually given through the --mode option. In rare cases where this doesn't work, you can fall back to the linktest.LAYER executables, and/or set the environment variable `LINKTEST_VCLUSTER_IMPL`.
|
|
The arguments num-warmup-messages, num-messages & size-messages are required. The transport layer is usually given through the --mode option. In rare cases where this doesn't work, you can fall back to the linktest.LAYER executables, and/or set the environment variable `LINKTEST_VCLUSTER_IMPL`.
|
|
|
|
|
... | | ... | |