计算化学公社

标题: VMD运行脚本计算量大未响应 [打印本页]

作者
Author:
12342234    时间: 2021-3-17 10:50
标题: VMD运行脚本计算量大未响应
本帖最后由 12342234 于 2021-3-18 14:40 编辑

请教论坛各位老师一个问题,就是我根据sob老师关于MSD给别人的解释编写了一个根据步长统计部分原子MSD的脚本 运行过程中发现总会未响应 多次研究后发现循环步长取某个特定值或10以内循环时还能跑出来  大了就一直未响应   不知各位老师是否有遇见这个问题  可否解决呢 ps 计算次数为1000*1000*50  

这个脚本跑得比较慢  1000帧80个原子的话服务器上60核大概40分钟    自己的电脑大概在2.2h左右   

作者
Author:
snljty    时间: 2021-3-17 11:16
可否贴上来看看?
作者
Author:
Lacrimosa    时间: 2021-3-17 12:08
运算量太大计算速度慢就这样
作者
Author:
12342234    时间: 2021-3-17 14:06
Lacrimosa 发表于 2021-3-17 12:08
运算量太大计算速度慢就这样

是的  我放那没管他  现在回来居然还是出结果了....谢谢您的回复
作者
Author:
12342234    时间: 2021-3-17 14:08
snljty 发表于 2021-3-17 11:16
可否贴上来看看?

没管他  搁那算了好久  居然算出来了...谢谢您的回复
作者
Author:
snljty    时间: 2021-3-17 14:47
12342234 发表于 2021-3-17 14:08
没管他  搁那算了好久  居然算出来了...谢谢您的回复

我没明白你的意思,你是指的调用了VMD里面内置的RMSD Calculator的函数,还是自己从头写了一个?要是后者,直接写是个O(N^2)复杂度的算法,要利用fft来写一个O(NlogN)的算法。
作者
Author:
12342234    时间: 2021-3-17 15:37
snljty 发表于 2021-3-17 14:47
我没明白你的意思,你是指的调用了VMD里面内置的RMSD Calculator的函数,还是自己从头写了一个?要是后者 ...

应该是后者  但是您说的算法方面的我并不懂....我贴上附件了  麻烦您帮我看一下
作者
Author:
sobereva    时间: 2021-3-18 05:32
由于tcl脚本运行速度慢,但凡统计较大体系较多帧的轨迹,总要在脚本里加上显示进度的语句
作者
Author:
snljty    时间: 2021-3-18 09:51
12342234 发表于 2021-3-17 15:37
应该是后者  但是您说的算法方面的我并不懂....我贴上附件了  麻烦您帮我看一下

要么用VMD自带的RMSD Tools,设置选区来统计即可。如果自己写,能忍受慢的话就按卢老师说的加一句提示进度,比如在你的最后一个循环里加一句
  1. puts -nonewline [format "      Calculating t = %04d ...\r" $t]
复制代码
,要么换别的语言统计。如果要用fft(快速傅里叶变换)算法计算MSD,可以参考这个问题。https://stackoverflow.com/questi ... sing-python-and-fft
作者
Author:
12342234    时间: 2021-3-18 14:34
snljty 发表于 2021-3-18 09:51
要么用VMD自带的RMSD Tools,设置选区来统计即可。如果自己写,能忍受慢的话就按卢老师说的加一句提示进 ...

好的   明白了 您讲得很详细  非常感谢您的解答   顺便把我想要问sob老师关于进程的问题都回答了  感谢您~
作者
Author:
黄舒伟    时间: 2022-2-20 16:57
snljty 发表于 2021-3-18 09:51
要么用VMD自带的RMSD Tools,设置选区来统计即可。如果自己写,能忍受慢的话就按卢老师说的加一句提示进 ...

您好,请问你这里显示进度的脚本是不是少了什么呢?我放入TCL脚本里面它提示没有定义t参数。
作者
Author:
12342234    时间: 2022-2-20 21:44
黄舒伟 发表于 2022-2-20 16:57
您好,请问你这里显示进度的脚本是不是少了什么呢?我放入TCL脚本里面它提示没有定义t参数。

t是脚本里面循环里面的变量  你换成你的就好了
for {set t 1} {$t <1000} {incr t} {
        ......
}
作者
Author:
丁越    时间: 2022-2-21 11:21
snljty 发表于 2021-3-18 09:51
要么用VMD自带的RMSD Tools,设置选区来统计即可。如果自己写,能忍受慢的话就按卢老师说的加一句提示进 ...

请问一下\r的作用是什么呢?我看对该词解释是Carriage return (0xd),但是不太理解具体含义
作者
Author:
snljty    时间: 2022-2-22 11:38
丁越 发表于 2022-2-21 11:21
请问一下\r的作用是什么呢?我看对该词解释是Carriage return (0xd),但是不太理解具体含义

回车符号和换行符
机械打字机暂且不提,对于现代PC硬盘上的文本文件,Windows/DOS换行符是\r\n,OS X是\r,Linux/UNIX是\n。对于终端,至少目前我接触过的,换新行都是\n,从而\r的含义被保留为切换光标到行首。所以如果你输出aaaa不换行,再输出\r回到行首,再输出bb不换行,那这行的前两个aa就会被替换掉,屏幕上显示就会是bbaa。
作者
Author:
丁越    时间: 2022-2-22 22:04
snljty 发表于 2022-2-22 11:38
回车符号和换行符
机械打字机暂且不提,对于现代PC硬盘上的文本文件,Windows/DOS换行符是\r\n,OS X是\ ...

谢谢,学习了




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3