From be83ee0b301f0e6b290e6ba6627f6fb42674af5e Mon Sep 17 00:00:00 2001 From: Javier Otero Date: Wed, 3 Mar 2021 17:59:17 +0100 Subject: [PATCH] Add parallel init for dgemm --- cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py | 13 +++++++------ cscs-checks/microbenchmarks/cpu/dgemm/src/dgemm.c | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py b/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py index 518b217277..8382849e43 100644 --- a/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py +++ b/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py @@ -36,12 +36,10 @@ def __init__(self): self.build_system.cflags = ['-O3'] self.sys_reference = { 'daint:gpu': (300.0, -0.15, None, 'Gflop/s'), - 'daint:mc': (860.0, -0.15, None, 'Gflop/s'), + 'daint:mc': (1040.0, -0.15, None, 'Gflop/s'), 'dom:gpu': (300.0, -0.15, None, 'Gflop/s'), - 'dom:mc': (860.0, -0.15, None, 'Gflop/s'), - - # FIXME: This needs further investigation (see SD-51352) - 'eiger:mc': (650.0, -0.15, None, 'Gflop/s'), + 'dom:mc': (1040.0, -0.15, None, 'Gflop/s'), + 'eiger:mc': (3200.0, -0.15, None, 'Gflop/s'), } self.maintainers = ['AJ', 'VH'] self.tags = {'benchmark', 'diagnostic', 'craype'} @@ -80,7 +78,10 @@ def set_tasks(self): if self.num_cpus_per_task: self.variables = { - 'OMP_NUM_THREADS': str(self.num_cpus_per_task) + 'OMP_NUM_THREADS': str(self.num_cpus_per_task), + 'OMP_BIND': 'cores', + 'OMP_PROC_BIND': 'spread', + 'OMP_SCHEDULE': 'static' } @sn.sanity_function diff --git a/cscs-checks/microbenchmarks/cpu/dgemm/src/dgemm.c b/cscs-checks/microbenchmarks/cpu/dgemm/src/dgemm.c index 211c346671..7aa13a808e 100644 --- a/cscs-checks/microbenchmarks/cpu/dgemm/src/dgemm.c +++ b/cscs-checks/microbenchmarks/cpu/dgemm/src/dgemm.c @@ -49,8 +49,11 @@ int main(int argc, char* argv[]) printf("%s: LOOP COUNT\t\t\t:\t%d \n", hostname, LOOP_COUNT); printf("\n"); +#pragma omp parallel for for (i=0; i