osu
This module tests the binary 'osu' in available modules containing substring 'OSU-Micro-Benchmarks'. The basic application class is taken from the hpctestlib to which extra features are added.
Note: OSU-Micro-Benchmarks CUDA module binaries must be linked to stubs so that it at the least finds libcuda.so.1 on non-GPU nodes. Otherwise those tests will FAIL.
EESSI_OSU_Base
¶
Bases: osu_benchmark
base class for OSU tests
filter_scales_2gpus()
¶
Filter out scales with < 2 GPUs if running on GPUs
set_device_buffers()
¶
device_buffers is inherited from the hpctestlib class and adds options to the launcher commands in a @run_before('setup') hook if not equal to 'cpu'. Therefore, we must set device_buffers before the @run_before('setup') hooks.
set_tags()
¶
Setting custom tags
EESSI_OSU_coll
¶
Bases: EESSI_OSU_Base
, EESSI_Mixin
collective OSU test
EESSI_OSU_pt2pt_Base
¶
Bases: EESSI_OSU_Base
point-to-point OSU test base class
adjust_executable_opts()
¶
The option "D D" is only meant for Devices if and not for CPU tests. This option is added by hpctestlib in a @run_before('setup') to all pt2pt tests which is not required. Therefore we must override it after the 'setup' phase
filter_benchmark_pt2pt()
¶
Filter out all non-mpi.pt2pt benchmarks
select_ci()
¶
Select the CI variants
set_num_tasks_per_compute_unit()
¶
Setting number of tasks per compute unit and cpus per task. This sets num_cpus_per_task for 1 node and 2 node options where the request is for full nodes.
EESSI_OSU_pt2pt_CPU
¶
EESSI_OSU_pt2pt_GPU
¶
filter_scales_coll()
¶
Filtering function for filtering scales for the collective OSU test returns all scales with at least 2 cores
filter_scales_pt2pt_cpu()
¶
Filtering function for filtering scales for the pt2pt OSU test on CPUs returns all scales with either 2 cores, 1 full node, or 2 full nodes
filter_scales_pt2pt_gpu()
¶
Filtering function for filtering scales for the pt2pt OSU test on GPUs returns all scales with either a partial node, 1 full node, or 2 full nodes