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))
译文质量与官方无关,仅做辅助学习使用,帮助大家更方便高效的掌握工具.文档网址:www.tech-doc.cn;公众号:Amesim学习与应用、译匠工厂