Skip to content
Snippets Groups Projects
Commit 59bd39c3 authored by Papeleux Luc's avatar Papeleux Luc
Browse files

replace nice by priority to fix launchGui in installed version (with space in...

replace nice by priority to fix launchGui in installed version (with space in dirs). \n Add BatteryArg in comp.py (--fpe, --withWER, --keep)
parent 28f6ff29
No related branches found
No related tags found
No related merge requests found
...@@ -83,7 +83,7 @@ class CompJob(ParametricJob): ...@@ -83,7 +83,7 @@ class CompJob(ParametricJob):
TextPRM(self.pars, 'PYTHONEXE', 'Python executable', sys.executable) TextPRM(self.pars, 'PYTHONEXE', 'Python executable', sys.executable)
TextPRM(self.pars, 'NICE_VALUE', 'nice value', "0") TextPRM(self.pars, 'PRIORITY', 'priority [1-5]', "3")
TextPRM(self.pars, 'NB_TASKS', 'nb of tasks launched in parallel', "1") TextPRM(self.pars, 'NB_TASKS', 'nb of tasks launched in parallel', "1")
TextPRM(self.pars, 'NB_THREADS', 'nb of threads by task', "1") TextPRM(self.pars, 'NB_THREADS', 'nb of threads by task', "1")
...@@ -91,6 +91,8 @@ class CompJob(ParametricJob): ...@@ -91,6 +91,8 @@ class CompJob(ParametricJob):
TextPRM(self.pars, 'GIT_DEPTH', 'git clone depth', '10') TextPRM(self.pars, 'GIT_DEPTH', 'git clone depth', '10')
TextPRM(self.pars, 'GIT_BRANCH', 'git branch name', 'master') TextPRM(self.pars, 'GIT_BRANCH', 'git branch name', 'master')
MultiPRM(self.pars, 'BATTERY_ARG', 'battery argument', ["", "--fpe", "--withWER", "--keep"], "")
MultiPRM(self.pars, 'RUNMETHOD', 'Run Method', ["interactive", "at", "batch"], "batch") MultiPRM(self.pars, 'RUNMETHOD', 'Run Method', ["interactive", "at", "batch"], "batch")
TextPRM(self.pars, 'AT_TIME' , 'Delay for at launch (no syntax check, use with care)', "now") TextPRM(self.pars, 'AT_TIME' , 'Delay for at launch (no syntax check, use with care)', "now")
...@@ -108,10 +110,12 @@ class CompJob(ParametricJob): ...@@ -108,10 +110,12 @@ class CompJob(ParametricJob):
PRMAction(self.actions, 'g', self.pars['GIT_DEPTH']) PRMAction(self.actions, 'g', self.pars['GIT_DEPTH'])
PRMAction(self.actions, 'h', self.pars['GIT_BRANCH']) PRMAction(self.actions, 'h', self.pars['GIT_BRANCH'])
PRMAction(self.actions, 'i', self.pars['NICE_VALUE']) PRMAction(self.actions, 'i', self.pars['PRIORITY'])
PRMAction(self.actions, 'j', self.pars['NB_TASKS']) PRMAction(self.actions, 'j', self.pars['NB_TASKS'])
PRMAction(self.actions, 'k', self.pars['NB_THREADS']) PRMAction(self.actions, 'k', self.pars['NB_THREADS'])
PRMAction(self.actions, 'l', self.pars['BATTERY_ARG'])
PRMAction(self.actions, 'm', self.pars['RUNMETHOD']) PRMAction(self.actions, 'm', self.pars['RUNMETHOD'])
# AT paramters # AT paramters
PRMAction(self.actions, 'n', self.pars['AT_TIME']) PRMAction(self.actions, 'n', self.pars['AT_TIME'])
...@@ -132,11 +136,13 @@ class CompJob(ParametricJob): ...@@ -132,11 +136,13 @@ class CompJob(ParametricJob):
self.pars['NB_THREADS'].enable(self.pars['COMPILE'].val==True or self.pars['BATTERY'].val!=False) self.pars['NB_THREADS'].enable(self.pars['COMPILE'].val==True or self.pars['BATTERY'].val!=False)
self.pars['CMAKELIST'].enable(self.pars['COMPILE'].val==True) self.pars['CMAKELIST'].enable(self.pars['COMPILE'].val==True)
self.pars['DEBUG_MODE'].enable(self.pars['COMPILE'].val==True) self.pars['DEBUG_MODE'].enable(self.pars['COMPILE'].val==True)
self.pars['NICE_VALUE'].enable(self.pars['BATTERY'].val!=False and self.pars['RUNMETHOD'].val!='sge') self.pars['PRIORITY'].enable(self.pars['BATTERY'].val!=False and self.pars['RUNMETHOD'].val!='sge')
self.pars['GIT_DEPTH'].enable(self.pars['UNZIP'].val=="checkout" and not self.pars['GIT_FULLCLONE'].val) self.pars['GIT_DEPTH'].enable(self.pars['UNZIP'].val=="checkout" and not self.pars['GIT_FULLCLONE'].val)
self.pars['GIT_BRANCH'].enable(self.pars['UNZIP'].val=="checkout") self.pars['GIT_BRANCH'].enable(self.pars['UNZIP'].val=="checkout")
# Batch # Batch
self.pars['AT_TIME'].enable(self.pars['RUNMETHOD'].val=='at') self.pars['AT_TIME'].enable(self.pars['RUNMETHOD'].val=='at')
# battery arg
self.pars['BATTERY_ARG'].enable(self.pars['BATTERY']!=False)
def touchFiles(self): def touchFiles(self):
for repo in self.repos: for repo in self.repos:
...@@ -256,9 +262,16 @@ class CompJob(ParametricJob): ...@@ -256,9 +262,16 @@ class CompJob(ParametricJob):
now = datetime.datetime.now() now = datetime.datetime.now()
print("starting battery at %s (come back tomorrow)" % now.ctime()) print("starting battery at %s (come back tomorrow)" % now.ctime())
os.chdir('oo_metaB/bin') os.chdir('oo_metaB/bin')
cmd="nice -%s %s battery.py -j %s -k %s >battery.log 2>&1" % \ #cmd="nice -%s %s battery.py %s -j %s -k %s >battery.log 2>&1" % \
(self.pars['NICE_VALUE'].val, self.pars['PYTHONEXE'].val, \ # (self.pars['NICE_VALUE'].val, self.pars['PYTHONEXE'].val, \
self.pars['NB_TASKS'].val, self.pars['NB_THREADS'].val) # self.pars['BATTERY_ARG'].val,\
# self.pars['NB_TASKS'].val, self.pars['NB_THREADS'].val)
cmd="%s battery.py %s -p %s -j %s -k %s >battery.log 2>&1" % \
(self.pars['PYTHONEXE'].val,\
self.pars['BATTERY_ARG'].val,\
self.pars['PRIORITY'].val,\
self.pars['NB_TASKS'].val,\
self.pars['NB_THREADS'].val)
p = subprocess.Popen(cmd, shell=True) p = subprocess.Popen(cmd, shell=True)
p.wait() p.wait()
# finish script # finish script
......
...@@ -47,7 +47,7 @@ class LaunchJob(ParametricJob): ...@@ -47,7 +47,7 @@ class LaunchJob(ParametricJob):
TextPRM(self.pars, 'RESTART_STEP', 'restart step', "-1") TextPRM(self.pars, 'RESTART_STEP', 'restart step', "-1")
TextPRM(self.pars, 'NICE_VALUE', 'nice value', "0") TextPRM(self.pars, 'PRIORITY', 'priority [1-5]', "3")
TextPRM(self.pars, 'AFFINITY', 'affinity (cores list)', "") TextPRM(self.pars, 'AFFINITY', 'affinity (cores list)', "")
TextPRM(self.pars, 'NB_TASKS', 'nb of task launched in parallel', "1") TextPRM(self.pars, 'NB_TASKS', 'nb of task launched in parallel', "1")
TextPRM(self.pars, 'NB_THREADS', 'nb of threads by task', "1") TextPRM(self.pars, 'NB_THREADS', 'nb of threads by task', "1")
...@@ -88,7 +88,7 @@ class LaunchJob(ParametricJob): ...@@ -88,7 +88,7 @@ class LaunchJob(ParametricJob):
PRMAction(self.actions, 'g', self.pars['RESTART_STEP']) PRMAction(self.actions, 'g', self.pars['RESTART_STEP'])
PRMAction(self.actions, 'h', self.pars['MULTITEST']) PRMAction(self.actions, 'h', self.pars['MULTITEST'])
PRMAction(self.actions, 'i', self.pars['NICE_VALUE']) PRMAction(self.actions, 'i', self.pars['PRIORITY'])
PRMAction(self.actions, 'j', self.pars['AFFINITY']) PRMAction(self.actions, 'j', self.pars['AFFINITY'])
PRMAction(self.actions, 'k', self.pars['NB_TASKS']) PRMAction(self.actions, 'k', self.pars['NB_TASKS'])
PRMAction(self.actions, 'l', self.pars['NB_THREADS']) PRMAction(self.actions, 'l', self.pars['NB_THREADS'])
...@@ -155,8 +155,8 @@ class LaunchJob(ParametricJob): ...@@ -155,8 +155,8 @@ class LaunchJob(ParametricJob):
self.pars['FTP_PASS'].enable(self.pars['ENABLE_FTP'].val==True) self.pars['FTP_PASS'].enable(self.pars['ENABLE_FTP'].val==True)
self.pars['FTP_DIR'].enable(self.pars['ENABLE_FTP'].val==True) self.pars['FTP_DIR'].enable(self.pars['ENABLE_FTP'].val==True)
self.pars['NICE_VALUE'].enable(self.pars['RUNMETHOD'].val!='sge' and self.pars['PRIORITY'].enable(self.pars['RUNMETHOD'].val!='sge' and
self.pars['RUNMETHOD'].val!='slurm') self.pars['RUNMETHOD'].val!='slurm')
self.pars['AFFINITY'].enable(self.pars['RUNMETHOD'].val!='sge' and self.pars['AFFINITY'].enable(self.pars['RUNMETHOD'].val!='sge' and
self.pars['RUNMETHOD'].val!='slurm' and self.pars['RUNMETHOD'].val!='slurm' and
...@@ -184,7 +184,6 @@ class LaunchJob(ParametricJob): ...@@ -184,7 +184,6 @@ class LaunchJob(ParametricJob):
self.pars['MODEL'].enable(self.pars['RUNMETHOD'].val=='pbs') # cpu model (to choose subqueue) self.pars['MODEL'].enable(self.pars['RUNMETHOD'].val=='pbs') # cpu model (to choose subqueue)
self.pars['PROJECT'].enable(self.pars['RUNMETHOD'].val=='pbs') # project (group access & facturation) self.pars['PROJECT'].enable(self.pars['RUNMETHOD'].val=='pbs') # project (group access & facturation)
def getJobName(self): def getJobName(self):
if (self.pars['MULTITEST'].val==False): if (self.pars['MULTITEST'].val==False):
jobname=os.path.basename(os.getcwd())+"."+self.pars['TEST_NAME'].val jobname=os.path.basename(os.getcwd())+"."+self.pars['TEST_NAME'].val
...@@ -382,8 +381,7 @@ class LaunchJob(ParametricJob): ...@@ -382,8 +381,7 @@ class LaunchJob(ParametricJob):
if self.pars['RUNMETHOD'].val != 'sge' and self.pars['RUNMETHOD'].val != 'slurm': if self.pars['RUNMETHOD'].val != 'sge' and self.pars['RUNMETHOD'].val != 'slurm':
if self.pars['AFFINITY'].val != '': if self.pars['AFFINITY'].val != '':
pin.write(('battery.setAffinity("%s")\n'%self.pars['AFFINITY'].val).encode('utf-8')) pin.write(('battery.setAffinity("%s")\n'%self.pars['AFFINITY'].val).encode('utf-8'))
if self.pars['NICE_VALUE'].val != '0': pin.write(('battery.setPriority(%s)\n'%self.pars['PRIORITY'].val).encode('utf-8'))
pin.write(('battery.setNice(%s)\n'%self.pars['NICE_VALUE'].val).encode('utf-8'))
pin.write(('battery.setNumTasks(%s)\n'%self.pars['NB_TASKS'].val).encode('utf-8')) pin.write(('battery.setNumTasks(%s)\n'%self.pars['NB_TASKS'].val).encode('utf-8'))
pin.write(('battery.setNumThreads(%s)\n'%self.pars['NB_THREADS'].val).encode('utf-8')) pin.write(('battery.setNumThreads(%s)\n'%self.pars['NB_THREADS'].val).encode('utf-8'))
......
...@@ -135,7 +135,7 @@ class LaunchGui(QWidget): ...@@ -135,7 +135,7 @@ class LaunchGui(QWidget):
nbProcs = multiprocessing.cpu_count() nbProcs = multiprocessing.cpu_count()
self.sf['NB_TASKS'] = TextLine(self, grplay2, self.launch.pars['NB_TASKS'], 0, 0, 1, QIntValidator(1,nbProcs)) self.sf['NB_TASKS'] = TextLine(self, grplay2, self.launch.pars['NB_TASKS'], 0, 0, 1, QIntValidator(1,nbProcs))
self.sf['NB_THREADS'] = TextLine(self, grplay2, self.launch.pars['NB_THREADS'], 0, 3, 1, QIntValidator(1,nbProcs)) self.sf['NB_THREADS'] = TextLine(self, grplay2, self.launch.pars['NB_THREADS'], 0, 3, 1, QIntValidator(1,nbProcs))
self.sf['NICE_VALUE'] = TextLine(self, grplay2, self.launch.pars['NICE_VALUE'], 1, 0, 1, QIntValidator(1,19)) self.sf['PRIORITY'] = TextLine(self, grplay2, self.launch.pars['PRIORITY'], 1, 0, 1) #, QIntValidator(1,5))
self.sf['AFFINITY'] = TextLine(self, grplay2, self.launch.pars['AFFINITY'], 1, 3, 1) self.sf['AFFINITY'] = TextLine(self, grplay2, self.launch.pars['AFFINITY'], 1, 3, 1)
self.sf['RUNMETHOD'] = MultiPMRLine(self, grplay2, self.launch.pars['RUNMETHOD'],2,0) self.sf['RUNMETHOD'] = MultiPMRLine(self, grplay2, self.launch.pars['RUNMETHOD'],2,0)
...@@ -260,12 +260,7 @@ class LaunchGui(QWidget): ...@@ -260,12 +260,7 @@ class LaunchGui(QWidget):
mtfdir, mtfexe = os.path.split(self.launch.pars['EXEC_NAME'].val) mtfdir, mtfexe = os.path.split(self.launch.pars['EXEC_NAME'].val)
ldlp = mtfdir+':'+env.value('LD_LIBRARY_PATH','') ldlp = mtfdir+':'+env.value('LD_LIBRARY_PATH','')
env.insert('LD_LIBRARY_PATH',ldlp) env.insert('LD_LIBRARY_PATH',ldlp)
self.process.setProcessEnvironment(env) self.process.setProcessEnvironment(env)
# gestion du nice sur le QProcess : pas arrive a faire marcher !!!
#self.process.setPriority (self.launch.pars['NICE_VALUE'].val)
#pid = self.process.pid()
#print "QProcess pid : ",self.process.pid()
# #
self.process.readyReadStandardOutput.connect(self.readStdOutput) self.process.readyReadStandardOutput.connect(self.readStdOutput)
# launch.go() ... # launch.go() ...
...@@ -273,7 +268,6 @@ class LaunchGui(QWidget): ...@@ -273,7 +268,6 @@ class LaunchGui(QWidget):
except Exception as e: except Exception as e:
QMessageBox.information(self, 'Error', str(e)) QMessageBox.information(self, 'Error', str(e))
# re enable the gui modifications # re enable the gui modifications
self.guiEnable(True) self.guiEnable(True)
......
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