From 1eb89f4d43b7bd69b777152395f754f6bf35810a Mon Sep 17 00:00:00 2001
From: Anna Wellmann <a.wellmann@tu-bs.de>
Date: Tue, 30 Nov 2021 10:00:44 +0100
Subject: [PATCH] Add options for streams to config file

---
 .../LBM/SphereScaling/configPhoenix8GPU.txt   | 42 +++++++++++++++++++
 .../VirtualFluids_GPU/Parameter/Parameter.cpp | 11 +++++
 2 files changed, 53 insertions(+)
 create mode 100644 apps/gpu/LBM/SphereScaling/configPhoenix8GPU.txt

diff --git a/apps/gpu/LBM/SphereScaling/configPhoenix8GPU.txt b/apps/gpu/LBM/SphereScaling/configPhoenix8GPU.txt
new file mode 100644
index 000000000..a3aa0dca2
--- /dev/null
+++ b/apps/gpu/LBM/SphereScaling/configPhoenix8GPU.txt
@@ -0,0 +1,42 @@
+##################################################
+#GPU Mapping
+##################################################
+Devices="0 1 2 3 4 5 6 7"
+NumberOfDevices=8
+
+##################################################
+#informations for Writing
+##################################################
+Path=/work/y0078217/Results/SphereScalingResults/8GPU/
+#Path="F:/Work/Computations/out/SphereScaling/"
+#Prefix="SphereScaling" 
+#WriteGrid=true
+##################################################
+#informations for reading
+##################################################
+GridPath=/work/y0078217/Grids/GridSphereScaling/SphereScaling4GPU/
+#GridPath="C:"
+
+##################################################
+#number of grid levels
+##################################################
+#NOGL=1
+
+##################################################
+#LBM Version
+##################################################
+#D3Qxx=27
+#MainKernelName=CumulantK17CompChim
+
+##################################################
+#simulation parameter
+##################################################
+TimeEnd=100000
+TimeOut=100000 
+#TimeStartOut=0
+
+##################################################
+# CUDA Streams and optimized communication (only used for multiple GPUs)
+##################################################
+# useStreams = true
+# useReducedCommunicationInInterpolation = true
\ No newline at end of file
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
index cc7d3b194..3ed731eb2 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
@@ -199,7 +199,18 @@ void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
     if (configData.contains("FactorPressBC"))
         this->setFactorPressBC(configData.getValue<real>("FactorPressBC"));
 
+	//////////////////////////////////////////////////////////////////////////
+    // CUDA streams and optimized communication
+	if(this->getNumprocs() > 1){
+    	if (configData.contains("useStreams"))
+			if(configData.getValue<bool>("useStreams")) 
+    	    	this->setUseStreams();
+
+    	if (configData.contains("useReducedCommunicationInInterpolation"))
+       		this->useReducedCommunicationAfterFtoC = configData.getValue<bool>("useReducedCommunicationInInterpolation");
+	}
     //////////////////////////////////////////////////////////////////////////
+
     //read Geometry (STL)
     if (configData.contains("ReadGeometry"))
         this->setReadGeo(configData.getValue<bool>("ReadGeometry"));
-- 
GitLab