assertion failed怎么解决_Materials Studio软件常见问题与解答(四)怎么样能让 CASTEP 在并行计算时更有效?...

2ad6711e1e8f149dddf646a1be4ddbd2.gif

Q21

Q21:在使用 MS 进行计算的时候,中间的 xcd 文件无法及时更新,而其他文件则能正常显示,为什么?

A21:如果遇到这种情况,那么请检查初始的 xsd 文件中是不是中间有小数点(.),如果有小数点的话,那么可以正常进行计算,但是表格文件无法正常更新,并且只能出现小数点前的文件名称。

Q22

Q22:怎么样在 MesoDyn 中加入各种不同的限制?

A22:在 MesoDyn 的隐含文件 mask.MesoDyn_ascii 中,能看到一个三维矩阵,该矩阵定义了mask 的形状和大小,只需要修改此文件即可保证出现各种 mask 结构,该文件的格式为:

X1 {Y Z} 

X2 {Y Z} 

…………

Q23

Q23:MS 给出的 DOS 和能带图不是很清楚,我能不能自己来做图?

A23:可以,首先使用 MS 做出 Band Structure 和 DOS 图,并在图上单击右键选择 Copy,打开Excel 就可以将数据粘贴到单元格。DOS 可以直接使用 Origin 做图,而能带结构则需要认真处理(按照 K 点采样来处理的)。

Q24

Q24:怎么样能让 CASTEP 在并行计算时更有效?

A24:CASTEP 是按照两种方式来并行计算的,分别为 G Vectors 和 K Points 并行。G-Vectors表示 FFT 格点,K Points 表示布里渊区采样数目。在 MS 中,CASTEP 程序是使用 GK 也就是综合考虑两者的比例来确定并行数的,所以,在分配 CPU 前一定要认真考虑。

(G Vectors 似乎是呈现 1/2 次幂的方式来增长的,增长速度并不很明显)

Q25

Q25:在使用 DMol 计算过渡态结构时,经常会发现出现不止一个虚频,怎么回事?

A25:在 DMol 计算过程中,如果始态与终态结构优化不完全,或者反应路径设计不合理的话,很可能在过渡态中带来多个虚频。这时候就要注意振动的模式了,如果只是某些键的扭转,或者一些不大的平动,那么基本上就可以忽略过去了。在计算过渡态的时候,最重要的是虚频最大的振动,一定要在始态和终态之间振荡,这样才能保证过渡态基本合理,此判据也用到某些原子必须固定的优化计算中,例如沸石分子筛的催化反应等。

Q26

Q26:怎么在 Altix350 上安装 MS 的 Castep 和 DMol 的补丁加速运算速度?

A26:首先,正常安装 MS3.2,这时候,一定要确保 CASTEP 和 DMol 可以正常进行并行计算。

注意:此时,CASTEP 和 DMol 可能在进行超过 8CPUs 并行计算时出错,不用管它,只要能够在 2CPUs 以上并行正常就可以打补丁了,打完补丁后,遇到的问题就可以解决了。如果不打补丁,那么请修改~msi/ms/share/bin/ms_setup.sh 文件,将 globmemory 8000000 改大即可。

正常安装 MS 后,请按照以下流程打补丁:

1.root 登录,运行 rpm –qa glibc,察看 glibc 版本,并选择相对应的 CASTEP 和 DMol 补丁,如 glibc2.3.2 的选择 DMol2.3.2 的补丁;

2.使用补丁包中的 castepexe_mpi_altix.exe 文件替换~msi/ms/CASTEP/bin/ castepexe_mpi.exe 文件;同样的使用 dmol3_mpi_altix.exe 文件替换~msi/ms/DMol3/bin/dmol3_mpi.exe 文件;

3.msi 登录,运行 which mpirun,并记录相关目录。进入~msi/ms/share/bin 下,修改 ms_setup.sh文件,找到 

mpiroot="/opt/hpmpi" 

mpicommand="/opt/hpmpi/bin/mpirun -np ,并改为

mpiroot="/usr/bin/" 

mpicommand="/usr/bin/mpirun -np " 

重新启动 gateway,并在 Windows 的 server console 中对 mpi 路径作相关修改,修改完成后即可顺利运行。

注意,对于 DMol 程序还需要注意 MKL 的版本,如果是 7.2 以前版本,将无法正常运行 DMol,需要重新安装 MKL 的补丁。方法如下:将 libmkl_i2p.so.gz 文件拷贝到~msi/ms/share/lib 下,解压缩替换 libmkl_i2p.so,修改该文件权限为 755,完成后即可。

Q27

Q27:为什么我在 Linux 下安装 license 的时候,总是报错呢?

A27:License 文件的格式如下:

SERVER Altix 08006911E33A 1715 

DAEMON msi /usr/msi/REL/PLATFORM/exe/special/msid  其中,Server 表示 License Server 的主机名称与网卡的 MAC 地址,其中主机名称可以自行修改,而 MAC 地址是万万动不了的,否则会报错。MAC 地址可以通过 ifconfig –a (windows 下使用 ipconfig/all)来查找,如果发现 License 文件出错,则可使用~msi/License_Pack/ Linux_2_Intel_32/exe 下使用mshostid 来查看 MAC 地址,如果不符合,那么可能需要重新申请。

