在上一篇文章中,我们深入解析了SimForge™ 高性能仿真云平台的「远程桌面」功能,展示了其如何为仿真工程师提供一个强大且灵活的图形化操作环境。然而,对于那些追求极致操作效率和深度资源调动的工程师们来说,其惯用的「命令终端」功能,将是另一把开启高效仿真工作大门的关键钥匙。
「命令终端」是一个命令行程序,使用 Linux 命令进行操作。熟悉命令行的用户,可以使用命令终端功能来操作文件、提交作业等。
在一些CAE软件中,「命令终端」是用户与软件最直接的交互方式,尤其是在一些高级仿真软件(如ANSYS、Abaqus、COMSOL等)中,它作为一种补充图形界面(GUI)的工具,为用户提供更高的灵活性和控制能力。
而SimForge™的「命令终端」功能,意味着用户可以通过命令行操作和调用所有软件及资源。
① 自动化和批处理
对于需要重复执行的仿真任务或涉及大量文件处理的场景,命令终端的脚本编写和执行功能,能够实现自动化批量操作,极大地节省了人力和时间成本。
② 深度资源调用
命令终端赋予用户对平台资源的全方位访问权限。用户能够精准调用特定的计算节点、申请合适的内存资源以及分配所需的 GPU 加速资源等,满足个性化需求,确保仿真任务在最适配的环境下高速运行。
③ 无缝对接常用工具
它与平台内的各类工具无缝集成,方便用户利用熟悉的命令行工具进行数据处理、文本编辑以及环境配置等工作,无需在不同的软件操作界面之间频繁切换,维持了工作流程的连贯性和高效性。
在功能管理中选择命令终端,点击后打开命令终端界面。
打开后可进行命令行操作。如输入 ls,可以查看用户文件夹中包含的文件。
用户完成命令行操作后,点击命令终端窗口右上角✖即可退出命令终端。
① spack 方式
初始化
source /share/simforge_share/apps/Spack/share/spack/setup-env.sh #初始化spack命令
查看已安装的包
spack find #查看已安装的包 ==> 74 installed packages -- linux-centos7-cascadelake / gcc@10.2.0 ----------------------- autoconf@2.69 libbsd@0.11.3 perl@5.34.0 autoconf-archive@2019.01.06 libffi@3.3 pkgconf@1.8.0 automake@1.16.3 libiconv@1.16 python@3.9.9 berkeley-db@18.1.40 libmd@1.0.3 readline@8.1 bzip2@1.0.8 libsigsegv@2.13 sqlite@3.36.0 cmake@3.22.1 libtool@2.4.6 tar@1.34 diffutils@3.8 libxml2@2.9.12 texinfo@6.5 expat@2.4.1 m4@1.4.19 util-linux-uuid@2.36.2 gcc@10.2.0 mpc@1.1.0 xz@5.2.5 gdbm@1.19 mpfr@4.1.0 zlib@1.2.11 gettext@0.21 ncurses@6.2 zstd@1.5.0 gmp@6.2.1 openssl@1.1.1l -- linux-centos7-haswell / gcc@4.8.5 ---------------------------- autoconf@2.69 libevent@2.1.12 openmpi@4.1.2 automake@1.16.3 libfabric@1.14.0 openssh@8.7p1 berkeley-db@18.1.40 libffi@3.3 openssl@1.1.1l bzip2@1.0.8 libiconv@1.16 perl@5.34.0 cmake@3.22.1 libmd@1.0.3 pkgconf@1.8.0 diffutils@3.8 libpciaccess@0.16 python@3.9.9 expat@2.4.1 libsigsegv@2.13 readline@8.1 findutils@4.8.0 libtool@2.4.6 sqlite@3.36.0 gdbm@1.19 libxml2@2.9.12 tar@1.34 gettext@0.21 m4@1.4.19 util-linux-uuid@2.36.2 hwloc@2.6.0 mpich@3.4.2 util-macros@1.19.3 libbsd@0.11.3 ncurses@6.2 xz@5.2.5 libedit@3.1-20210216 numactl@2.0.14 zlib@1.2.11
加载编译器
spack load gcc@10.2.0 #加载10.2.0版本gcc编译器
多个版本库的选择
spack load cmake #加载cmake提示有多个版本的包 ==> Error: cmake matches multiple packages. Matching packages: qapiaa2 cmake@3.22.1%gcc@4.8.5 arch=linux-centos7-haswell 7latf3f cmake@3.22.1%gcc@10.2.0 arch=linux-centos7-cascadelake Use a more specific spec. spack load cmake@3.22.1%gcc@10.2.0 #加载gcc-10.2.0编译的版本 spack load /qapiaa2 #根据唯一识别码加载编译器qapiaa2 cmake@3.22.1%gcc@4.8.5 arch=linux-centos7-haswell
② module 方式
查看已安装的库
module load + TAB
加载程序包
module load Intel/parallel_studio_xe_2018/2018 #加载Intel2018程序包
① 查看队列资源
aip queue info
② csub 任务提交命令
csub -I -q q_x86_sf -n 8 -o %J.out -e %J.error <command>
-I:交互式。程序输出会打印到终端,终端关闭则程序终止运行。
-q:后接队列名,如 q_x86_sf
-n:后接程序运行使用核心数
-o:后接文件名,将输出打印至该文件中
-e:后接文件名,将错误信息打印至该文件中
command:Linux 系统运行程序的命令
更多命令参数请查看 csub 文档:
man csub
③ 递交 MPI 作业
基于 MPICH 的 MPI 实现包括 Intel MPI、MPICH、MVAPICH
spack load mpich@3.4.2%gcc@4.8.5 #加载mpich-3.4.2 module load Intel/parallel_studio_xe_2018/2018 #加载Intel2018程序包 csub -n 64 mpirun ./myprogram
基于 OpenMPI 的 MPI 实现包括 OpenMPI、Platform/HP/IBM MPI
spack load openmpi@4.1.2%gcc@4.8.5 #加载openmpi-4.1.2 csub -n 64 ompi-mpirun ./myprogram
从图形界面的可视化交互到命令终端的脚本化操控,神工坊始终致力于以工程师们的需求为先,将先进算力转化为工业算能,让SimForge™高性能仿真云成为工程师的趁手工具。