TProofBench Steering class for PROOF benchmarks
virtual | ~TProofBench() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
void | CloseOutFile() |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
Int_t | CopyDataSet(const char* dset, const char* dsetdst, const char* destdir) |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
static void | DrawCPU(const char* outfile, const char* opt = "std:", Bool_t verbose = kFALSE, Int_t dofit = 0, Int_t n0 = -1, Int_t n1 = -1) |
static void | DrawDataSet(const char* outfile, const char* opt = "std:", const char* type = "mbs", Bool_t verbose = kFALSE, Int_t dofit = 0, Int_t n0 = -1, Int_t n1 = -1) |
static void | DrawEfficiency(const char* outfile, const char* opt = "", Bool_t verbose = kFALSE) |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
Bool_t | GetDebug() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
static TList* | GetGraphs() |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
const char* | GetOutFileName() const |
static void | GetPerfSpecs(const char* path = ".", Int_t degfit = 1) |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
Int_t | MakeDataSet(const char* dset = 0, Long64_t nevt = -1, const char* fnroot = "event", Bool_t regenerate = kFALSE) |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
Int_t | OpenOutFile(Bool_t wrt = kFALSE, Bool_t verbose = kTRUE) |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
TProofBench& | operator=(const TProofBench&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
Int_t | ReleaseCache(const char* dset) |
Int_t | RemoveDataSet(const char* dset) |
void | TObject::ResetBit(UInt_t f) |
Int_t | RunCPU(Long64_t nevents = -1, Int_t start = -1, Int_t stop = -1, Int_t step = -1) |
Int_t | RunCPUx(Long64_t nevents = -1, Int_t start = -1, Int_t stop = -1) |
Int_t | RunDataSet(const char* dset = "BenchDataSet", Int_t start = 1, Int_t stop = -1, Int_t step = 1) |
Int_t | RunDataSetx(const char* dset = "BenchDataSet", Int_t start = 1, Int_t stop = -1) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetCPUPar(const char* par) |
void | SetCPUSel(const char* sel) |
void | SetDataGenPar(const char* par) |
void | SetDataGenSel(const char* sel) |
void | SetDataPar(const char* par) |
void | SetDataSel(const char* sel) |
void | SetDebug(Bool_t debug = kTRUE) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | SetHistType(TPBHistType* histtype) |
void | SetNFilesWrk(Int_t nf = 0) |
void | SetNHist(Int_t nh) |
void | SetNTries(Int_t nt) |
static void | TObject::SetObjectStat(Bool_t stat) |
Int_t | SetOutFile(const char* outfile, Bool_t verbose = kTRUE) |
void | SetProofDS(TProof* p) |
void | SetReadType(TPBReadType* readtype) |
void | SetReleaseCache(Bool_t on = kTRUE) |
void | SetSelOption(const char* opt) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
TProofBench(const TProofBench&) | |
TProofBench(const char* url, const char* outfile = "<default>", const char* proofopt = 0) | |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
static void | AssertFittingFun(Double_t mi, Double_t mx) |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
static TGraphErrors* | GetGraph(TDirectory* d, const char* pfn, Int_t& nb, Double_t& xmi, Double_t& xmx, Double_t& ymi, Double_t& ymx, Int_t& kmx, TProfile*& pf) |
void | TObject::MakeZombie() |
static TObject::(anonymous) | TObject::kBitMask | |
static TObject::EStatusBits | TObject::kCanDelete | |
static TObject::EStatusBits | TObject::kCannotPick | |
static TObject::EStatusBits | TObject::kHasUUID | |
static TObject::EStatusBits | TObject::kInvalidObject | |
static TObject::(anonymous) | TObject::kIsOnHeap | |
static TObject::EStatusBits | TObject::kIsReferenced | |
static TObject::EStatusBits | TObject::kMustCleanup | |
static TObject::EStatusBits | TObject::kNoContextMenu | |
static TObject::(anonymous) | TObject::kNotDeleted | |
static TObject::EStatusBits | TObject::kObjInCanvas | |
static TObject::(anonymous) | TObject::kOverwrite | |
static TObject::(anonymous) | TObject::kSingleKey | |
static TObject::(anonymous) | TObject::kWriteDelete | |
static TObject::(anonymous) | TObject::kZombie |
TString | fCPUPar | List of par files to be loaded for CPU benchmarks |
TString | fCPUSel | Selector to be used for CPU benchmarks |
TProofBenchDataSet* | fDS | Instance to handle datasets operations |
TString | fDataGenPar | List of par files to be loaded to generate data for benchmarks |
TString | fDataGenSel | Selector to be used for generate data for benchmarks |
TString | fDataPar | List of par files to be loaded for data benchmarks |
TString | fDataSel | Selector to be used for data benchmarks |
TString | fDataSet | Name of the dataset |
Bool_t | fDebug | Debug switch |
TNamed* | fDescription | Strings describing the cluster for this test (saved in the output file) |
TPBHistType* | fHistType | Type of histograms for CPU runs |
Int_t | fNFilesWrk | Number of files generated files per worker |
Int_t | fNHist | Number of histograms to be created in default CPU runs |
Int_t | fNtries | Number of times a measurement is repeated |
Int_t | fNumWrkMax | Max number of workers (required for dynamic setups) |
TFile* | fOutFile | Output file |
TString | fOutFileName | Name of the output file |
TProof* | fProof | Proof |
TProof* | fProofDS | Proof to be used for dataset actions |
TPBReadType* | fReadType | Type of read (partial, full) |
Bool_t | fReleaseCache | Release cache for data reads between runs |
TProofBenchRunCPU* | fRunCPU | Instance to run CPU scans |
TProofBenchRunDataRead* | fRunDS | Instance to run data-read scans |
TString | fSelOption | Option field for processing the selector |
static TF1* | fgFio | Function used for I/O rate fits |
static TF1* | fgFioV | Function used for I/O rate fits with non-constant Rcpu |
static TF1* | fgFp1 | Simple 1st degree polynomial |
static TF1* | fgFp1n | Normalized 1st degree |
static TF1* | fgFp2 | Simple 2nd degree polynomial |
static TF1* | fgFp2n | Normalized 2nd degree |
static TF1* | fgFp3 | Function with varying Rcpu |
static TF1* | fgFp3n | Normalized Function with varying Rcpu |
static TList* | fgGraphs | List of TGraphErrors created by Draw actions |
Bool_t | fUnlinkOutfile | Whether to remove empty output files |
Constructor: check PROOF and load selectors PAR
Set the otuput file Return 0 on success, -1 on error
Set the output file Return 0 on success, -1 on error
Perform the CPU run Return 0 on success, -1 on error
Perform the CPU run scanning over the number of workers per node Return 0 on success, -1 on error
Draw the CPU speedup plot. opt = 'typewhat', e.g. 'std:max:' type = 'std:' draw standard evt/s plot 'stdx:' draw standard evt/s plot, 1 worker per node 'norm:' draw normalized plot 'normx:' draw normalized plot, 1 worker per node what = 'max:' draw max rate 'avg:' draw average rate 'all:' draw max and average rate on same plot (default) dofit = 0 no fit 1 fit with the relevant '1st degree related' function 2 fit with the relevant '2nd degree related' function 3 fit with varying rcpu function n0 = for dofit == 3, number of real cores n1 = for dofit == 3, number of total cores (real + hyperthreaded)
Get from TDirectory 'd' the TProfile named 'pfn' and create the graph. Return also the max y in mx.
Get performance specs. Check file 'path', or files in directory 'path' (default current directory). The degree of the polynomial used for the fit is 'degfit' (default 1).
Perform a test using dataset 'dset' Return 0 on success, -1 on error Open the file for the results
Perform a test using dataset 'dset' scanning over the number of workers per node. Return 0 on success, -1 on error Open the file for the results
Draw the CPU speedup plot. opt = 'typewhat', e.g. 'std:max:' type = 'std:' draw standard plot 'stdx:' draw standard plot, 1 worker per node 'norm:' draw normalized plot 'normx:' draw normalized plot, 1 worker per node what = 'max:' draw max rate 'avg:' draw average rate 'all:' draw max and average rate on same plot (default) type = 'mbs' MB/s scaling plots (default) 'evts' Event/s scaling plots dofit = 0 no fit 1 fit with default 3 parameter saturated I/O formula 2 fit with 4 parameter saturated I/O formula (varying Rcpu) n0 = for dofit == 2, number of real cores n1 = for dofit == 2, number of total cores (real + hyperthreaded)
Draw the efficiency plot. opt = 'cpu' or 'data' (default the first found)
Release memory cache for dataset 'dset' Return 0 on success, -1 on error
Physically remove the dataset 'dset', i.e. remove the dataset and the files it describes Return 0 on success, -1 on error
Create the largest dataset for the run. Defaults for dataset name, filename root are "BenchDataSet", "event" respectively. These can be changed via dset and fnroot, respectively. The string 'fnroot' defines the location of the files, interpreted as an URL. Examples: fnroot files 'event' <datadir>/event_<ord>_<#>.root '/mss/event' /mss/event_<ord>_<#>.root 'root://srv//mss/event?remote=1' root://srv//mss/event_<ord>_<#>?remote=1.root Default selector is TSelEventGen. Use SetDataGenSel and SetDataGenPar to change it and to pass the list of PARs defining the alternative selector. The argument 'nevt' controls the number of events per file (-1 for the default, which is 30000). Return 0 on success, -1 on error
Copy the files of dataset 'dset' to 'destdir' and create a new dataset named 'dsetdst' decribing them. Return 0 on success, -1 on error
Set the PROOF instance to be used for dataset operations, like releasing cache ... Use SetProofDS(0) to reset and using the default PROOF