From 9218ae229468403d34d29541394d1034b4ea7a6c Mon Sep 17 00:00:00 2001 From: Theofilos Manitaras Date: Tue, 27 Aug 2019 13:32:25 +0200 Subject: [PATCH 1/2] Revise limits for async kernel latency test * Add PrgEnv-cray_classic in programming environments --- .../microbenchmarks/kernel_latency/kernel_latency.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py b/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py index 442cb90594..8c9a4aee88 100644 --- a/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py +++ b/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py @@ -6,7 +6,6 @@ @rfm.parameterized_test(['sync'], ['async']) class KernelLatencyTest(rfm.RegressionTest): def __init__(self, kernel_version): - super().__init__() # List known partitions here so as to avoid specifying them every time # with --system self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn'] @@ -19,8 +18,8 @@ def __init__(self, kernel_version): self.num_gpus_per_node = 1 gpu_arch = '60' self.modules = ['craype-accel-nvidia60'] - self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-pgi', - 'PrgEnv-gnu'] + self.valid_prog_environs = ['PrgEnv-cray_classic', 'PrgEnv-cray', + 'PrgEnv-pgi', 'PrgEnv-gnu'] elif self.current_system.name == 'kesch': self.num_gpus_per_node = 16 self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-pgi'] @@ -75,10 +74,10 @@ def __init__(self, kernel_version): }, 'async': { 'dom:gpu': { - 'latency': (2.2, None, 0.10, 'us') + 'latency': (2.2, None, 0.15, 'us') }, 'daint:gpu': { - 'latency': (2.2, None, 0.10, 'us') + 'latency': (2.2, None, 0.15, 'us') }, 'kesch:cn': { 'latency': (5.7, None, 0.10, 'us') From 947f0286fe017fe06422531f5df7f649235f3c03 Mon Sep 17 00:00:00 2001 From: Theofilos Manitaras Date: Wed, 28 Aug 2019 13:40:39 +0200 Subject: [PATCH 2/2] Increase iterations for consistency in reported latency --- .../microbenchmarks/kernel_latency/kernel_latency.py | 6 +++--- .../microbenchmarks/kernel_latency/src/kernel_latency.cu | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py b/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py index 8c9a4aee88..89144f8ada 100644 --- a/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py +++ b/cscs-checks/microbenchmarks/kernel_latency/kernel_latency.py @@ -13,7 +13,7 @@ def __init__(self, kernel_version): self.num_tasks_per_node = 1 self.sourcepath = 'kernel_latency.cu' self.build_system = 'SingleSource' - self.build_system.cxxflags = ['-std=c++11'] + self.build_system.cxxflags = ['-std=c++11', '-O3'] if self.current_system.name in {'dom', 'daint'}: self.num_gpus_per_node = 1 gpu_arch = '60' @@ -74,10 +74,10 @@ def __init__(self, kernel_version): }, 'async': { 'dom:gpu': { - 'latency': (2.2, None, 0.15, 'us') + 'latency': (2.2, None, 0.10, 'us') }, 'daint:gpu': { - 'latency': (2.2, None, 0.15, 'us') + 'latency': (2.2, None, 0.10, 'us') }, 'kesch:cn': { 'latency': (5.7, None, 0.10, 'us') diff --git a/cscs-checks/microbenchmarks/kernel_latency/src/kernel_latency.cu b/cscs-checks/microbenchmarks/kernel_latency/src/kernel_latency.cu index b8156ea9d6..461fd282a6 100644 --- a/cscs-checks/microbenchmarks/kernel_latency/src/kernel_latency.cu +++ b/cscs-checks/microbenchmarks/kernel_latency/src/kernel_latency.cu @@ -37,7 +37,7 @@ int main(int argc, char* argv[]) { null_kernel<<<1, 1>>>(); auto t_start = std::chrono::system_clock::now(); - const int kernel_count = 1000; + const int kernel_count = 5000; for (int j = 0; j < kernel_count; ++j) { null_kernel<<<1, 1>>>();