论ACCRE为什么有罪

今天收到了ACCRE关于拒绝更新Amber版本的邮件,很难受。在这里把ACCRE上存在的问题都整理起来以供未来参考


不成熟的软件环境管理

ACCRE上的软件看起来是用他们自己改的一个module完成的,其中涉及诸多问题

悄悄改环境

在load charmm的时候
module spider charmm/43b2只显示需要前置载入GCC/6.4.0-2.28 OpenMPI/2.1.1但是load完成之后module list中会多出Python/2.7.14以及numpy/1.13.1-Python-2.7.14等大量未说明的环境

库共存机制

在编译软件时需要OpenMPI > 4.0
但是module load 很多软件例如Amber都要求前置load一个低版本的OpenMPI和GCC 明明高版本的库可以向下兼容 导致需要反复调整库设置才能正常编译/运行

软件环境耦合

在load amber的时候只能使用一个叫Amber/17-Python-2.7.14的版本
这个版本会附带大量的过时的 耦合的 其他环境配置的改变
就以python为例,正常的Amber安装中有些脚本需要python2.7来运行,并在这些脚本开头会指定使用amber内部附带的一个python环境
ACCRE的安装中,首先先全局配置了一个python2.7,修改了默认的python路径到这个python2.7同时全局配置了一系列python2用的低版本的包(例如numpy)
这导致即使使用conda虚拟环境更换了python的路径,numpy等包的传入路径还优先从ACCRE load的低版本目录中查找然后导致如下错误:

ImportError:
Importing the multiarray numpy extension module failed. Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control). Otherwise reinstall numpy.

这是如果unload这个numpy,Amber里的那些脚本就都不能用了。这无疑是软件环境管理的失败。并导致同时使用这些Amber脚本的python软件开发无法进行。

解决方案

用自己装的Amber

不稳定的软件安装

在ACCRE上用Gaussian和Amber总是能遇见从来没见过的不可重复的错误
Amber:
- Download failed an illegal memory access was encountered
Gaussian:
有过 忘了

过时的软件支持

@shone:singularity只有accre自己的tensorflow1.7的镜像,没有其他常用软件包镜像,且没有给制作镜像的节点
accre能够使用的多节点运算例子,我忘记那个软件是啥了,是一个他们压根就没装的软件 (xs)

吝啬

不知道为什么软件不能让ACCRE买,每年交的钱和学校的funding包含这部分软件购置的钱吗?至少expanse是附带各种常用学术软件的access的
@shone:还有,他们偷偷吞用户下的默认存储空间;就是我们买了10TB的空间,结果默认的40GB的home空间不见了

怠惰

装软件

@shone: 安装alphafold帮助他们写好了手把手的安装教程不愿意搞。帮他们装好了放在自己的目录底下,只要拷贝到公共目录就可以用。结果他们不用

物理学不存在了 (随时间变化的bug)

有一次跑EnzyHTP发现跑到PDBMin一步提交任务时直接失败而且不产生slurm-xxx.out文件
手动尝试提交也是相同的情况
过了一个小时后就好了