Exemplo n.º 1
0
    def _write_log(self, s_content, b_write_time=False):
        """输出信息至标准输出流和日志文件中。

        :param s_content: 输出信息
        :param b_write_time: 输出信息中是否包含时间戳。
        """
        if not b_write_time:
            std_output(s_content, self.s_log_name)
        else:
            localtime = time.asctime(time.localtime(time.time()))
            std_output('Time: %s %s' % (localtime, s_content), self.s_log_name)
Exemplo n.º 2
0
 def _write_log(self, s_content, b_write_time=False):
     """
     :param s_content: content of the log
     :param b_write_time: if this value is True, then
                          the time will also be outputed
     """
     if not b_write_time:
         std_output(s_content, self.s_log_name)
     else:
         localtime = time.asctime(time.localtime(time.time()))
         std_output('Time: %s %s' % (localtime, s_content), self.s_log_name)
Exemplo n.º 3
0
    def __get_jobid(self, s_output):
        """通过分析任务提交之后,平台的返回信息,来获取任务的编号。

        注意,该函数目前只能用于神威平台
        :param s_output: Output of job submission command. Example:
                    "Job <40263106> has been submitted to queue <q_x86_share>"
        :return: 任务编号
        """
        n_jobid = False
        l_jobid = re.findall('<(\d+)>', s_output)
        try:
            n_jobid = int(l_jobid[-1])
        except Warning:
            std_output('Job Submission failed.', self.s_log_name)

        return n_jobid
Exemplo n.º 4
0
    def __get_jobid(self, s_output):
        """
    
        :param s_output: Output of job submission command.
            Example: "Job <40263106> has been submitted to queue <q_x86_share>"
        """
        import re

        n_jobid = 0
        l_jobid = re.findall('<(\\d+)>', s_output)
        try:
            n_jobid = int(l_jobid[-1])
        except Warning:
            std_output('Job Submission failed.', self.s_log_name)

        return n_jobid
Exemplo n.º 5
0
    def _execute(self):
        """执行CTF(及预处理器)计算
        """
        s_platform = self.s_platform.upper()

        if self.b_is_simulate:
            self._run_simulate()
            return

        if s_platform == 'WINDOWS':
            self._write_log('ERROR! CTF cannot run on Windows OS!',
                            self.s_platform)
        elif s_platform == 'LINUX':
            self._run_linux()
        elif s_platform == 'TIANHE':
            self._run_tianhe()
        elif s_platform == 'TANSUO':
            self._run_tansuo()
        elif s_platform == 'SHENWEI':
            self._run_shenwei()
        else:
            std_output('ERROR! unrecognized platform: %s' % s_platform,
                       self.s_log_name)
            raise IOError
Exemplo n.º 6
0
    def _execute(self):
        """
        Run RMC code
        """
        if self.b_is_simulate:
            self._run_simulate()
            return

        s_platform = self.s_platform.upper()

        if s_platform == 'WINDOWS':
            self._run_windows()
        elif s_platform == 'LINUX':
            self._run_linux()
        elif s_platform == 'TIANHE':
            self._run_tianhe()
        elif s_platform == 'TANSUO':
            self._run_tansuo()
        elif s_platform == 'SHENWEI':
            self._run_shenwei()
        else:
            std_output('ERROR! unrecognized platform: %s' % s_platform,
                       self.s_log_name)
            raise IOError