www.tech-doc.cn AMEHPCStudystart

AMEHPCStudystart


该命令可通过命令行或脚本应用直接提交至调度器。在高级应用中,它能简化Simcenter Amesim研究在复杂工作流中的集成,并支持通过Simcenter Amesim脚本API管理大规模仿真。

此命令包含与先前介绍的模板相同的选项,但操作层级更低,本质上是提交给作业调度器的脚本(LSF/Openlava使用bsub,Slurm使用sbatch,PBS/UGE/SGE使用qsub)。

注意:

直接调用AMEHPCStudyStart脚本时必须设置AME_HPC_PYTHON变量(参见环境设置章节)。

AMEHPCStudyMain.py
[-h] [--driver DRIVER] [--remote-shell RSHELL] 
[--wdir WDIR][--dirmodel DIRMODEL] [--amehpcpython PYTHON] 
[--port-manager MANAGERPORT][--spread-port-manager MANAGERPORTSPREAD] 
[--amehpcpath AMEHPCPATH]        
[--unique_sub_dir] [--fargs FARGS] [--simtool {amesim,cosimbus,sysanalyst}]
[--model MODEL] [--amepath AMEPATH] 
[--type RUNTYPE][--studytype STUDYTYPE] [--studyname STUDYNAME] 
[--compiler COMPILER]--license LICENSE] [--no_compilation] 
[--save_as SAVE_AS] [--no_save][--xserver XSERVER] 
[--pathlistfile PATHLISTFILE] [--env XXX=value]        
[--precomp_preproc_archive PREC_PREP_ARCH]
[--precomp_preproc_script PREC_PREP_SCRIPT]
[--postcomp_preproc_archive POSTC_PREP_ARCH]
[--postcomp_preproc_script POSTC_PREP_SCRIPT]
[--postproc_archive POSTPROC_ARCH] 
[--postproc_script POSTPROC_SCRIPT]     

向HPC调度器提交Simcenter Amesim研究

Simcenter Amesim参数:
  -h, --help            显示帮助信息并退出
  --model MODEL         定义研究模型名称
  --amepath AMEPATH     定义Simcenter Amesim路径(未设置$AME时必需)
  --type RUNTYPE        定义研究类型:single(单次)、batch(批量)或DE(设计探索)
  --studytype STUDYTYPE
                        定义设计探索子类型:0或"Doe"表示实验设计,1或"Optim"表示优化,2或"Mc"表示蒙特卡洛
  --studyname STUDYNAME
                        定义设计探索研究名称
  --compiler COMPILER   设置编译器:gcc64或intel64;默认为gcc64

HPC框架参数:
  --driver DRIVER       选择HPC调度器:NATIVE、LSF、PBS、SLURM或UGE
  --remote-shell RSHELL
                        选择远程进程启动方式:sched、ssh或mpi(默认为"sched")
  --wdir WDIR           定义工作目录。不应在含附加参数的文件中定义
  --dirmodel DIRMODEL   定义包含研究输入模型的目录
  --amehpcpython PYTHON
                        定义Simcenter Amesim HPC框架使用的Python路径
  --port-manager MANAGERPORT
                        STDSIMManager可用起始端口;默认为40001(未定义$AME_SIMULATIONPORT时)
  --spread-port-manager MANAGERPORTSPREAD
                        定义STDSIMManager可用端口范围:[MANAGERPORT; MANAGERPORT+MANAGERPORTSPREAD];默认为1000(未定义$AME_SIMULATIONPORT_SPREAD时)
  --amehpcpath AMEHPCPATH
                        定义Simcenter Amesim HPC框架路径。默认与--amepath选项关联。注:若定义则使用$AME_HPC_PATH
  --simtool {amesim,cosimbus,sysanalyst}
                        选择仿真工具

附加HPC框架参数:
  --unique_sub_dir      将工作目录替换为在工作目录内创建的独特子目录(参见--wdir)
  --fargs FARGS         包含附加程序参数的文件。可为wdir目录中的文件名或完整绝对路径

附加Simcenter Amesim参数:
  --license LICENSE     定义许可证变量及其值。若定义必须为RLM许可。此选项已弃用,应改用--env
  --no_compilation      不编译模型,视为已编译
  --save_as SAVE_AS     研究结束后保存模型,定义:- 规范路径如$HOME/my_result_dir/,使用相同初始系统名称 - 新ame文件的规范路径如$HOME/my_result_dir/my_simulated_system.ame
  --no_save             仿真结束后不保存模型,模型仍解压在工作目录中
  --xserver XSERVER     定义虚拟X服务器环境命令
  --pathlistfile PATHLISTFILE
                        使用文件中定义的路径列表替代Simcenter Amesim路径列表
  --env XXX=value       定义运行Amesim脚本前需设置的环境变量。可多次使用以设置多个变量。设置无值的FOO变量使用FOO=
  --precomp_preproc_archive PREC_PREP_ARCH
                        定义预编译前处理的脚本.zip归档
  --precomp_preproc_script PREC_PREP_SCRIPT
                        定义预编译前处理的启动脚本名。若提供归档,可为待调用脚本的相对路径
  --postcomp_preproc_archive POSTC_PREP_ARCH
                        定义后编译前处理的脚本.zip归档
  --postcomp_preproc_script POSTC_PREP_SCRIPT
                        定义后编译前处理的启动脚本名。若提供归档,可为待调用脚本的相对路径
  --postproc_archive POSTPROC_ARCH
                        定义后处理的脚本.zip归档
  --postproc_script POSTPROC_SCRIPT
                        定义后处理的启动脚本名。若提供归档,可为待调用脚本的相对路径

