diff --git a/vtkm/filter/particleadvection/AdvectorBaseAlgorithm.h b/vtkm/filter/particleadvection/AdvectorBaseAlgorithm.h index 62a1c5998..d3f1bd01c 100644 --- a/vtkm/filter/particleadvection/AdvectorBaseAlgorithm.h +++ b/vtkm/filter/particleadvection/AdvectorBaseAlgorithm.h @@ -104,10 +104,8 @@ public: { std::vector v; vtkm::Id numTerm = 0, blockId = -1; - std::size_t numV = 0; if (GetActiveParticles(v, blockId)) { - numV = v.size(); const auto& block = this->GetDataSet(blockId); ResultType r; diff --git a/vtkm/filter/particleadvection/ParticleMessenger.cxx b/vtkm/filter/particleadvection/ParticleMessenger.cxx index 5a912b20f..f3c2f0633 100644 --- a/vtkm/filter/particleadvection/ParticleMessenger.cxx +++ b/vtkm/filter/particleadvection/ParticleMessenger.cxx @@ -51,6 +51,10 @@ std::size_t ParticleMessenger::CalcParticleBufferSize(std::size_t nParticles, st + sizeof(vtkm::UInt8) // Status + sizeof(vtkm::FloatDefault); // Time + //If this assert fires, vtkm::Particle changed + //and pSize should be updated. + VTKM_ASSERT(pSize == sizeof(vtkm::Particle)); + return // rank sizeof(int) @@ -72,7 +76,8 @@ void ParticleMessenger::SerialExchange( const std::unordered_map>& outBlockIDsMap, vtkm::Id vtkmNotUsed(numLocalTerm), std::vector& inData, - std::unordered_map>& inDataBlockIDsMap) const + std::unordered_map>& inDataBlockIDsMap, + bool vtkmNotUsed(blockAndWait)) const { for (auto& p : outData) { @@ -96,7 +101,8 @@ void ParticleMessenger::Exchange( inDataBlockIDsMap.clear(); if (this->NumRanks == 1) - return this->SerialExchange(outData, outBlockIDsMap, numLocalTerm, inData, inDataBlockIDsMap); + return this->SerialExchange( + outData, outBlockIDsMap, numLocalTerm, inData, inDataBlockIDsMap, blockAndWait); #ifdef VTKM_ENABLE_MPI diff --git a/vtkm/filter/particleadvection/ParticleMessenger.h b/vtkm/filter/particleadvection/ParticleMessenger.h index 3a1226c1d..62b816fa7 100644 --- a/vtkm/filter/particleadvection/ParticleMessenger.h +++ b/vtkm/filter/particleadvection/ParticleMessenger.h @@ -102,7 +102,8 @@ protected: const std::unordered_map>& outBlockIDsMap, vtkm::Id numLocalTerm, std::vector& inData, - std::unordered_map>& inDataBlockIDsMap) const; + std::unordered_map>& inDataBlockIDsMap, + bool blockAndWait) const; static std::size_t CalcParticleBufferSize(std::size_t nParticles, std::size_t numBlockIds = 2); };