From 51d8b28ed980bddb00dd4037eceb180b8edfb883 Mon Sep 17 00:00:00 2001 From: Theofilos Manitaras Date: Thu, 11 Apr 2019 10:57:00 +0200 Subject: [PATCH 1/4] Fix nvprof, cuda_gdb test using ldflags --- cscs-checks/tools/profiling_and_debugging/cuda_gdb.py | 2 +- cscs-checks/tools/profiling_and_debugging/nvprof.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py b/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py index fdff4c0986..5a0efb20c6 100644 --- a/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py +++ b/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py @@ -27,7 +27,7 @@ def __init__(self): '-fopenmp'] nvidia_sm = '37' if self.current_system.name == 'kesch' else '60' self.build_system.cxxflags = ['-g', '-G', '-arch=sm_%s' % nvidia_sm] - self.build_system.ldflags = ['-g', '-fopenmp'] + self.build_system.ldflags = ['-g', '-fopenmp', '-lstdc++'] # FIXME: workaround until the kesch programming environment is fixed if self.current_system.name == 'kesch': diff --git a/cscs-checks/tools/profiling_and_debugging/nvprof.py b/cscs-checks/tools/profiling_and_debugging/nvprof.py index 412e56507e..1d098afb34 100644 --- a/cscs-checks/tools/profiling_and_debugging/nvprof.py +++ b/cscs-checks/tools/profiling_and_debugging/nvprof.py @@ -30,7 +30,7 @@ def __init__(self): '-DEVS_PER_NODE=1', '-fopenmp', '-std=c99' ] self.build_system.cxxflags = ['-g', '-G'] - self.build_system.ldflags = ['-g', '-fopenmp', '-std=c99'] + self.build_system.ldflags = ['-g', '-fopenmp', '-std=c99', '-lstdc++'] # FIXME temporary workaround # the programming environment should be adapted / fixed From e1828589f07b56c7748c77b0e1863ddd3f133adf Mon Sep 17 00:00:00 2001 From: jgp Date: Thu, 11 Apr 2019 11:20:15 +0200 Subject: [PATCH 2/4] cleaning makefile --- cscs-checks/tools/profiling_and_debugging/nvprof.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cscs-checks/tools/profiling_and_debugging/nvprof.py b/cscs-checks/tools/profiling_and_debugging/nvprof.py index 1d098afb34..1f022e8d33 100644 --- a/cscs-checks/tools/profiling_and_debugging/nvprof.py +++ b/cscs-checks/tools/profiling_and_debugging/nvprof.py @@ -14,17 +14,18 @@ def __init__(self): self.num_tasks_per_node = 1 self.sourcesdir = 'src/Cuda' self.executable = 'nvprof' - self.executable_opts = ['./nvprof_check'] + self.target_executable = './jacobi' + self.executable_opts = ['%s' % self.target_executable] self.sanity_patterns = sn.all([ - sn.assert_found('Profiling application: ./nvprof_check', - self.stderr), + sn.assert_found('Profiling application: %s' % + self.target_executable, self.stderr), sn.assert_found('[CUDA memcpy HtoD]', self.stderr), sn.assert_found('[CUDA memcpy DtoH]', self.stderr), sn.assert_found(r'\s+100(\s+\S+){3}\s+jacobi_kernel', self.stderr) ]) self.build_system = 'Make' - self.build_system.makefile = 'Makefile_nvprof' + # self.build_system.makefile = 'Makefile_nvprof' self.build_system.cflags = [ '-g', '-D_CSCS_ITMAX=100', '-DOMP_MEMLOCALITY', '-DUSE_MPI', '-DEVS_PER_NODE=1', '-fopenmp', '-std=c99' From 00b230f903e0f0260e67afc99025ed10b8741f6c Mon Sep 17 00:00:00 2001 From: jgp Date: Thu, 11 Apr 2019 11:30:38 +0200 Subject: [PATCH 3/4] typo --- .../tools/profiling_and_debugging/nvprof.py | 1 - .../src/Cuda/Makefile_nvprof | 21 ------------------- 2 files changed, 22 deletions(-) delete mode 100644 cscs-checks/tools/profiling_and_debugging/src/Cuda/Makefile_nvprof diff --git a/cscs-checks/tools/profiling_and_debugging/nvprof.py b/cscs-checks/tools/profiling_and_debugging/nvprof.py index 1f022e8d33..0488ca4c41 100644 --- a/cscs-checks/tools/profiling_and_debugging/nvprof.py +++ b/cscs-checks/tools/profiling_and_debugging/nvprof.py @@ -25,7 +25,6 @@ def __init__(self): ]) self.build_system = 'Make' - # self.build_system.makefile = 'Makefile_nvprof' self.build_system.cflags = [ '-g', '-D_CSCS_ITMAX=100', '-DOMP_MEMLOCALITY', '-DUSE_MPI', '-DEVS_PER_NODE=1', '-fopenmp', '-std=c99' diff --git a/cscs-checks/tools/profiling_and_debugging/src/Cuda/Makefile_nvprof b/cscs-checks/tools/profiling_and_debugging/src/Cuda/Makefile_nvprof deleted file mode 100644 index 946125a0a1..0000000000 --- a/cscs-checks/tools/profiling_and_debugging/src/Cuda/Makefile_nvprof +++ /dev/null @@ -1,21 +0,0 @@ -LD = $(CC) - -OBJ = _jacobi-cuda-kernel.o _jacobi-cuda.o -LIB = - -.SUFFIXES: .o .cu - -%.o: %.cu - nvcc $(CXXFLAGS) $(DDTFLAGS) -c $< -o $@ - -.SUFFIXES: .o .c - -%.o: %.c - $(CC) $(CFLAGS) $(DDTFLAGS) -c $< -o $@ - -nvprof_check: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) $(LIB) -o $@ - -clean: - rm -f *.o *.mod nvprof_check - rm -fr *.ptx *.opt *.cg *.ap2 *.rpt *.cub *.lst *.xf From 98e5dead9e64dac4ea466ca187db853f028ef3be Mon Sep 17 00:00:00 2001 From: Theofilos Manitaras Date: Thu, 11 Apr 2019 11:40:44 +0200 Subject: [PATCH 4/4] Style fix --- cscs-checks/tools/profiling_and_debugging/nvprof.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cscs-checks/tools/profiling_and_debugging/nvprof.py b/cscs-checks/tools/profiling_and_debugging/nvprof.py index 0488ca4c41..927945ad48 100644 --- a/cscs-checks/tools/profiling_and_debugging/nvprof.py +++ b/cscs-checks/tools/profiling_and_debugging/nvprof.py @@ -15,7 +15,7 @@ def __init__(self): self.sourcesdir = 'src/Cuda' self.executable = 'nvprof' self.target_executable = './jacobi' - self.executable_opts = ['%s' % self.target_executable] + self.executable_opts = [self.target_executable] self.sanity_patterns = sn.all([ sn.assert_found('Profiling application: %s' % self.target_executable, self.stderr),