|
OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
#include "Message/GlobalComm.h"#include "Message/Communicate.h"#include "Message/Message.h"#include "Message/Tags.h"#include "Utility/IpplInfo.h"#include "Utility/IpplStats.h"#include "Message/DataTypes.h"#include "Message/Operations.h"#include <algorithm>

Go to the source code of this file.
Functions | |
| template<class InputIterator , class OutputIterator , class ReduceOp > | |
| bool | reduce (Communicate &comm, InputIterator s1, InputIterator s2, OutputIterator t1, const ReduceOp &op, bool *IncludeVal) |
| template<class InputIterator , class OutputIterator , class ReduceOp > | |
| bool | reduce (InputIterator s1, InputIterator s2, OutputIterator t1, const ReduceOp &op, bool *IncludeVal) |
| template<class T , class ReduceOp > | |
| bool | reduce_masked (Communicate &comm, T &input, T &output, const ReduceOp &op, bool IncludeVal) |
| template<class T , class ReduceOp > | |
| bool | reduce_masked (T &input, T &output, const ReduceOp &op, bool IncludeVal) |
| template<class InputIterator , class RandomIterator , class ScatterOp > | |
| bool | scatter (Communicate &comm, InputIterator s1, InputIterator s2, RandomIterator t1, int *target_node, int *target_position, const ScatterOp &op) |
| template<class InputIterator , class RandomIterator , class ScatterOp > | |
| bool | scatter (InputIterator s1, InputIterator s2, RandomIterator t1, int *target_node, int *target_position, const ScatterOp &op) |
| template<typename T > | |
| void | gather (const T *input, T *output, int count, int root) |
| template<typename T > | |
| void | scatter (const T *input, T *output, int count, int root) |
| template<typename T , class Op > | |
| void | reduce (const T *input, T *output, int count, Op op, int root) |
| template<typename T , class Op > | |
| void | new_reduce (const T *input, T *output, int count, Op op, int root) |
| template<typename T , class Op > | |
| void | new_reduce (T *inout, int count, Op op, int root) |
| template<typename T , class Op > | |
| void | reduce (const T &input, T &output, int count, Op op, int root) |
| template<typename T , class Op > | |
| void | allreduce (const T *input, T *output, int count, Op op) |
| template<typename T , class Op > | |
| void | allreduce (const T &input, T &output, int count, Op op) |
| template<typename T , class Op > | |
| void | allreduce (T *inout, int count, Op op) |
| template<typename T , class Op > | |
| void | allreduce (T &inout, int count, Op op) |
| void allreduce | ( | const T * | input, |
| T * | output, | ||
| int | count, | ||
| Op | op | ||
| ) |
Definition at line 510 of file GlobalComm.hpp.
References IpplInfo::getComm(), and type.
Referenced by Distribution::adjustPhaseSpace(), allreduce(), Undulator::apply(), MultiBunchHandler::calcBunchBeamParameters(), PartBunchBase< T, Dim >::calcGammas_cycl(), ParallelCyclotronTracker::checkFileMomentum(), DistributionMoments::computeDebyeLength(), DistributionMoments::computeMeanKineticEnergy(), DistributionMoments::computeMeans(), DistributionMoments::computeNormalizedEmittance(), ParallelCyclotronTracker::computePathLengthUpdate(), DistributionMoments::computePercentiles(), LossDataSink::computeSetStatistics(), DistributionMoments::computeStatistics(), PartBunchBase< T, Dim >::countTotalNumPerBunch(), ParallelCyclotronTracker::deleteParticle(), DistributionMoments::determinePercentilesDetail(), PeakFinder::evaluate(), ParallelTTracker::evenlyDistributeParticles(), BeamStrippingPhysics::gatherStatistics(), ScatteringPhysics::gatherStatistics(), PartBunchBase< T, Dim >::get_bounds(), AmrParticleBase< PLayout >::getGlobalBounds_m(), LossDataSink::hasTurnInformations(), ParticleSpatialLayout< T, Dim, Mesh >::new_swap_particles(), LossDataSink::splitSets(), BoxLibLayout< T, Dim >::update(), and AmrYtWriter::writeBunch().

