Andrew Moa Blog Site

超算平台安装Abaqus

最近因为业务关系和某家超算供应商有合作,使用过程中涉及到Abaqus软件部署问题。虽然平台客服提供了安装方案,但对于我这种爱瞎折腾的人来说不自己亲自动手解决是不会善罢干休的,而且还可以顺便水篇文章。

1. 平台配置

哪家平台就不细说了,反正又没给我付广告费。

这里用的安装包是SIMULIA 2024,系统要求GLIBC>=2.281GLIBCXX>=3.4.21CXXABI>=1.3.9。后两个好解决,可以通过LD_PRELOAD载入高版本的libstdc++.so暂时绕过限制。但是GLIBC涉及到底层动态库,除非升级发行版或者重新编译,否则真没什么好的解决办法。

用以下命令查看当前登陆节点的GLIBC版本。

getconf GNU_LIBC_VERSION

55457d02888d05e9fb7428ba2edf2ee6.png

注意这是登陆节点的GLIBC版本,计算节点和登陆节点的GLIBC甚至发行版未必一致,需要和平台确认清楚。

按这些平台的尿性,部署节点安装的大多数是CentOS 7或者对应版本的RHEL发行版,版本号不会太高,毕竟要优先保证兼容性。

uname -r -v

032011cce7ff5fddfd34c28306d2353b.png

2. GLIBC切换

好在我用的这个平台推出了GLIBC版本热切换功能2,搭配slurm在计算脚本头部添加两行注释即可,也算是十分方便了。

...
#SBATCH --comment={glibcVersion:2.31} # 指定使用glibc 2.31环境
#SBATCH --exclusive # 独占节点
...

至于哪个分区支持哪些GLIBC版本,可以通过whichpartition命令查看。

5e9eea6bc8bc9f5d8e3f323d00bcdbe9.png

阅读时长1分钟
Andrew Moa

Ansa自定义参数和公式

1. 定义参数

ANSA的自定义参数比较简单,在输入框右键弹出菜单选择List variables,然后在A_PARAMETERs对话框中新建变量,并指派该变量名称就行了。

比如这里将材料参数指派为自定义参数:

  1. 右键选择变量列表

    1710a219-f3ec-4b94-8118-737a0de05c66

  2. 新建变量

    20853e89-e4cd-48b1-97b3-23e4842a6579

  3. 定义变量参数

    ccd6dee9-d580-4146-bfdb-cb96b268697f

  4. 指派变量

    535594dc-d382-4231-bfa3-bcde019c84a0

阅读时长1分钟
Andrew Moa

Linux挂载Windows共享文件夹无法运行Abaqus和CFX求解器的问题

近期发现一个问题,Abaqus和CFX无法在Linux挂载的Windows共享文件夹上进行计算。Linux是虚拟机部署的,在虚拟机本地路径上启动计算程序,虽然不会出现报错,但会导致虚拟磁盘占用空间增大,并且对读写效率也有一定的影响。

1. SMB版本问题

1.1 SMBv3

之前用cifs挂载共享文件夹的时候,没有仔细关注SMB协议的版本1。以下命令行没有指定协议版本:

mount -t cifs //172.25.64.1/Share /home/dell/Share -o uid=xxx,gid=xxx,username=xxx

mount命令查看,默认连接协议是3.1版本:

8eb0d44e21043275d3b1241235da9048.png

在3.1版本协议的挂载目录下运行Abaqus程序,无法计算,报错如下:

mpirun: Warning one or more remote shell commands exited with non-zero status, which may indicate a remote access problem.
driverExceptions.AbaqusExecutionError: ('SIMULIA Job Layout Engine', 255, 'abaqus_test')
!!!
!!! SIM wrap utility command error:
!!!   System Error open: 无效的参数
!!!
driverExceptions.AbaqusExecutionError: ('SIM Wrap-up', 1, 'abaqus_test')

在3.1版本协议的挂载目录下运行CFX求解器,无法计算,报错如下:

阅读时长1分钟
Andrew Moa