From d4bf637cdd2565a54835970247ded99ecd0e2469 Mon Sep 17 00:00:00 2001 From: Anna Wellmann <a.wellmann@tu-bs.de> Date: Thu, 2 Jun 2022 06:41:42 +0000 Subject: [PATCH] Fix apps after merge --- .../DrivenCavityMultiGPU.cpp | 16 +++++++--------- apps/gpu/LBM/MusselOyster/MusselOyster.cpp | 16 +++++++--------- apps/gpu/LBM/SphereScaling/SphereScaling.cpp | 16 +++++++--------- gpu.cmake | 8 ++++---- 4 files changed, 25 insertions(+), 31 deletions(-) diff --git a/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp b/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp index 30f7a7b04..d1792a791 100644 --- a/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp +++ b/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp @@ -93,16 +93,14 @@ void multipleLevel(const std::string &configPath) logging::Logger::enablePrintedRankNumbers(logging::Logger::ENABLE); auto gridFactory = GridFactory::make(); - gridFactory->setGridStrategy(Device::CPU); gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - vf::gpu::Communicator *comm = vf::gpu::Communicator::getInstanz(); + vf::gpu::Communicator &communicator = vf::gpu::Communicator::getInstance(); vf::basics::ConfigurationFile config; std::cout << configPath << std::endl; config.load(configPath); - SPtr<Parameter> para = std::make_shared<Parameter>(config, comm->getNummberOfProcess(), comm->getPID()); + SPtr<Parameter> para = std::make_shared<Parameter>(config, communicator.getNummberOfProcess(), communicator.getPID()); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -187,7 +185,7 @@ void multipleLevel(const std::string &configPath) if (para->getNumprocs() > 1) { - const uint generatePart = vf::gpu::Communicator::getInstanz()->getPID(); + const uint generatePart = vf::gpu::Communicator::getInstance().getPID(); real overlap = (real)8.0 * dxGrid; gridBuilder->setNumberOfLayers(10, 8); @@ -195,7 +193,7 @@ void multipleLevel(const std::string &configPath) const real ySplit = 0.0; const real zSplit = 0.0; - if (comm->getNummberOfProcess() == 2) { + if (communicator.getNummberOfProcess() == 2) { if (generatePart == 0) { gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xGridMax, yGridMax, zSplit + overlap, @@ -242,7 +240,7 @@ void multipleLevel(const std::string &configPath) gridBuilder->setVelocityBoundaryCondition(SideType::PX, 0.0, 0.0, 0.0); gridBuilder->setVelocityBoundaryCondition(SideType::PY, 0.0, 0.0, 0.0); ////////////////////////////////////////////////////////////////////////// - } else if (comm->getNummberOfProcess() == 4) { + } else if (communicator.getNummberOfProcess() == 4) { if (generatePart == 0) { gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xSplit + overlap, yGridMax, @@ -326,7 +324,7 @@ void multipleLevel(const std::string &configPath) gridBuilder->setVelocityBoundaryCondition(SideType::PX, 0.0, 0.0, 0.0); } ////////////////////////////////////////////////////////////////////////// - } else if (comm->getNummberOfProcess() == 8) { + } else if (communicator.getNummberOfProcess() == 8) { if (generatePart == 0) { gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xSplit + overlap, ySplit + overlap, @@ -548,7 +546,7 @@ void multipleLevel(const std::string &configPath) gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemoryManager); } - Simulation sim; + Simulation sim(communicator); SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter()); SPtr<KernelFactoryImp> kernelFactory = KernelFactoryImp::getInstance(); SPtr<PreProcessorFactoryImp> preProcessorFactory = PreProcessorFactoryImp::getInstance(); diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp index e8d254542..de2a499a9 100644 --- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp +++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp @@ -95,16 +95,14 @@ void multipleLevel(const std::string &configPath) logging::Logger::enablePrintedRankNumbers(logging::Logger::ENABLE); auto gridFactory = GridFactory::make(); - gridFactory->setGridStrategy(Device::CPU); gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - vf::gpu::Communicator *comm = vf::gpu::Communicator::getInstanz(); + vf::gpu::Communicator &communicator = vf::gpu::Communicator::getInstance(); vf::basics::ConfigurationFile config; std::cout << configPath << std::endl; config.load(configPath); - SPtr<Parameter> para = std::make_shared<Parameter>(config, comm->getNummberOfProcess(), comm->getPID()); + SPtr<Parameter> para = std::make_shared<Parameter>(config, communicator.getNummberOfProcess(), communicator.getPID()); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -203,12 +201,12 @@ void multipleLevel(const std::string &configPath) bivalveRef_1_STL = TriangularMesh::make(stlPath + bivalveType + "_Level1.stl"); if (para->getNumprocs() > 1) { - const uint generatePart = vf::gpu::Communicator::getInstanz()->getPID(); + const uint generatePart = vf::gpu::Communicator::getInstance().getPID(); real overlap = (real)8.0 * dxGrid; gridBuilder->setNumberOfLayers(10, 8); - if (comm->getNummberOfProcess() == 2) { + if (communicator.getNummberOfProcess() == 2) { const real zSplit = 0.0; // round(((double)bbzp + bbzm) * 0.5); if (generatePart == 0) { @@ -259,7 +257,7 @@ void multipleLevel(const std::string &configPath) gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0); gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); // set pressure BC after velocity BCs ////////////////////////////////////////////////////////////////////////// - } else if (comm->getNummberOfProcess() == 4) { + } else if (communicator.getNummberOfProcess() == 4) { const real xSplit = 100.0; const real zSplit = 0.0; @@ -349,7 +347,7 @@ void multipleLevel(const std::string &configPath) gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); // set pressure BC after velocity BCs } ////////////////////////////////////////////////////////////////////////// - } else if (comm->getNummberOfProcess() == 8) { + } else if (communicator.getNummberOfProcess() == 8) { real xSplit = 140.0; // 100.0 // mit groesserem Level 1 140.0 real ySplit = 32.0; // 32.0 real zSplit = 0.0; @@ -581,7 +579,7 @@ void multipleLevel(const std::string &configPath) gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemoryManager); } - Simulation sim; + Simulation sim(communicator); SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter()); SPtr<KernelFactoryImp> kernelFactory = KernelFactoryImp::getInstance(); SPtr<PreProcessorFactoryImp> preProcessorFactory = PreProcessorFactoryImp::getInstance(); diff --git a/apps/gpu/LBM/SphereScaling/SphereScaling.cpp b/apps/gpu/LBM/SphereScaling/SphereScaling.cpp index 381aabd4e..d4878ddc0 100644 --- a/apps/gpu/LBM/SphereScaling/SphereScaling.cpp +++ b/apps/gpu/LBM/SphereScaling/SphereScaling.cpp @@ -92,16 +92,14 @@ void multipleLevel(const std::string &configPath) logging::Logger::enablePrintedRankNumbers(logging::Logger::ENABLE); auto gridFactory = GridFactory::make(); - gridFactory->setGridStrategy(Device::CPU); gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - vf::gpu::Communicator *comm = vf::gpu::Communicator::getInstanz(); + vf::gpu::Communicator &communicator = vf::gpu::Communicator::getInstance(); vf::basics::ConfigurationFile config; std::cout << configPath << std::endl; config.load(configPath); - SPtr<Parameter> para = std::make_shared<Parameter>(config, comm->getNummberOfProcess(), comm->getPID()); + SPtr<Parameter> para = std::make_shared<Parameter>(config, communicator.getNummberOfProcess(), communicator.getPID()); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -207,12 +205,12 @@ void multipleLevel(const std::string &configPath) const real dCubeLev1 = 72.0; // Phoenix: 72.0 if (para->getNumprocs() > 1) { - const uint generatePart = vf::gpu::Communicator::getInstanz()->getPID(); + const uint generatePart = vf::gpu::Communicator::getInstance().getPID(); real overlap = (real)8.0 * dxGrid; gridBuilder->setNumberOfLayers(10, 8); - if (comm->getNummberOfProcess() == 2) { + if (communicator.getNummberOfProcess() == 2) { real zSplit = 0.5 * sideLengthCube; if (scalingType == "weak") { @@ -286,7 +284,7 @@ void multipleLevel(const std::string &configPath) // gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0); ////////////////////////////////////////////////////////////////////////// - } else if (comm->getNummberOfProcess() == 4) { + } else if (communicator.getNummberOfProcess() == 4) { real ySplit = 0.5 * sideLengthCube; real zSplit = 0.5 * sideLengthCube; @@ -402,7 +400,7 @@ void multipleLevel(const std::string &configPath) gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); // set pressure BC after velocity BCs // gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0); ////////////////////////////////////////////////////////////////////////// - } else if (comm->getNummberOfProcess() == 8) { + } else if (communicator.getNummberOfProcess() == 8) { real xSplit = 0.5 * sideLengthCube; real ySplit = 0.5 * sideLengthCube; real zSplit = 0.5 * sideLengthCube; @@ -681,7 +679,7 @@ void multipleLevel(const std::string &configPath) gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemoryManager); } - Simulation sim; + Simulation sim(communicator); SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter()); SPtr<KernelFactoryImp> kernelFactory = KernelFactoryImp::getInstance(); SPtr<PreProcessorFactoryImp> preProcessorFactory = PreProcessorFactoryImp::getInstance(); diff --git a/gpu.cmake b/gpu.cmake index ad9d84427..2bf803ab7 100644 --- a/gpu.cmake +++ b/gpu.cmake @@ -36,12 +36,12 @@ IF (BUILD_VF_GPU) #add_subdirectory(apps/gpu/LBM/gridGeneratorTest) #add_subdirectory(apps/gpu/LBM/TGV_3D) #add_subdirectory(apps/gpu/LBM/TGV_3D_MultiGPU) - #add_subdirectory(apps/gpu/LBM/SphereScaling) - #add_subdirectory(apps/gpu/LBM/DrivenCavityMultiGPU) - #add_subdirectory(apps/gpu/LBM/MusselOyster) + add_subdirectory(apps/gpu/LBM/SphereScaling) + add_subdirectory(apps/gpu/LBM/DrivenCavityMultiGPU) + add_subdirectory(apps/gpu/LBM/MusselOyster) #add_subdirectory(apps/gpu/LBM/Poiseuille) #add_subdirectory(apps/gpu/LBM/ActuatorLine) - add_subdirectory(apps/gpu/LBM/BoundaryLayer) + #add_subdirectory(apps/gpu/LBM/BoundaryLayer) ELSE() MESSAGE( STATUS "exclude Virtual Fluids GPU." ) ENDIF() -- GitLab