| void allreduce | ( | const T & | input, |
| T & | output, | ||
| int | count, | ||
| Op | op | ||
| ) |
Definition at line 520 of file GlobalComm.hpp.
References allreduce().

| void allreduce | ( | T * | inout, |
| int | count, | ||
| Op | op | ||
| ) |
Definition at line 526 of file GlobalComm.hpp.
References IpplInfo::getComm(), and type.

| void allreduce | ( | T & | inout, |
| int | count, | ||
| Op | op | ||
| ) |
Definition at line 537 of file GlobalComm.hpp.
References allreduce().

| void gather | ( | const T * | input, |
| T * | output, | ||
| int | count, | ||
| int | root | ||
| ) |
Definition at line 449 of file GlobalComm.hpp.
References IpplInfo::getComm(), and type.
Referenced by PartBunchBase< T, Dim >::calcNumPartsOutside(), ParticleAttrib< ParticleOrigin >::gather(), PartBunchBase< T, Dim >::gatherLoadBalanceStatistics(), and IpplMemoryUsage::sample().

| void new_reduce | ( | const T * | input, |
| T * | output, | ||
| int | count, | ||
| Op | op, | ||
| int | root | ||
| ) |
Definition at line 477 of file GlobalComm.hpp.
References IpplInfo::getComm(), and type.
Referenced by MemoryProfiler::compute().

| void new_reduce | ( | T * | inout, |
| int | count, | ||
| Op | op, | ||
| int | root | ||
| ) |
Definition at line 488 of file GlobalComm.hpp.
References IpplInfo::getComm(), IpplInfo::myNode(), and type.

| bool reduce | ( | Communicate & | comm, |
| InputIterator | s1, | ||
| InputIterator | s2, | ||
| OutputIterator | t1, | ||
| const ReduceOp & | op, | ||
| bool * | IncludeVal | ||
| ) |
Definition at line 55 of file GlobalComm.hpp.
References IpplInfo::abort(), Communicate::broadcast_others(), COMM_ANY_NODE, COMM_REDUCE_CYCLE, COMM_REDUCE_RECV_TAG, COMM_REDUCE_SEND_TAG, Message::MsgItem::data(), endl(), ERRORMSG, getMessage(), Communicate::getNodes(), Message::item(), Communicate::myNode(), TagMaker::next_tag(), PETE_apply(), putMessage(), Communicate::receive_block(), Communicate::send(), and Message::size().
Referenced by PartBunchBase< T, Dim >::boundp_destroyT(), PartBunchBase< T, Dim >::calcGammas(), PartBunchBase< T, Dim >::calcLineDensity(), ParallelCyclotronTracker::calcMeanP(), PartBunchBase< T, Dim >::calcMeanPhi(), ParallelCyclotronTracker::calcMeanR(), GreenWakeFunction::CalcWakeFFT(), ParallelCyclotronTracker::checkNumPart(), Distribution::checkParticleNumber(), Vacuum::checkVacuum(), BareField< T, Dim >::CompressedFraction(), PeakFinder::computeCentroid_m(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), MGPoissonSolver::computePotential(), Distribution::createDistributionFromFile(), PeakFinder::createHistogram_m(), ParallelCyclotronTracker::deleteParticle(), PartBunchBase< T, Dim >::destroyT(), Stripper::doFinaliseCheck(), CCollimator::doFinaliseCheck(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), Distribution::fillEBinHistogram(), AmrPartBunch::gatherLevelStatistics(), PartBunchBase< T, Dim >::getIfBeamEmitting(), PartBunchBase< T, Dim >::getLastEmittedEnergyBin(), Distribution::getMaxTOrZ(), Distribution::getMinTOrZ(), Distribution::getNumberOfParticlesInFile(), PartBins::getTotalNum(), PartBins::getTotalNumPerBin(), ParallelTTracker::hasEndOfLineReached(), LossDataSink::hasNoParticlesToDump(), ParticleAttrib< ParticleOrigin >::isDirty(), IpplMessageCounterRegion::print(), Timing::print(), Distribution::printDist(), IpplCounter::printIt(), MGPoissonSolver::printLoadBalanceStats(), PartBunchBase< T, Dim >::Rebin(), reduce(), Distribution::reflectDistribution(), PartBunchBase< T, Dim >::resetPartBinID2(), PartBins::resetPartInBin_cyc(), LossDataSink::saveH5(), Distribution::setupEmissionModelNone(), Distribution::shiftBeam(), PartBins::sortArray(), PartBunchBase< T, Dim >::updateNumTotal(), Distribution::writeOutFileHeader(), Distribution::writeOutFileInjection(), and ParallelTTracker::writePhaseSpace().

