97 const char *ftitle =
"",
Int_t compress = 4);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
bool Bool_t
Boolean (0=false, 1=true) (bool).
long long Long64_t
Portable signed long integer 8 bytes.
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
#define ClassDefOverride(name, id)
Describe directory structure in memory.
This class provides file copy and merging services.
TFile(const TFile &)=delete
void CheckSplitLevel()
Checks that the split level is more than one.
Int_t GetSplitLevel() const
void CreateEmptyBufferAndSend()
For Workers: Creates an empty buffer and sends it to the Collector.
~TMPIFile() override
TMPIFile destructor.
Int_t GetMPIGlobalRank() const
void CreateBufferAndSend()
Called by the Workers only: Copies the current content in memory and sends it asynchronously to the C...
Bool_t IsReceived()
Checks the member MPI_REQEUST object to see if a message has been received.
Int_t GetMPIColor() const
void UpdateEndProcess()
As worker ranks exit, they send the collector empty messages.
Bool_t IsCollector()
return True if this is the Collector rank, otherwise False
void SetOutputName()
Called by the Collector only: edits the input filename from the user to append the rank ID of the Col...
void RunCollector(Bool_t cache=kFALSE)
This is the core of the Collector rank which listens for incoming messages from Worker ranks.
TMPIFile(const char *name, char *buffer, Long64_t size=0, Option_t *option="", Int_t split=1, const char *ftitle="", Int_t compress=4)
TMPIFile constructor.
void Sync()
Called by the Workers only: Called periodically by workers and triggers the sending of data to the Co...
Int_t GetMPILocalSize() const
Int_t GetMPILocalRank() const
void SplitMPIComm()
Called by all ranks to create the sub communicators (if more than one rank).
Int_t GetMPIGlobalSize() const
TString GetMPIFilename() const
TMemFile(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Long64_t defBlockSize=0LL)
Usual Constructor.
TObject()
TObject constructor.
The TTimeStamp encapsulates seconds and ns since EPOCH.
ULong_t Hash() const override
Return hash value for this object.
Bool_t NeedMerge(Float_t clientThreshold)
Return true, if enough client have reported.
const char * GetName() const override
Returns name of object.
void RegisterClient(UInt_t clientID, TFile *file)
Register that a client has sent a file.
Bool_t Merge()
Merge the current inputs into the output file.
Bool_t InitialMerge(TFile *input)
Initial merge of the input to copy the resetable object (TTree) into the output and remove them from ...
~ParallelFileMerger() override
Deconstructor for ParallelFileMerger class.
std::vector< TMPIClientInfo > ClientColl_t
ParallelFileMerger(const char *filename, Int_t compression_settings, Bool_t writeCache=kFALSE)
Constructor for ParallelFileMerger class.
static void DeleteObject(TDirectory *dir, Bool_t withReset)
static Bool_t NeedInitialMerge(TDirectory *dir)