From d8bd4d018849a4173157a0e630019c5d6c46bab9 Mon Sep 17 00:00:00 2001 From: Simon Heybrock <simon.heybrock@esss.se> Date: Fri, 17 Nov 2017 14:01:37 +0100 Subject: [PATCH] Re #21181. Add MPI support for IFileLoader and many Load algorithms. --- Framework/API/inc/MantidAPI/IFileLoader.h | 4 +- .../development/AlgorithmMPISupport.rst | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/Framework/API/inc/MantidAPI/IFileLoader.h b/Framework/API/inc/MantidAPI/IFileLoader.h index 0d94dba7d06..35a03238e7f 100644 --- a/Framework/API/inc/MantidAPI/IFileLoader.h +++ b/Framework/API/inc/MantidAPI/IFileLoader.h @@ -1,7 +1,7 @@ #ifndef MANTID_API_IFILELOADER_H_ #define MANTID_API_IFILELOADER_H_ -#include "MantidAPI/Algorithm.h" +#include "MantidAPI/ParallelAlgorithm.h" #include "MantidKernel/FileDescriptor.h" #include "MantidKernel/NexusDescriptor.h" @@ -35,7 +35,7 @@ File change history is stored at: <https://github.com/mantidproject/mantid> Code Documentation is available at: <http://doxygen.mantidproject.org> */ template <typename DescriptorType> -class MANTID_API_DLL IFileLoader : public Algorithm { +class MANTID_API_DLL IFileLoader : public ParallelAlgorithm { public: /// Returns a confidence value that this algorithm can load a file virtual int confidence(DescriptorType &descriptor) const = 0; diff --git a/docs/source/development/AlgorithmMPISupport.rst b/docs/source/development/AlgorithmMPISupport.rst index 50024e2bf43..50c242cc0e6 100644 --- a/docs/source/development/AlgorithmMPISupport.rst +++ b/docs/source/development/AlgorithmMPISupport.rst @@ -468,10 +468,53 @@ ExtractSpectra all not supported with ``DetectorL FilterBadPulses all FilterByLogValue all FilterByTime all +FilterEventsByLogValuePreNexus Identical see ``IFileLoader`` +IFileLoader Identical implicitly adds support for many load inheriting from this +LoadAscii2 Identical see ``IFileLoader`` +LoadAscii Identical see ``IFileLoader`` +LoadBBY Identical see ``IFileLoader`` +LoadCanSAS1D Identical see ``IFileLoader`` +LoadDaveGrp Identical see ``IFileLoader`` +LoadEmptyInstrument Identical see ``IFileLoader`` LoadEventNexus Distributed storage mode of output cannot be changed via a parameter currently, min and max bin boundary are not globally the same +LoadEventPreNexus2 Identical see ``IFileLoader`` +LoadFITS Identical see ``IFileLoader`` +LoadGSS Identical see ``IFileLoader`` +LoadILLDiffraction Identical see ``IFileLoader`` +LoadILLIndirect2 Identical see ``IFileLoader`` +LoadILLReflectometry Identical see ``IFileLoader`` +LoadILLSANS Identical see ``IFileLoader`` +LoadILLTOF2 Identical see ``IFileLoader`` LoadInstrument all +LoadIsawPeaks Identical see ``IFileLoader`` +LoadISISNexus2 Identical see ``IFileLoader`` +LoadLLB Identical see ``IFileLoader`` +LoadMcStas Identical see ``IFileLoader`` +LoadMcStasNexus Identical see ``IFileLoader`` +LoadMD Identical see ``IFileLoader`` +LoadMLZ Identical see ``IFileLoader`` +LoadMuonNexus Identical see ``IFileLoader`` LoadNexusLogs all +LoadNexusProcessed Identical see ``IFileLoader`` +LoadNXcanSAS Identical see ``IFileLoader`` +LoadNXSPE Identical see ``IFileLoader`` LoadParameterFile all segfaults when used in unit tests with MPI threading backend due to `#9365 <https://github.com/mantidproject/mantid/issues/9365>`_, normal use should be ok +LoadPDFgetNFile Identical see ``IFileLoader`` +LoadPreNexus Identical see ``IFileLoader`` +LoadQKK Identical see ``IFileLoader`` +LoadRawHelper Identical see ``IFileLoader`` +LoadRKH Identical see ``IFileLoader`` +LoadSassena Identical see ``IFileLoader`` +LoadSESANS Identical see ``IFileLoader`` +LoadSINQFocus Identical see ``IFileLoader`` +LoadSNSspec Identical see ``IFileLoader`` +LoadSPE Identical see ``IFileLoader`` +LoadSpice2D Identical see ``IFileLoader`` +LoadSQW2 Identical see ``IFileLoader`` +LoadSQW Identical see ``IFileLoader`` +LoadSwans Identical see ``IFileLoader`` +LoadTBL Identical see ``IFileLoader`` +LoadTOFRawNexus Identical see ``IFileLoader`` MaskBins all Minus all see ``BinaryOperation`` MoveInstrumentComponent all -- GitLab