Skip to content
Snippets Groups Projects
Commit 9a52b58e authored by TESLA03\Master's avatar TESLA03\Master
Browse files

Add NodeIndicesMultiGPU to Parameter

parent 1c90302e
No related branches found
No related tags found
1 merge request!104Add Communication Hiding to GPU version
......@@ -245,11 +245,10 @@ void multipleLevel(const std::string& configPath)
//gridBuilder->writeGridsToVtk(path + "/" + bivalveType + "/" + std::to_string(generatePart) + "/grid/");
//gridBuilder->writeArrows(path + "/" + bivalveType + "/" + std::to_string(generatePart) + " /arrow");
std::cout << "number of grids in gridBuilder.................... " << gridBuilder->getGrids().size()
<< std::endl;
SPtr<NodeIndicesMultiGPU> paraMultiGPU = std::make_shared<NodeIndicesMultiGPU>(NodeIndicesMultiGPU(gridBuilder));
gridBuilder->findGeoFluidNodes();
std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU = std::make_shared<NodeIndicesMultiGPU>(gridBuilder->getGeoFluidSizes(),
gridBuilder->getGeoFluidNodeIndices());
para->setNodeIndicesMultiGPU(nodeIndicesMultiGPU);
SimulationFileWriter::write(gridPath + "/" + std::to_string(generatePart) + "/", gridBuilder, FILEFORMAT::BINARY);
......@@ -279,7 +278,6 @@ void multipleLevel(const std::string& configPath)
SimulationFileWriter::write(gridPath, gridBuilder, FILEFORMAT::BINARY);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
......@@ -316,7 +314,6 @@ void multipleLevel(const std::string& configPath)
//return;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SPtr<CudaMemoryManager> cudaMemoryManager = CudaMemoryManager::make(para);
......
......@@ -2486,4 +2486,16 @@ real Parameter::TrafoZtoMGsWorld(int CoordZ, int level)
temp += (real)((CoordZ) * parH[level]->dx);
return temp;
}
// CUDA Streams Multi GPU
void Parameter::setNodeIndicesMultiGPU(std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU)
{
this->nodeIndicesMultiGPU = nodeIndicesMultiGPU;
}
std::shared_ptr<NodeIndicesMultiGPU> Parameter::getNodeIndicesMultiGPU()
{
return this->nodeIndicesMultiGPU;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
......@@ -41,6 +41,7 @@
#include "LBM/D3Q27.h"
#include "LBM/LB.h"
#include "VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h"
#include "VirtualFluids_GPU_export.h"
......@@ -835,6 +836,14 @@ private:
////////////////////////////////////////////////////////////////////////////
// initial condition
std::function<void(real, real, real, real &, real &, real &, real &)> initialCondition;
// CUDA Streams Multi GPU
std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU;
public:
void setNodeIndicesMultiGPU(std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU);
std::shared_ptr<NodeIndicesMultiGPU> getNodeIndicesMultiGPU();
};
#endif
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