首页 > 编程语言 >在服务器中提交lammps计算时,用多少个核计算,才会使得自己和别人的运算会更快?是不是提交核数越多越快?如何提高运算速度(pppm算法)?

在服务器中提交lammps计算时,用多少个核计算,才会使得自己和别人的运算会更快?是不是提交核数越多越快?如何提高运算速度(pppm算法)?

时间:2023-05-08 14:01:24浏览次数:39  
标签:10 超负荷 运算 lammps 提交 40 计算 核数

(摘自以下内容)

下边我们做几组测试,并对比计算速度:(采用同一个模型,所含原子数:19144(算挺得多了)

4个核——未超负荷运行100%情况下——1天能跑0.488 ns=488 ps

26个核——超负荷10个核运行——1天能跑0.023 ns= 23 ps

56个核——超负荷40个核运行——1天能跑0.018 ns= 18 ps

126个核——超负荷100个核运行——1天能跑0.009 ns= 9 ps

 

由此可见,未超负荷运行情况下,计算速度是超负荷10个核情况的21倍(488/23),是超负荷100个核情况的54.2倍(488/9)。

一般情况下,大家可能会超负荷10-40个核左右,但是这时候已经使得自己核大家的计算都已经降低了20倍以上,本来1天算完,现在要20天以上

因此,提交计算前要top看剩余核数,千万不要超负荷运行,自己提交计算,要预留空间给其他小伙伴。一起快才是真的快,一起慢也是真的蜗牛爬。

建议:
对于node01和node02,总核数只有40个核,课题组如果有8个人,建议每人用5-8个核在该服务器,未超负荷情况下(不一定要用满)运行速度会很快的。远比每人10-20个核导致超负荷要快十几倍以上。

对于node03,总核数为100左右,若4个人在算,每人用20-25个核,这样会比超负荷的要快很多倍。

所以,不是用核越多越快,有时,用核少反而越快,而且快的不是一点点,是十几倍的快

 

 

1..在提交计算之前,打开putty,输入命令”top“,即可查看当前服务器的运算情况。

先看CPU使用情况,可以计算还剩余多少空间可以使用。如,当前显示cpu-60.7%,若总核数为40,经过计算还剩余16个核可用。

同时,还可以看当前的user是谁,以及大概推测各自所用核数为多少。

 

 2.自己提交计算,应该用多少个核来计算比较适合呢?——自己提交计算,要预留一定的计算空间给其他伙伴,切不可全部占满。

通过top可以推测还剩16个核的空间可用,建议结合课题组的人数来使用。比如说,课题组有4个人要计算,服务器node01的总核数为40,人均10个核。现在还剩16个核的空间,但是仅有两个人在计算,那么要考虑到课题组另一个同门后边可能也提交计算。
因此,建议自己用8个核计算就比较适合,预留8个核给另一个伙伴。

切不可一个人把16个核都用完,这样其他人就没有空间用了。

 

3.提问:如果服务器总核数仅为40个核,当前还剩下16个核的空间(已用24个核),如果我提交超过16个核(如26,126,1000个核),计算会更快吗?——答案:会从飞机飞行速度变为蜗牛爬行,不仅仅是自己的速度,还有小伙伴的速度也跟着变化。

**注意:在CPU运行占比低于100%情况下,提交核数越多计算越快。而当高于100%,提交核数越多所有计算都越慢。就像百米冲刺赛道,假设有40个赛道,如果有40个运动员以内跑,速度都是最快的;如果是50个运动员,速度就会降低(而且是大大降低);如果是1000个运动员,那就会变成蜗牛爬行。

 

下边我们做几组测试,并对比计算速度:(采用同一个模型,所含原子数:19144(算挺得多了))

4个核——未超负荷运行100%情况下——1天能跑0.488 ns=488 ps

26个核——超负荷10个核运行——1天能跑0.023 ns= 23 ps

56个核——超负荷40个核运行——1天能跑0.018 ns= 18 ps

126个核——超负荷100个核运行——1天能跑0.009 ns= 9 ps

由此可见,未超负荷运行情况下,计算速度是超负荷10个核情况的21倍(488/23),是超负荷100个核情况的54.2倍(488/9)。

一般情况下,大家可能会超负荷10-40个核左右,但是这时候已经使得自己核大家的计算都已经降低了20倍以上,本来一天算完,现在要20天以上。

因此,提交计算前要top看剩余核数,千万不要超负荷运行,自己提交计算,要预留空间给其他小伙伴。一起快才是真的快,一起慢也是真的蜗牛爬。

建议:
对于node01和node02,总核数只有40个核,课题组如果有8个人,建议每人用5-8个核在该服务器,未超负荷情况下(不一定要用满)运行速度会很快的。远比每人10-20个核导致超负荷要快十几倍以上。

对于node03,总核数为100左右,若4个人在算,每人用20-25个核,这样会比超负荷的要快很多倍。

所以,不是用核越多越快,有时,用核少反而越快,而且快的不是一点点,是十几倍的快

 

a.使用26个核,计算总核数为24+26=50核,超负荷10个核。

 a.使用56个核,计算总核数为24+56=80核,超负荷40个核。

 

 c.使用26个核,计算总核数为24+126=150核,超负荷110个核。

 

 d.仅仅使用4个核,服务器未超负荷。(因为node01已经被别人用满了,这里切换到node03来算)

 

4.另如何提高计算速度 ?

建议计算长程经典作用力时候,采用该算法pppm,写法:kspace_style pppm 1.0e-4。该算法比ewald的要快很多倍(5倍以上,测试过),精度选择1.0e-4即可(自己选择)。结果差别不大。

 

标签:10,超负荷,运算,lammps,提交,40,计算,核数
From: https://www.cnblogs.com/sysu/p/17381440.html

相关文章

  • 本地代码提交到远程
    1.创建仓库: 2.git远程操作命令gitremote查看远程仓库(如果没有则看不到): 3.git远程连接,git远程操作命令: ......
  • 左移运算符重载
    左移运算符重载为类的友元函数: #include<iostream>usingnamespacestd;classPerson{friendostream&operator<<(ostream&cout,Person&P);private:inta1;inta2;public:Person(inta,intb){a1=a;a2=b;}};......
  • 第2章-数据的表示和运算
    2.3浮点数的表示和运算1.浮点数尾数的表示1.阶码(E):反映数值大小;反映浮点数的表示范围及小数点的实际位置;常用补码或移码表示的定点整数;2.尾数(M):反映精度;常用原码或补码表示的定点小数浮点数的真值:N=R^E×M,阶码的底(称为基数)R通常为2例:若阶码和尾数均用补码表示,求a,b的真......
  • (七) 关系运算符,逻辑运算符,赋值运算符,三元运算符
    目录关系运算符一览逻辑运算符一览逻辑运算规则逻辑与和短路与区别逻辑或和短路或的区别关系运算符一览关系运算符的结果都是boolean类型,要么为true,要么为false关系运算符组成的表达式称为关系表达式,如a>=b逻辑运算符一览用于连接多个条件(多个关系表达式),最终......
  • Git:删除所有 Commit 提交记录
    如果想要删除 Git 项目下的所有 Commit 提交,可以使用以下方法。 创建孤立分支,并切换到该分支:gitcheckout--orphanlatest_branch2.暂存所有文件:gitadd-A3.提交所有更改:gitcommit-am"FirstCommit"4.删除主分支 master:gitbranch-Dmaster5.......
  • 用户交互与运算符
    程序与用户交互什么是与用户交互用户交互就是人往计算机中input/输入数据,计算机print/输出结果为什么要与用户交互为了让计算机能够像人一样与用户沟通交流比如,过去我们去银行取钱,用户需要把帐号密码告诉柜员,而现在,柜员被ATM机取代,ATM机就是一台计算机,所以用户同样需要将帐号......
  • (六) Java API查询与算数运算符练习
    目录API在线文档算数练习题API在线文档各种API集合不过有了chatgpt这些都是弟弟了算数练习题i=i++publicclassInt{ publicstaticvoidmain(String[]args){ inti=1; i=i++; System.out.println(i); }}这里的输出应该是1,因为i=i++这句规则......
  • 如何从develop分支拉取代码,开发页面和合并提交
    我以04官网为例子,在我开发页面的时候,第一步是先切到生产分支,然后不要用vscode自带的操作,改用gitpull拉取最新代码,,此时生产的页面是这样的  我再从develop拉出一个测试分支Jenkins,以及预发布分支release,此时我的需求是这个"开发分支"改成"本地分支",页面文字统一改......
  • post提交中文数据出现乱码问题
    POST发送参数发送请求与参数:接收参数:和GET一致,不用做任何修改@ControllerpublicclassUserController{​  @RequestMapping("/commonParam")  @ResponseBody  publicStringcommonParam(Stringname,intage){    System.out.println("普通参数传递......
  • numpy的基础运算
    1.矩阵相减,矩阵元素平方,矩阵元素比较大小: 2.np.dot的矩阵运算: 3.求总数据的和,每一列的求和,每一行的求和: 4.求总数据的最小值,每一列的最小值,每一行的最小值: 5.求总数居的最大值,每一列的最大值,每一行的最大值: ......