以下示例展示如何在Python脚本中使用Slurm调用该命令:

# 提交hpc命令
    _cmd = [
            'sbatch',
            '-N2 -J "Simcenter Amesim批量研究"',
            '$AME' + '/scripting/python/hpc/AMEHPCStudyStart',
            '--driver=' + 'SLURM',
            '--dirmodel=' + wdir,
            '--model=' + model,
            '--type=' + 'batch',
            '--wdir=' + simdir,
            '--amepath=' + '$AME',
            '--compiler=' + 'gcc64',
            '--port-manager=' + '40100',
            '--save_as=' + save_model,
            '--env=' + 'SC1D_LICENSING_TYPE=$SC1D_LICENSING_TYPE',
            '--env=' + 'SPLM_LICENSE_SERVER=$SPLM_LICENSE_SERVER',
            '--env=' + 'LMS_LICENSE=$LMS_LICENSE',
        ]
    os.system(' '.join(_cmd))

LSF的相同示例:

# 提交hpc命令
    _cmd = [
            'bsub',
            '-n16 –R span[ptile=8] -J "Simcenter Amesim批量研究"',
            '$AME' + '/scripting/python/hpc/AMEHPCStudyStart',
            '--driver=' + 'LSF',
            '--dirmodel=' + wdir,
            '--model=' + model,
            '--type=' + 'batch',
            '--wdir=' + simdir,
            '--amepath=' + '$AME',
            '--compiler=' + 'gcc64',
            '--port-manager=' + '40100',
            '--save_as=' + save_model,
            '--env=' + 'SC1D_LICENSING_TYPE=$SC1D_LICENSING_TYPE',
            '--env=' + 'SPLM_LICENSE_SERVER=$SPLM_LICENSE_SERVER',
            '--env=' + 'LMS_LICENSE=$LMS_LICENSE',
        ]
    os.system(' '.join(_cmd))

PBS示例:

# 提交hpc命令   
 _cmd = [
        'echo "' +
        '$AME' + '/scripting/python/hpc/AMEHPCStudyStart',
        '--driver=' + 'PBS',
        '--dirmodel=' + wdir,
        '--model=' + model,
        '--type=' + 'batch',
        '--wdir=' + simdir,
        '--amepath=' + '$AME',
        '--compiler=' + 'gcc64',
        '--port-manager=' + '41000',
        '--save_as=' + save_model,
        '--env=' + 'SC1D_LICENSING_TYPE=$SC1D_LICENSING_TYPE',
        '--env=' + 'SPLM_LICENSE_SERVER=$SPLM_LICENSE_SERVER',
        '--env=' + 'LMS_LICENSE=$LMS_LICENSE',
        '"| qsub -v AME=$AME/ -l nodes=2:ppn=8'
]
    os.system(' '.join(_cmd))

UGE示例:

# 提交hpc命令
_cmd = [
       'qsub –b y –V -cwd',
        '-l f_node=2 -N "Simcenter Amesim批量研究"',
        '$AME' + '/scripting/python/hpc/AMEHPCStudyStart',
        '--driver=' + 'UGE',
        '--dirmodel=' + wdir, 
        '--model=' + model,
        '--type=' + 'batch', 
        '--wdir=' + simdir,
        '--amepath=' + '$AME',
        '--compiler=' + 'gcc64',
        '--port-manager=' + '41000', 
        '--save_as=' + save_model,
        '--env=' + 'SC1D_LICENSING_TYPE=$SC1D_LICENSING_TYPE',
        '--env=' + 'SPLM_LICENSE_SERVER=$SPLM_LICENSE_SERVER',
        '--env=' + 'LMS_LICENSE=$LMS_LICENSE',
]
os.system(' '.join(_cmd))

SGE示例:

# 提交hpc命令
_cmd = [
        'qsub –b y –V -cwd',
        '-pe multinode 2 -N "Simcenter Amesim批量研究"',
        '$AME' + '/scripting/python/hpc/AMEHPCStudyStart',
        '--driver=' + 'UGE',
        '--dirmodel=' + wdir,
        '--model=' + model,
        '--type=' + 'batch',
        '--wdir=' + simdir,
        '--amepath=' + '$AME',
        '--compiler=' + 'gcc64',
        '--port-manager=' + '41000',
        '--save_as=' + save_model,
        '--env=' + 'SC1D_LICENSING_TYPE=$SC1D_LICENSING_TYPE',
        '--env=' + 'SPLM_LICENSE_SERVER=$SPLM_LICENSE_SERVER',
        '--env=' + 'LMS_LICENSE=$LMS_LICENSE',
]
os.system(' '.join(_cmd))