重复何老师试验,跑CAM5的物理,学校集群太慢,于是到天河二号上跑。CTRL试验跑的顺风顺水,一路到30年。SEN试验第一次在第八年断了,第二次第四年,第三次恼了,开continue run,发现错误提示是找不到rpointer文件,原来需要在开始跑的时候就在env_run.xml里设置好REST_N变量才行,默认给的是=$STOP_N。也就是仅仅在程序运行完成后的最后一年生成rpointer文件。只得改成1后继续从头运行,果然每年都生成了每个模块对应的rpointer(rpointer.xxx)。不出所料,程序到第六年又断掉了,把continue run设置为TRUE后可以正常运行。嗯嗯还不错~查看cam的输出发现输出文件莫名其妙大了一些,莫非会输出一些与重启运行有关的变量?
后话是,continue run跑了10个月又挂了,开始怀疑编译存在问题……重新编译继续continue中,囧……
#Up to 20140922#
经后来检查发现,确实是NetCDF 4.0.1的问题,CESM UG上建议采用4.1.2以上的版本,就是因为之前的版本存在corrept write的问题,尤其是在IO拥堵的情况下。Shift到4.3.2后,没有出现这类问题,但是4.3.2在天河二号上似乎还不能够使用ncdump,近期天河二号IO有很大改善,改回4.0.1后出问题的频率大大降低了。
#Up to 20141019#
前两天给X240s换了固态硬盘,重装系统后一直没再折腾。今天终于有空处理下CentOS7默认启动项的问题了。解决方法应该比较暴力:
grub2/grub.cfg下
if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default=0 fi
直接把${saved_entry}展开变量改成Windows所在列表号就可以。反正谁也不会动辄改动grub
前几天发现ys队列的排队机制存在问题,即若某节点已经被前一个任务独占,排队机制似乎没有摒除该节点,后一个任务依然可能被提交到该节点,造成负载过大。发邮件给学校超算中心后如石沉大海,没有回复。想到之前给杨老师集群做测试的时候,直接手动指定hostfiles,于是自己动手,丰衣足食。
先写hostfile文件,比如使用c74到c77四个节点,每个节点16个核心,hostfile可以这样写
c74:16
c75:16
c76:16
c77:16
然后mpirun -hosts后面指定到这个文件。
需要注意的是,提交pbs的话会被忽视这个设定,所以只能采用screen的方式运行脚本。pestat qstat下都不能查到任务号。