Exemple #1
0
    def __init__(self, filename = None, configString = None, cleanOutDir = False):
       # parallelization parameters
       # Default values, see explanations below:
        #self.name = 'Launcher'

        self._isSerial = True

        self._mergedTask = False

        configDic = {
        'useTorque' : 'False',
        'paraTorqueParams':  '-l nodes=1:ppn=1',
        'serialTorqueParams': '-l nodes=1:ppn=1',        
        'paraPrefix': '',
        'paraPostfix': '',
        'serialPrefix': '',
        'serialPostfix': '',
        'paraRemoteShell': '',
        'outdir': None
        }


        if filename == None and configString == None:
            filename = 'config.ini'

        self.setting = Setting(filename, configString)
        self.setting.section(QETask.name(self), configDic)

        self.cleanOutDir = cleanOutDir

        if self.setting.get('useTorque') == 'True':
            self.setting.set('useTorque', True)
        else:
            self.setting.set('useTorque', False)

        if self.setting.get('useTorque'):
            if self.isSerial():
                self._torque = QETorque(self.setting.get('serialTorqueParams'))
            else:
                self._torque = QETorque(self.setting.get('paraTorqueParams'))
Exemple #2
0
    def __init__(self, filename, cleanOutDir=None):
        # parallelization parameters
        # Default values, see explanations below:
        self.name = 'Launcher'
        configDic = {
            'useTorque': 'False',
            'torqueResourceList': '-l nodes=1:ppn=1',
            'paraPrefix': '',
            'paraPostfix': ''
        }
        self.setting = Setting(filename)
        self.setting.section(self.name, configDic)

        self.cleanOutDir = cleanOutDir

        if self.setting.useTorque == 'True':
            self.setting.useTorque = True
        else:
            self.setting.useTorque = False

        if self.setting.useTorque:
            self._torque = QETorque(self.setting.torqueResourceList)
Exemple #3
0
    def readSetting(self, filename = None, configString = None, \
                                                            sectionName = None):
        """
        Initializes setting class
        """

        configDic = {
            'useTorque': 'False',
            'paraTorqueParams': '-l nodes=1:ppn=1',
            'serialTorqueParams': '-l nodes=1:ppn=1',
            'paraPrefix': '',
            'paraPostfix': '',
            'serialPrefix': '',
            'serialPostfix': '',
            'paraRemoteShell': '',
            'outdir': None
        }

        # if filename == None and configString == None:
        #     configString = ''
        #     filename = 'config.ini'
        if filename == None and configString == None:
            self.setting = Setting(configString="")
        else:
            self.setting = Setting(filename, configString)

        self.setting.section(QETask.name(self), configDic)

        if self.setting.get('useTorque') == 'True':
            self.setting.set('useTorque', True)
        else:
            self.setting.set('useTorque', False)

        if self.setting.get('useTorque'):
            if self.isSerial():
                self._torque = QETorque(self.setting.get('serialTorqueParams'))
            else:
                self._torque = QETorque(self.setting.get('paraTorqueParams'))

        # **********************************************************************
        # Task subclass  specific part:

        if hasattr(self, '_type'):

            defaultModName = 'QESInput'

            modname = self._inputConstructor

            #Input = __import__("qeparser." + modname.lower(), globals(), \
            #                    locals(), [modname], -1)

            mod_cmd = "from qeparser.%s import %s as Input" % (modname.lower(),
                                                               modname)
            exec(mod_cmd)
            from qeparser.qeoutput import QEOutput

            if sectionName == None:
                name = self.name()
            else:
                name = sectionName

            self.setting.section(name, self._configDic)

            # add pointer to setting for input filenames synchronization
            #self.input._setting = self.setting
            self.output = QEOutput(self.setting, type=self._type)

            args = {
                'setting': self.setting,
            }
            if modname == defaultModName:
                args['type'] = self._type
            if filename != None or configString != None:
                self.input = Input(**args)
                self.syncSetting()
            else:
                # add parse:
                args['parse'] = False
                self.input = Input(**args)