Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2057790
  • 博文数量: 454
  • 博客积分: 10921
  • 博客等级: 上将
  • 技术积分: 5396
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-15 15:20
个人简介

伪IT男

文章分类

全部博文(454)

文章存档

2016年(2)

2013年(6)

2012年(17)

2011年(29)

2010年(24)

2009年(54)

2008年(53)

2007年(202)

2006年(67)

分类: 高性能计算

2013-03-28 03:19:58

最近在用做一个beamnrc 做一个电离室的例子,希望计算一下沉积到电离室内空气中的能量分布。用的是远程的cluster,结果干提交不久就发现cluster 连接不上了,隔天收到管理员的信才知道cluster因为我提交的作业往cluster上频繁写个头巨大的文件,导致cluster 直接崩溃了。要知道cluster 刚刚新换的几个T的硬盘。鉴于我已经是第二次做同样的事情,(上次是一个月前,让管理员抱着病体,冒着大雪,修了两天才搞定的),管理员遂警告我已经封了我的账户,在查出原因之前不能提交作业。
    这可要了我的命了,我正在干的活被迫停止了。百思不得其解啊,抓破头皮也想不出。因为这个算例已经在cluster上运行过几次了,都没出什么问题。而且这是一个在dosxyz中使用source9即 beam treatment head simulation 的源,虽然手册要求必须设置phase space file,但是beamnrc 会直接忽略这个设置,理论上应该根本不会产生phase space file,而其它的egslst,log,error, dose, pardose的文件都是k级别的小文件,就算很多进程,也不至于把cluster搞崩溃啊。


小心翼翼地跟管理员写信问有什么提示信息没有,他才告诉我他已经删除了所有的大文件,只留了一个上次崩溃的时候的文件夹,作为我犯错的罪证。
赶紧登陆查看,才发现原来是两个4G的文件,一个egslst和一个egslog,都是并行计算时产生的中间文件。这就更令人费解了,这两个文件怎么会这么大,明明应该是几K才对。打开看了一下(windows下没法看,linux下用less或vi),除了开头的初始化信息,里面赫然写满了:?


***WARNING WHILE WRITING PHASE SPACE FILE:
  2**32-1 particles in file.  Due to size considerations 
 and the fact that the counter for the number of particles in
 the file cannot be > 2**32-1, no more particles will be
 writtento this phase space file


大意显然是粒子个数太多,没法写入phase space file了,居然用文本整整写了4G,也亏得是linux. 
但奇怪的是,却并没有phase space file。照此计算,我开了100多个线程,确实,数据量也太大了,几次计算,足以把cluster的硬盘搞崩溃。


遍查了dosxy和beam的手册也没找出个所以然来,里面信誓旦旦地说不会产生phase space file.
万能的google和baidu也没给出什么有用的提示信息。beamnrc的官网也找不到什么合适的联系email可以投诉的。


实在没办法了,决定从egs的source code打打主意,就算是最后的救命稻草了。
果然在beamnrc.mortran里面找到了这个警告信息的出处,大意是写phase space file的时候,当粒子数大于某个限值(phsp_upper_limit?=2147483647?)的时候,就往交互窗口和egslst文件输出这个警告信息。


有个这个,剩下的好办了。
把这个限值的数改小(214),重新编译一下自己的case,然后只用100个粒子就生成了一个15M的egslst文件,同时还有一个3k的phase space file.可见元凶就是它了。


接下来,懒得再找什么好的主意,直接把这些警告信息屏蔽了事,估计我现在算的也是非常多的粒子了,不能再多了。


阅读(1996) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

千行天下2015-03-30 10:07:55

paiju我怕镜子里再次出现禽兽不如的自己!<a href="http://blog.163.com/toyobank/blog/static/216202085201303055911287/" target="_blank">http://blog.163.com/toyobank/blog/static/216202085201303055911287/</a><div id="sina_keyword_ad_area2" class="articalContent   newfont_family">
   <h3 STYLE="TexT-ALiGn: left; pADDinG-BoTToM: 0px; Line-HeiGHT: normal; TexT-TrAnsForM: none; BACKGroUnD-CoLor: rgb(198,201,206); FonT-VAriAnT: normal; Fo

myching2013-04-08 17:21:42

没想到今天还真算超了,设计的粒子个数是2E10的时候计算没问题,但误差较大,想把它换成3E10的时候,计算结束了,但是*.lock仍然留着,而且并没有产生最终的egslst文件,才意识到超过了phsp_upper_limit的限值,如果不改这个数的话,只能通过多次计算改善统计效果了。