From e29c9a81049ef696899cbd110ac10cbf02c4a64c Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Tue, 25 Jun 2019 13:07:41 +0200
Subject: [PATCH] GPU benchmark: added D3Q27 methods

---
 apps/benchmarks/UniformGridGPU/CMakeLists.txt    | 4 +++-
 apps/benchmarks/UniformGridGPU/UniformGridGPU.py | 6 ++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/apps/benchmarks/UniformGridGPU/CMakeLists.txt b/apps/benchmarks/UniformGridGPU/CMakeLists.txt
index ca6aa7b23..0e6193bd9 100644
--- a/apps/benchmarks/UniformGridGPU/CMakeLists.txt
+++ b/apps/benchmarks/UniformGridGPU/CMakeLists.txt
@@ -13,7 +13,9 @@ waLBerla_python_file_generates(UniformGridGPU.py
         UniformGridGPU_Defines.h
         )
 
-foreach(config srt trt mrt smagorinsky entropic smagorinsky_noopt entropic_kbc_n4 entropic_kbc_n4_noopt mrt_noopt mrt_full mrt_full_noopt)
+foreach(config srt trt mrt smagorinsky entropic smagorinsky_noopt entropic_kbc_n4
+        entropic_kbc_n4_noopt mrt_noopt mrt_full mrt_full_noopt
+        srt_d3q27 mrt_full_d3q27 mrt_full_d3q27_noopt)
     waLBerla_add_executable ( NAME UniformGridBenchmarkGPU_${config}
                               FILES UniformGridGPU.cpp UniformGridGPU.py
                               DEPENDS blockforest boundary core cuda domain_decomposition field geometry timeloop vtk gui
diff --git a/apps/benchmarks/UniformGridGPU/UniformGridGPU.py b/apps/benchmarks/UniformGridGPU/UniformGridGPU.py
index 130337cd3..22a0491c5 100644
--- a/apps/benchmarks/UniformGridGPU/UniformGridGPU.py
+++ b/apps/benchmarks/UniformGridGPU/UniformGridGPU.py
@@ -91,9 +91,13 @@ with CodeGeneration() as ctx:
     }
     config_name = ctx.config
     noopt = False
+    d3q27 = False
     if config_name.endswith("_noopt"):
         noopt = True
         config_name = config_name[:-len("_noopt")]
+    if config_name.endswith("_d3q27"):
+        d3q27 = True
+        config_name = config_name[:-len("_d3q27")]
 
     options = options_dict[config_name]
     options.update(common_options)
@@ -102,6 +106,8 @@ with CodeGeneration() as ctx:
     if noopt:
         options['optimization']['cse_global'] = False
         options['optimization']['cse_pdfs'] = False
+    if d3q27:
+        options['stencil'] = 'D3Q27'
 
     stencil_str = options['stencil']
     q = int(stencil_str[stencil_str.find('Q')+1:])
-- 
GitLab