Skip to content

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

filter_benchmark_coll()

Filter out all non-mpi.collective benchmarks

select_ci()

Select the CI variants

set_compute_unit()

Set the compute unit to which tasks will be assigned: one task per core for CPU runs, and one task per GPU for GPU runs.

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

Bases: EESSI_OSU_pt2pt_Base, EESSI_Mixin

point-to-point OSU test on CPUs

EESSI_OSU_pt2pt_GPU

Bases: EESSI_OSU_pt2pt_Base, EESSI_Mixin

point-to-point OSU test on GPUs

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