KaliVeda
Toolkit for HIC analysis
|
Interface to CCIN2P3 Grid Engine batch job management system.
Created by KVClassFactory on Mon Jan 24 16:54:04 2022 Author: John Frankland,,,
Definition at line 16 of file KV_CCIN2P3_Slurm.h.
#include <KV_CCIN2P3_Slurm.h>
Public Member Functions | |
KV_CCIN2P3_Slurm (const Char_t *name) | |
virtual Bool_t | CheckJobParameters () |
Checks the job and asks for any missing parameters. | |
void | ChooseJobMemory (void) |
void | ChooseJobTime (void) |
virtual void | Clear (Option_t *opt="") |
Clear previously set parameters in order to create a new job submission command. | |
virtual void | GetBatchSystemParameterList (KVNameValueList &) |
const Char_t * | GetJobMemory (void) const |
returns the parameter string corresponding to the job Memory | |
const Char_t * | GetJobName () const |
const Char_t * | GetJobTime (void) const |
returns the parameter string corresponding to the job CPU time | |
Int_t | GetRunsPerJob () const |
Bool_t | MultiJobsMode () const |
virtual void | Print (Option_t *="") const |
void | PrintJobs (Option_t *opt="") |
Print list of owner's jobs. | |
virtual void | ReadBatchEnvFile (TEnv *) |
void | Run () |
virtual void | SanitizeJobName () const |
virtual void | SetBatchSystemParameters (const KVNameValueList &) |
Use the parameters in the list to set all relevant parameters for batch system. | |
void | SetJobMemory (const Char_t *h="") |
void | SetJobTime (const Char_t *h="") |
void | SetMultiJobsMode (Bool_t on=kTRUE) |
void | SetRunsPerJob (Int_t n) |
virtual void | WriteBatchEnvFile (TEnv *) |
Public Member Functions inherited from KVBatchSystem | |
KVBatchSystem (const Char_t *name) | |
virtual | ~KVBatchSystem () |
Destructor. | |
virtual void | AlterJobs (TGWindow *, TList *) |
void | cd () |
Make this the default batch system. | |
virtual const Char_t * | GetDefaultJobOptions () const |
virtual const Char_t * | GetJobSubCmd () const |
virtual const Char_t * | GetJobSubCmdLine () |
virtual KVList * | GetListOfJobs () |
KVNameValueList & | GetParameters () |
virtual void | SetAnalyser (KVDataAnalyser *da) |
virtual void | SetDefaultJobOptions (const Char_t *opt) |
virtual void | SetJobName (const Char_t *name) |
virtual void | SetJobScript (const Char_t *path) |
virtual void | SubmitJob () |
virtual void | SubmitTask (KVDataAnalyser *da) |
Public Member Functions inherited from KVBase | |
KVBase () | |
Default constructor. | |
KVBase (const Char_t *name, const Char_t *title="") | |
Ctor for object with given name and type. | |
KVBase (const KVBase &) | |
copy ctor | |
virtual | ~KVBase () |
virtual void | Copy (TObject &) const |
Make a copy of this object. | |
const Char_t * | GetLabel () const |
UInt_t | GetNumber () const |
UInt_t | GetNumberOfObjects () const |
virtual TObject * | GetObject () const |
virtual const Char_t * | GetType () const |
Bool_t | HasLabel () const |
virtual Bool_t | IsCalled (const Char_t *name) const |
Bool_t | IsLabelled (const Char_t *l) const |
virtual Bool_t | IsType (const Char_t *typ) const |
virtual void | List () |
KVBase & | operator= (const KVBase &) |
copy assignment operator | |
Double_t | ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const |
void | SetLabel (const Char_t *lab) |
virtual void | SetNumber (UInt_t num) |
virtual void | SetType (const Char_t *str) |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
void | Clear (Option_t *option="") override |
TObject * | Clone (const char *newname="") const override |
Int_t | Compare (const TObject *obj) const override |
void | Copy (TObject &named) const override |
virtual void | FillBuffer (char *&buffer) |
const char * | GetName () const override |
const char * | GetTitle () const override |
ULong_t | Hash () const override |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
TNamed & | operator= (const TNamed &rhs) |
void | Print (Option_t *option="") const override |
virtual void | SetName (const char *name) |
virtual void | SetNameTitle (const char *name, const char *title) |
virtual void | SetTitle (const char *title="") |
virtual Int_t | Sizeof () const |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
virtual | ~TObject () |
void | AbstractMethod (const char *method) const |
virtual void | AppendPad (Option_t *option="") |
virtual void | Browse (TBrowser *b) |
ULong_t | CheckedHash () |
virtual const char * | ClassName () const |
virtual void | Delete (Option_t *option="") |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
virtual void | Draw (Option_t *option="") |
virtual void | DrawClass () const |
virtual TObject * | DrawClone (Option_t *option="") const |
virtual void | Dump () const |
virtual void | Error (const char *method, const char *msgfmt,...) const |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
virtual TObject * | FindObject (const char *name) const |
virtual TObject * | FindObject (const TObject *obj) const |
virtual Option_t * | GetDrawOption () const |
virtual const char * | GetIconName () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
virtual Bool_t | HandleTimer (TTimer *timer) |
Bool_t | HasInconsistentHash () const |
virtual void | Info (const char *method, const char *msgfmt,...) const |
virtual Bool_t | InheritsFrom (const char *classname) const |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
virtual void | Inspect () const |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
virtual Bool_t | IsEqual (const TObject *obj) const |
virtual Bool_t | IsFolder () const |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
virtual Bool_t | Notify () |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *vp) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, void *vp) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
virtual void | Paint (Option_t *option="") |
virtual void | Pop () |
virtual Int_t | Read (const char *name) |
virtual void | RecursiveRemove (TObject *obj) |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
virtual void | SetDrawOption (Option_t *option="") |
virtual void | SetUniqueID (UInt_t uid) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Private Member Functions | |
virtual void | ChangeDefJobOpt (KVDataAnalyser *) |
Private Attributes | |
KVNumberList | fCurrJobRunList |
runlist for (multi job mode) job being submitted | |
KVString | fDefJobMem |
default job memory allocation (with units, e.g. "512M") | |
KVString | fDefJobTime |
default job length | |
Bool_t | fMemSet |
Bool_t | fMultiJobs |
set to kTRUE if several jobs are to be submitted for the runlist set in fAnalyser | |
Int_t | fRunsPerJob |
number of runs per job submitted in multi job mode (default=1) | |
Bool_t | fTimeSet |
Additional Inherited Members | |
Public Types inherited from KVBase | |
enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
Public Types inherited from TObject | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
Static Public Member Functions inherited from KVBatchSystem | |
static KVBatchSystem * | GetBatchSystem (const Char_t *plugin) |
Static Public Member Functions inherited from KVBase | |
static Bool_t | AreEqual (Double_t x, Double_t y, Long64_t maxdif=1) |
Comparison between two 64-bit floating-point values. | |
static void | BackupFileWithDate (const Char_t *path) |
static void | CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE) |
static void | Deprecated (const char *method, const char *advice) |
static Bool_t | FindClassSourceFiles (const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".") |
static Bool_t | FindExecutable (TString &exec, const Char_t *path="$(PATH)") |
static const Char_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval) |
static Double_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval) |
static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build time. | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
static void | OpenTempFile (TString &base, std::ofstream &fp) |
static void | PrintSplashScreen () |
Prints welcome message and infos on version etc. | |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="") |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="") |
static const Char_t * | WorkingDirectory () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
Public Attributes inherited from TObject | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TObject | |
kOnlyPrepStep | |
KV_CCIN2P3_Slurm::KV_CCIN2P3_Slurm | ( | const Char_t * | name | ) |
Default constructor Sets default job time, memory and disk space as defined in $KVROOT/KVFiles/.kvrootrc
Definition at line 21 of file KV_CCIN2P3_Slurm.cpp.
|
privatevirtual |
PRIVATE method called by SubmitTask() at moment of job submission. Depending on the current environment, the default job submission options may be changed by this method.
This method overrides and augments KVBatchSystem::ChangeDefJobOpt (which changes the options as a function of the type of analysis task). Here we add the CCIN2P3-specific case where the job is launched from a directory on the /sps/ semi-permanent storage facility, or if the data being analysed is stored in a repository on /sps/.
Then we must declare the resource 'sps'. As the 'sbatch' command does not allow multiple '-L' ressource declarations, the whole thing has to be done here. 'xrootd' resource is declared by default, 'sps' is added if needed.
Reimplemented from KVBatchSystem.
Definition at line 249 of file KV_CCIN2P3_Slurm.cpp.
|
virtual |
Checks the job and asks for any missing parameters.
Reimplemented from KVBatchSystem.
Definition at line 104 of file KV_CCIN2P3_Slurm.cpp.
Definition at line 140 of file KV_CCIN2P3_Slurm.cpp.
Definition at line 121 of file KV_CCIN2P3_Slurm.cpp.
Clear previously set parameters in order to create a new job submission command.
Reimplemented from KVBatchSystem.
Definition at line 40 of file KV_CCIN2P3_Slurm.cpp.
|
virtual |
Fill the list with all relevant parameters for batch system, set to their default values.
Parameters defined here are: JobTime [string] JobMemory [string] MultiJobsMode [bool] RunsPerJob [int] EMailOnStart [bool] EMailOnEnd [bool] EMailAddress [string]
Reimplemented from KVBatchSystem.
Definition at line 435 of file KV_CCIN2P3_Slurm.cpp.
returns the parameter string corresponding to the job Memory
Definition at line 166 of file KV_CCIN2P3_Slurm.cpp.
|
virtual |
Returns name of batch job, either during submission of batch jobs or when an analysis task is running in batch mode (access through gBatchSystem global pointer).
In multi-job mode, the job name is generated from the base name set by SetJobName() plus the extension "_Rxxxx-yyyy" with "xxxx" and "yyyy" the number of the first and last run which will be analysed by the current job.
Depending on the batch system, some sanitization of the jobname may be required e.g. to remove "illegal" characters from the jobname. This is done by SanitizeJobName() before the jobname is returned.
Reimplemented from KVBatchSystem.
Definition at line 387 of file KV_CCIN2P3_Slurm.cpp.
returns the parameter string corresponding to the job CPU time
Definition at line 155 of file KV_CCIN2P3_Slurm.cpp.
|
inline |
Returns number of runs per job submitted in multi jobs mode
Definition at line 52 of file KV_CCIN2P3_Slurm.h.
|
inlinevirtual |
Reimplemented from KVBatchSystem.
Definition at line 42 of file KV_CCIN2P3_Slurm.h.
if option="log", print infos for batch log file if option="all", print detailed info on batch system
Reimplemented from KVBatchSystem.
Definition at line 218 of file KV_CCIN2P3_Slurm.cpp.
Print list of owner's jobs.
Reimplemented from KVBatchSystem.
Definition at line 91 of file KV_CCIN2P3_Slurm.cpp.
Read any useful information on batch system from the TEnv (this method is used by KVDataAnalyser::ReadBatchEnvFile)
Reimplemented from KVBatchSystem.
Definition at line 200 of file KV_CCIN2P3_Slurm.cpp.
|
virtual |
Processes the job requests for the batch system. In normal mode, this submits one job for the data analyser fAnalyser In multijobs mode, this submits one job for each run in the runlist associated to fAnalyser
Reimplemented from KVBatchSystem.
Definition at line 311 of file KV_CCIN2P3_Slurm.cpp.
|
virtual |
Batch-system dependent sanitization of jobnames Grid Engine does not allow: : Any such character appearing in the current jobname will be replaced with '_'
Reimplemented from KVBatchSystem.
Definition at line 293 of file KV_CCIN2P3_Slurm.cpp.
|
virtual |
Use the parameters in the list to set all relevant parameters for batch system.
Reimplemented from KVBatchSystem.
Definition at line 461 of file KV_CCIN2P3_Slurm.cpp.
Set maximum memory used by job. Include units in string, i.e. "100M", "1G" etc. If mem="", use default value
Definition at line 75 of file KV_CCIN2P3_Slurm.cpp.
Set CPU time for batch job. SetJobTime() => use default time
Definition at line 55 of file KV_CCIN2P3_Slurm.cpp.
Definition at line 38 of file KV_CCIN2P3_Slurm.h.
Set number of runs per job submitted in multi jobs mode (default=1)
Definition at line 47 of file KV_CCIN2P3_Slurm.h.
Store any useful information on batch system in the TEnv (this method is used by KVDataAnalyser::WriteBatchEnvFile)
Reimplemented from KVBatchSystem.
Definition at line 179 of file KV_CCIN2P3_Slurm.cpp.
|
private |
runlist for (multi job mode) job being submitted
Definition at line 21 of file KV_CCIN2P3_Slurm.h.
|
private |
default job memory allocation (with units, e.g. "512M")
Definition at line 23 of file KV_CCIN2P3_Slurm.h.
|
private |
default job length
Definition at line 22 of file KV_CCIN2P3_Slurm.h.
|
private |
Definition at line 25 of file KV_CCIN2P3_Slurm.h.
|
private |
set to kTRUE if several jobs are to be submitted for the runlist set in fAnalyser
Definition at line 19 of file KV_CCIN2P3_Slurm.h.
|
private |
number of runs per job submitted in multi job mode (default=1)
Definition at line 20 of file KV_CCIN2P3_Slurm.h.
|
private |
Definition at line 24 of file KV_CCIN2P3_Slurm.h.