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

Remove dependency on MultipleGridBuilder in NodeIndicesMultiGPU

parent 9738a09d
No related branches found
No related tags found
1 merge request!104Add Communication Hiding to GPU version
#include "NodeIndicesMultiGPU.h"
NodeIndicesMultiGPU::NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder)
NodeIndicesMultiGPU::NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes,
const std::vector<const std::vector<uint> *> *geoFluidNodesIndices)
{
std::vector<std::shared_ptr<Grid>> grids = gridBuilder->getGrids();
for (uint i = 0; i < grids.size(); i++) {
geoFluidSize.push_back(grids[i]->getGeoFluidSize());
geoFluidNodeIndices.push_back(grids[i]->getGeoFluidNodes());
}
this->geoFluidSizes = geoFluidSizes;
this->geoFluidNodeIndices = geoFluidNodesIndices;
}
uint NodeIndicesMultiGPU::getGeoFluidSize(uint gridNumber)
{
return this->geoFluidSize[gridNumber];
return (*this->geoFluidSizes)[gridNumber];
}
const std::vector<uint>* NodeIndicesMultiGPU::getGeoFluidNodeIndices(uint gridNumber)
{
return this->geoFluidNodeIndices[gridNumber];
return (*this->geoFluidNodeIndices)[gridNumber];
}
#include <vector>
#include <memory>
#include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h"
#include "basics/Core/DataTypes.h"
class NodeIndicesMultiGPU
{
std::vector<uint> geoFluidSize;
std::vector<const std::vector<uint>*> geoFluidNodeIndices;
const std::vector<uint> *geoFluidSizes;
const std::vector<const std::vector<uint>*> *geoFluidNodeIndices;
public:
NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder);
NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes, const std::vector<const std::vector<uint> *> * geoFluidNodes);
uint getGeoFluidSize(uint gridNumber);
const std::vector<uint>* getGeoFluidNodeIndices(uint gridNumber);
......
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