DAEMON 表示后台程序的位置,主要指定的是 msid 这个后台程序的位置,对于 32 位和 64 位Linux 机器,位置一般为/home/msi/License_Pack/Linux_2_Intel_32/exe/msid。

如果还是不行,那么还可以在安装 License 文件后使用以下命令来检查 license 文件的合法性,为(License Pack.6.5 及以前版本):

> source ~msi/License_Pack/msi_lic_cshrc 

> lmstat (查看当前 license 文件是否能够正常运行)

> license_verifier (查看当前 License 文件的合法性,如果有问题,会有提示) 

注意上述两个命令使用后所出现的结果,并详细检查 License 文件格式。

在 License Pack7.0 中,以上的命令改为:

# 进入/bin/下,运行 lp_admin –console 读取帮助信息,也可以直接执行以下命

令:

> source ~msi/LicensePack/etc/lp_cshrc 

> lp_install (安装 license 文件) 

> lp_server -c port@hostname (配置 license server) 

> lp_server –s (启动 license server) 

> lp_server -x (关闭 license server) 

> lp_tester (检测 license 是否合法) 

Q28

Q28:在使用 SGI Altix350,打补丁后运行 RunCASTEP.sh –np n seedname 的时候,出现错误:MPI:asgetnetinfo_array('(null)') failed : array services not available,怎么解决?

A28:这是由于 array 服务没有开启所造成的,解决方案如下:

以 root 登录,进入/etc/init.d/,运行:

> ./array start (开启 array 服务) 

> chkconfig array on (将 array 加入到启动列表中) 

Q29

Q29:MS 的 GFA 是怎么对参数进行杂交的?参数多少与内存有无关系?

A29:QSAR 模块中的 GFA 计算是需要一定的内存的。如果使用 10 个参数做一个简单的计算就可以发现:

参数

数目 操作 公式 

none 10 无操作 n 

Binary 

Interaction 55 A, B, C, A*B, B*C, and A*C n+ 2 Cn 

Simple Quadratic 20 A, B, C, A^2, B^2, and C^2 2n 

Full Quadratic 65 A, B, C, A^2, B^2, C^2, A*B, B*C, and 

A*C 2n+ 2 Cn 

Simple Cubic 20 A, B, C, A^3, B^3, and C^3 2n 

Full Cubic 285 

A, B, C, A^2, B^2, C^2, A*B, B*C, A*C, 

A^3, B^3, C^3, A^2*B, A^2*C, B^2*A, 

B^2*C, C^2*A, C^2*B, and A*B*C 

3n+3 2 Cn + 3 Cn

随着复杂性的增加,参数数目的增长呈级数增长,这就导致了随着参数增大的时候,所需要的内存数目迅速增加。实际测试发现,当参数的数目增加到 160 个的时候,所需要的内存达到了 900M左右,此时,CPU 的使用率保持在 99%以上。此时,应该已经达到了 GFA 在 1G 内存机器上处理体系的上限值。

提示:在实际进行 QSAR 研究时,160 个参数已经是非常多的体系了,建议在进行处理之前,先使用相关性矩阵将所有的参数进行排序,剔除出那些相关性非常高的参数,这样,在进行 GFA分析时会大大降低参数的数目,同时,也会帮助我们对得到的回归方程进行分析。

Q30

Q30:DFT 方法对计算量和内存的要求是什么样的?

A30:使用 DFT 理论计算时,使用的 Ψ 与电子密度成正比,也就是说,在求解薛定谔方程时,计算量和电子数目的立方成正比。如果是同一体系,简单来讲计算量和原子数目的立方成正比。体系所需要的内存和硬盘与体系的电子密度的平方倍成正比,如果是同一体系,简单来讲计算量和原子数目的平方成正比。例如,对于 ZnO 体系而言,当截取(100)表面,且真空层统一定为 10A 时,使用 CASTEP 程序进行计算,在考虑自旋极化的情况下。所需要的内存、硬盘以及 CPU 计算时间如下表所示:

af9c8fe7e0de5f49c2d92597424f3a25.png

相应的计算时间、内存、硬盘与原子数目关系如下图所示:

注意:由于 DFT 理论方法受计算资源的限制非常明显,在计算大作业之前,最好能够初步判断一下所需要的内存和 CPU 时间,并尽可能调整计算参数和模型。这样,才能比较好的利用计算资源。

备注:对于 CASTEP 程序而言,除了和原子的数量有关外,还和空体积数有关。其关系为线形增长,即计算时间与体积成线形增长,内存也与体积成线形。

59ba770ec089a5cecc3a01106fb830c7.png

1a4465aabc18f349fd42431d8131640f.gif

精彩推荐(一)Materials Studio软件常见问题与解答精彩推荐(二)Materials Studio软件常见问题与解答(一)精彩推荐(三)Materials Studio软件常见问题与解答(二)精彩推荐(四)Materials Studio软件常见问题与解答(三)精彩推荐(五)冷知识:超级计算机是个什么鬼?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值