|
本帖最后由 ChrisZheng 于 2017-12-24 22:57 编辑
买了Sob老师同款服务器,简单记录一下,方便自己,方便他人。因为涉及很多内容,所以就放在灌水版吧。放灌水版还有一个原因是这个记录首先发在我自己的网站了,所以这个算转载
首先主机效果很炫,我的手机有点渣拍不出来,还是用性能说话,打开htop后CPU栏都快显示不全啦。
装配和Arch Linux安装的注意事项
1. 我的显示器是Dell U2515H,只有DisplayPort和HDMI接口可用,所以还要额外买一个显卡。联系卖家说有GTX 1050,要800罢,我嫌贵没买,买了个昂达的GTX 750,只要180元不到。
2. 这个显卡有点大,需要把内存的位置换一下才能装上。安装后需要通过跳线屏蔽主板上的集成显卡,方法如下图
3. 我安装的Arch Linux,以下的内容不一定适合你的系统。首先,如果用UEFI不要忘了分ESP。
4. 其次,ESP最好挂在/boot/efi,然后安装的命令是
- grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
复制代码 5. 一些包,比如dosfstools和arch-install-scripts,需要安装到主机上。为啥Wiki没有提醒呢?
6. 配好SSH后可以远程操作,后面的操作基本都是用SSH进行的。配置SSH就是启动SSH服务和复制SSH Key。配置方法可以参考Arch Linux的Wiki。
7. Emacs的Tramp可以让远程操作更方便,比如在Windows下我可以用/sshx:E5internet|sudo::/etc连到服务器上并且用sudo获得root权限。
ORCA
安装ORCA的方法可以参考之前的教程,这里讲一下怎么远程安装ORCA。所谓远程安装,就是把安装包复制到远程服务器上再安装。
复制安装包
一般人可能会选择用优盘,我觉得那样太low啦,而且不是真正的远程安装,这里用scp命令复制到服务器上:
- scp -c aes128-ctr /k/orca_4_0_1_2_linux_x86-64_shared_openmpi202.tar.xz E5internet:/tmp/
复制代码
上面的命令把本地K盘的安装包复制到了服务器的/tmp里,服务器已经定义到~/.ssh/config文件里了,类似下面这样:
- Host E5internet
- HostName 222.222.222.222
- Port 23333
- User kel
复制代码
选择了加密位数稍微低一些的加密方式aes128-ctr,理论上速度快一点,这里的最终速度是677 K/s,还行。
安装
安装ORCA就是解压,这里的ORCA是共享库版本,和之前的教程有所不同,首先是压缩包的格式变了,解压命令也要变:
- sudo tar -xJvf "orca_4_0_1_2_linux_x86-64_shared_openmpi202.tar.xz" -C /calc/
复制代码
解压到/calc目录了。
安装openmpi就和原来是一样的,不再详述。话说这里36核并行编译要花好几分钟,我有点怀疑人生,是不是买到了假电脑……
注意:和原来教程不一样的是环境变量的设置方法变了,现在的设法是:
- export PATH=/calc/openmpi-2.0.2/bin:/calc/orca_4_0_1_2_linux_x86-64_shared_openmpi202:${PATH};
- export LD_LIBRARY_PATH=/calc/openmpi-2.0.2/lib:/calc/orca_4_0_1_2_linux_x86-64_shared_openmpi202:${LD_LIBRARY_PATH};
复制代码
性能实测
我之前算过两个单核铜配合物的相互作用能,用的是BLYP-gCP-D3/def2-TZVP。具体的结构就不放了,计算体系的分子式是Cu2C26N8H28O10,之前在i7-3630QM (全核睿频大概3.17 GHz),8 G内存的笔记本上4线程并行,单点用时38′50′′ (2330′′),用这个数据作为参考(表中i7),评价一下双路E5 (表中E5):
CPU | PAL | Time | Speed (s/cycle) | i7 | 4 | 2330′′ (73 cycles) | 32 | E5 | 4 | 1039′′ (61 cycles) | 17 | E5 | 8 | 458′′ (32 cycles) | 14 | E5 | 12 | 420′′ (38 cycles) | 11 |
也就是说,性能大约是笔记本i7平台的20倍,当然这里还涉及了操作系统等原因,不过比笔记本提升一个数量级的结果是可以肯定的。
糖
两个让运行ORCA变得容易的bash函数:
- function set_orca() {
- export PATH=/calc/openmpi-2.0.2/bin:/calc/orca_4_0_1_2_linux_x86-64_shared_openmpi202:${PATH};
- export LD_LIBRARY_PATH=/calc/openmpi-2.0.2/lib:/calc/orca_4_0_1_2_linux_x86-64_shared_openmpi202:${LD_LIBRARY_PATH};
- orca="/calc/orca_4_0_1_2_linux_x86-64_shared_openmpi202/orca"
- }
- function run_orca() {
- [[ -z "$1" ]] && { [[ -e "a.inp" ]] && nohup ${orca} "$(realpath "a.inp")" &>> a.out & }
- [[ -z "$1" ]] || { [[ -e "$1" ]] && nohup ${orca} "$(realpath "$1")" &>> a.out & }
- }
复制代码
把它们放在~/.bashrc后,输入set_orca设置ORCA运行环境,输入run_orca在当前目录运行ORCA,要么在run_orca后面加上输入文件的名字,否则默认的输入文件是“a.inp”。
Gromacs
Arch Linux的包不是非常多,但很多软件可以在AUR里找到。下面是安装Gromacs的记录:
- cd /tmp
- git clone https://aur.archlinux.org/gromacs.git
- sudo pacman -S cuda opencl-nvidia
- cd gromacs
- makepkg -s
- sudo pacman -U gromacs-2016.4-2-x86_64.pkg.tar.xz
复制代码
这里安装了Gromacs 2016.4。但上面的命令要想正确执行还需要做如下操作:
1. 不仅要安装CUDA,还要设置环境变量:
- export CUDA_HOME="/opt/cuda"
- export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/lib64/stubs:${CUDA_HOME}/lib:${LD_LIBRARY_PATH}
- export PATH=${PATH}:${CUDA_HOME}/bin
复制代码
2. 就算设置了上述环境变量还会出现找不到libnvidia-ml.so.1的问题,在/opt/cuda/lib64/stubs里是有libnvidia-ml.so的,所以链接一下就可以
- sudo ln -s /opt/cuda/lib64/stubs/libnvidia-ml.so /opt/cuda/lib64/stubs/libnvidia-ml.so.1
复制代码
3. 下载regressiontests-2016.4.tar.gz特别慢,几乎下不动,索性取消这个检查,在PKGBUILD文件里把-DREGRESSIONTEST_DOWNLOAD=ON改成-DREGRESSIONTEST_DOWNLOAD=OFF就可以了。
多灾多难的Gromacs安装过程,断断续续用了一天时间。
MOPAC2016
和Groamcs一样,我是第一次在Linux上装MOPAC。除了要按照帮助文件,还需要做如下的链接才能在比较新的CUDA环境中运行MOPAC。
- sudo ln -s /opt/cuda/lib64/stubs/libcuda.so /opt/cuda/lib64/stubs/libcuda.so.1
复制代码
我写了一个小的bash函数自动配置mopac的运行环境
- function set_mopac() {
- export MOPAC_LICENSE="/calc/mopac"
- export CUDA_HOME="/opt/cuda"
- export LD_LIBRARY_PATH=${MOPAC_LICENSE}:${CUDA_HOME}/lib64:${CUDA_HOME}/lib64/stubs
- export mopac="/calc/mopac/MOPAC2016.exe"
- }
复制代码 随便找一个跑过的任务丢上去跑一下,比在本地快不了多少,在服务器上跑主要是方便,再就是可以批量处理。
还安了一些软件,比如Multiwfn,很平滑没有什么好记录的。因为服务器自己用,也没有搞什么队列系统,用起来很随意。
最后感谢Sob老师对计算化学软硬件发展做出的贡献!
先写到这里吧。感谢各位的加分,我觉得论坛写内容不是很舒服,可能是markdown用惯了
|
评分 Rate
-
查看全部评分 View all ratings
|