Skip to content
Snippets Groups Projects
Commit 52f9dbe7 authored by Simon Heybrock's avatar Simon Heybrock
Browse files

Re #21631. MPI support for AlignDetectors.

parent 57cd7d4d
No related branches found
No related tags found
No related merge requests found
...@@ -72,6 +72,11 @@ public: ...@@ -72,6 +72,11 @@ public:
/// Cross-check properties with each other @see IAlgorithm::validateInputs /// Cross-check properties with each other @see IAlgorithm::validateInputs
std::map<std::string, std::string> validateInputs() override; std::map<std::string, std::string> validateInputs() override;
protected:
Parallel::ExecutionMode getParallelExecutionMode(
const std::map<std::string, Parallel::StorageMode> &storageModes)
const override;
private: private:
// Implement abstract Algorithm methods // Implement abstract Algorithm methods
void init() override; void init() override;
......
...@@ -318,5 +318,16 @@ void AlignDetectors::align(const ConversionFactors &converter, ...@@ -318,5 +318,16 @@ void AlignDetectors::align(const ConversionFactors &converter,
outputWS.clearMRU(); outputWS.clearMRU();
} }
Parallel::ExecutionMode AlignDetectors::getParallelExecutionMode(
const std::map<std::string, Parallel::StorageMode> &storageModes) const {
using namespace Parallel;
const auto inputMode = storageModes.at("InputWorkspace");
const auto &calibrationMode = storageModes.find("CalibrationWorkspace");
if (calibrationMode != storageModes.end())
if (calibrationMode->second != StorageMode::Cloned)
return ExecutionMode::Invalid;
return getCorrespondingExecutionMode(inputMode);
}
} // namespace Algorithms } // namespace Algorithms
} // namespace Mantid } // namespace Mantid
...@@ -491,6 +491,7 @@ Supported Algorithms ...@@ -491,6 +491,7 @@ Supported Algorithms
====================================== ======================= ======== ====================================== ======================= ========
Algorithm Supported modes Comments Algorithm Supported modes Comments
====================================== ======================= ======== ====================================== ======================= ========
AlignDetectors all with ``StorageMode::Distributed`` this touches only detectors that have spectra on this rank, i.e., the modified instrument is not in an identical state on all ranks
BinaryOperation all not supported if ``AllowDifferentNumberSpectra`` is enabled BinaryOperation all not supported if ``AllowDifferentNumberSpectra`` is enabled
CalculateChiSquared MasterOnly, Identical see ``IFittingAlgorithm`` CalculateChiSquared MasterOnly, Identical see ``IFittingAlgorithm``
CalculateCostFunction MasterOnly, Identical see ``IFittingAlgorithm`` CalculateCostFunction MasterOnly, Identical see ``IFittingAlgorithm``
......
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