| bool reduce | ( | InputIterator | s1, |
| InputIterator | s2, | ||
| OutputIterator | t1, | ||
| const ReduceOp & | op, | ||
| bool * | IncludeVal | ||
| ) |
Definition at line 194 of file GlobalComm.hpp.
References IpplInfo::Comm, and reduce().

| void reduce | ( | const T * | input, |
| T * | output, | ||
| int | count, | ||
| Op | op, | ||
| int | root | ||
| ) |
Definition at line 467 of file GlobalComm.hpp.
References IpplInfo::getComm(), and type.

| void reduce | ( | const T & | input, |
| T & | output, | ||
| int | count, | ||
| Op | op, | ||
| int | root | ||
| ) |
Definition at line 504 of file GlobalComm.hpp.
References reduce().

| bool reduce_masked | ( | Communicate & | comm, |
| T & | input, | ||
| T & | output, | ||
| const ReduceOp & | op, | ||
| bool | IncludeVal | ||
| ) |
Definition at line 208 of file GlobalComm.hpp.
References IpplInfo::abort(), Communicate::broadcast_others(), COMM_ANY_NODE, COMM_REDUCE_CYCLE, COMM_REDUCE_RECV_TAG, COMM_REDUCE_SEND_TAG, getMessage(), Communicate::getNodes(), Communicate::myNode(), Hypervolume::n, TagMaker::next_tag(), PETE_apply(), putMessage(), Communicate::receive_block(), Communicate::send(), Message::size(), and Attrib::Legacy::Distribution::T.
Referenced by reduce(), reduce_masked(), and Reduction().

| bool reduce_masked | ( | T & | input, |
| T & | output, | ||
| const ReduceOp & | op, | ||
| bool | IncludeVal | ||
| ) |
Definition at line 334 of file GlobalComm.hpp.
References IpplInfo::Comm, and reduce_masked().

| bool scatter | ( | Communicate & | comm, |
| InputIterator | s1, | ||
| InputIterator | s2, | ||
| RandomIterator | t1, | ||
| int * | target_node, | ||
| int * | target_position, | ||
| const ScatterOp & | op | ||
| ) |
Definition at line 353 of file GlobalComm.hpp.
References COMM_ANY_NODE, COMM_REDUCE_CYCLE, COMM_REDUCE_SCATTER_TAG, Message::MsgItem::data(), endl(), ERRORMSG, Message::get(), getMessage(), Communicate::getNodes(), Message::item(), Communicate::myNode(), TagMaker::next_tag(), PETE_apply(), putMessage(), Communicate::receive_block(), Communicate::send(), and Message::size().
Referenced by BinaryRepartition(), BoxLibParticle< PLayout >::scatter(), ParticleAttrib< ParticleOrigin >::scatter(), and scatter().

| bool scatter | ( | InputIterator | s1, |
| InputIterator | s2, | ||
| RandomIterator | t1, | ||
| int * | target_node, | ||
| int * | target_position, | ||
| const ScatterOp & | op | ||
| ) |
Definition at line 440 of file GlobalComm.hpp.
References IpplInfo::Comm, and scatter().

| void scatter | ( | const T * | input, |
| T * | output, | ||
| int | count, | ||
| int | root | ||
| ) |
Definition at line 458 of file GlobalComm.hpp.
References IpplInfo::getComm(), and type.

1.8.5