Skip to content
Snippets Groups Projects
Commit 672fbd05 authored by Anna Wellmann's avatar Anna Wellmann
Browse files

Fix bugs in setup for mussel on 8 GPUs

parent 2026369c
No related branches found
No related tags found
1 merge request!104Add Communication Hiding to GPU version
...@@ -189,8 +189,8 @@ void multipleLevel(const std::string& configPath) ...@@ -189,8 +189,8 @@ void multipleLevel(const std::string& configPath)
if (useStreams) if (useStreams)
para->setUseStreams(); para->setUseStreams();
para->setMainKernel("CumulantK17CompChim"); // para->setMainKernel("CumulantK17CompChim");
//para->setMainKernel("CumulantK17CompChimStream"); para->setMainKernel("CumulantK17CompChimStream");
*logging::out << logging::Logger::INFO_HIGH << "Kernel: " << para->getMainKernel() << "\n"; *logging::out << logging::Logger::INFO_HIGH << "Kernel: " << para->getMainKernel() << "\n";
// if (para->getNumprocs() > 1) { // if (para->getNumprocs() > 1) {
...@@ -205,33 +205,34 @@ void multipleLevel(const std::string& configPath) ...@@ -205,33 +205,34 @@ void multipleLevel(const std::string& configPath)
if (useGridGenerator) { if (useGridGenerator) {
const real bbzm = 0.0; real bbzm;
real bbzp; real bbzp;
if (bivalveType == "MUSSEL") if (bivalveType == "MUSSEL")
bbzp = 18.3; bbzp = 9.0;
if (bivalveType == "OYSTER") if (bivalveType == "OYSTER")
bbzp = 26.0; bbzp = 13.0;
bbzm = -bbzp;
// bounding box mussel: // bounding box mussel:
// const real bbxm = 0.0; // const real bbxm = 0.0;
// const real bbxp = 76.0; // const real bbxp = 76.0;
// const real bbym = 0.0; // const real bbym = 0.0;
// const real bbyp = 35.0; // const real bbyp = 35.0;
// const real bbzm = 0.0; // const real bbzm = -9.15;
// const real bbzp = 18.3; // const real bbzp = 9.15;
// bounding box oyster: // bounding box oyster:
// const real bbxm = 0.0; // const real bbxm = 0.0;
// const real bbxp = 102.0; // const real bbxp = 102.0;
// const real bbym = 0.0; // const real bbym = 0.0;
// const real bbyp = 72.0; // const real bbyp = 72.0;
// const real bbzm = 0.0; // const real bbzm = -13.0;
// const real bbzp = 26.0; // const real bbzp = 13.0;
const real xGridMin = -100.0; // -100.0; const real xGridMin = -100.0; // -100.0;
const real xGridMax = 600.0; // 540.0 const real xGridMax = 440.0; // alt 540.0 // neu 440
const real yGridMin = 1.0; // 1.0; const real yGridMin = 1.0; // 1.0;
const real yGridMax = 500.0; // 440.0; const real yGridMax = 350.0; // alt 440.0; // neu 350
const real zGridMin = -70; // -70; const real zGridMin = -85; // -85;
const real zGridMax = 100.0; // 100; const real zGridMax = 85.0; // 85;
TriangularMesh *bivalveSTL = TriangularMesh::make(stlPath + bivalveType + ".stl"); TriangularMesh *bivalveSTL = TriangularMesh::make(stlPath + bivalveType + ".stl");
TriangularMesh *bivalveRef_1_STL = nullptr; TriangularMesh *bivalveRef_1_STL = nullptr;
...@@ -246,7 +247,7 @@ void multipleLevel(const std::string& configPath) ...@@ -246,7 +247,7 @@ void multipleLevel(const std::string& configPath)
gridBuilder->setNumberOfLayers(10, 8); gridBuilder->setNumberOfLayers(10, 8);
if (comm->getNummberOfProcess() == 2) { if (comm->getNummberOfProcess() == 2) {
const real zSplit = round(((double)bbzp + bbzm) * 0.5); const real zSplit = 0.0; //round(((double)bbzp + bbzm) * 0.5);
if (generatePart == 0) { if (generatePart == 0) {
gridBuilder->addCoarseGrid( xGridMin, yGridMin, zGridMin, gridBuilder->addCoarseGrid( xGridMin, yGridMin, zGridMin,
...@@ -301,8 +302,8 @@ void multipleLevel(const std::string& configPath) ...@@ -301,8 +302,8 @@ void multipleLevel(const std::string& configPath)
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
} else if (comm->getNummberOfProcess() == 4) { } else if (comm->getNummberOfProcess() == 4) {
const real xSplit = 85.0; const real xSplit = 100.0;
const real zSplit = round(((double)bbzp + bbzm) * 0.5); const real zSplit = 0.0;
if (generatePart == 0) { if (generatePart == 0) {
gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xSplit + overlap, yGridMax, gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xSplit + overlap, yGridMax,
...@@ -390,9 +391,9 @@ void multipleLevel(const std::string& configPath) ...@@ -390,9 +391,9 @@ void multipleLevel(const std::string& configPath)
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
} else if (comm->getNummberOfProcess() == 8) { } else if (comm->getNummberOfProcess() == 8) {
real xSplit = 85; real xSplit = 100.0; // 100.0
real ySplit = 30; real ySplit = 32.0; // 32.0
real zSplit = round(((double)bbzp + bbzm) * 0.5); real zSplit = 0.0;
if (generatePart == 0) { if (generatePart == 0) {
gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xSplit + overlap, ySplit + overlap, gridBuilder->addCoarseGrid(xGridMin, yGridMin, zGridMin, xSplit + overlap, ySplit + overlap,
......
...@@ -31,8 +31,8 @@ GridPath=/work/y0078217/Grids/GridMusselOyster/Mussel8GPU/ ...@@ -31,8 +31,8 @@ GridPath=/work/y0078217/Grids/GridMusselOyster/Mussel8GPU/
################################################## ##################################################
#simulation parameter #simulation parameter
################################################## ##################################################
TimeEnd=800000 TimeEnd=100#800000
TimeOut=400000 TimeOut=100#400000
#TimeStartOut=0 #TimeStartOut=0
################################################## ##################################################
......
...@@ -383,6 +383,7 @@ void Simulation::init(SPtr<Parameter> para, SPtr<GridProvider> gridProvider, std ...@@ -383,6 +383,7 @@ void Simulation::init(SPtr<Parameter> para, SPtr<GridProvider> gridProvider, std
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
output << "used Device Memory: " << cudaManager->getMemsizeGPU() / 1000000.0 << " MB\n"; output << "used Device Memory: " << cudaManager->getMemsizeGPU() / 1000000.0 << " MB\n";
std::cout << "Process " << comm->getPID() <<": used device memory" << cudaManager->getMemsizeGPU() / 1000000.0 << " MB\n" << std::endl;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
//InterfaceDebugWriter::writeInterfaceLinesDebugCF(para.get()); //InterfaceDebugWriter::writeInterfaceLinesDebugCF(para.get());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment