找回密码
 新注册用户
搜索
查看: 8068|回复: 20

[求助] 萌新的十万个为什么

[复制链接]
发表于 2017-10-21 13:24:42 | 显示全部楼层 |阅读模式
前几天才开始加入分布式计算,有几个问题搞不太懂...特来求教:
1、看大神们的帖子里说的N线程/核心是什么?
2、单用TThrottle的时候要不就是无法限制CPU占用率和频率,要不就是限制住了然后显卡的占用率上不去(表现得如此),然而如果在BOINC Manager里开启限制核心数使用的选项与TThrottle一起用的话CPU占用率就会降到非常低...想求教BOINC Manager和TThrottle的限制机制是否有不同?应当怎么设置比较合理呢
3、看到任务里E@H的任务里面,计算程序后缀有(AVX)的,我在bios里有设置AVX Offset,但是跑这个计算的时候还是满频率运行...?这是为什么
问题有点多,还请各位指教呀~
01.jpg
回复

使用道具 举报

发表于 2017-10-21 13:57:02 | 显示全部楼层
1、线程/核心是任务管理器里的小框框,框越多,代表能同时进行计算的任务数越多,超线程技术可以把一个核心当成两个用,当然新的这两个核每个都比原来要差
2、BOINC的限制机制很简单,有个处理器时间,如果设置成80%,就是运行4秒歇1秒,你会看到CPU占用率一下满载,一下空载。不能根据温度控制频率。
3、AVX代表使用这个CPU指令集,用处是加速运算速度,一样是满载的,有些任务使用SSE2指令集,同一个任务,使用AVX可能8小时,使用SSE2可能10小时。
回复

使用道具 举报

 楼主| 发表于 2017-10-21 14:16:05 | 显示全部楼层
jylfyzyz 发表于 2017-10-21 13:57
1、线程/核心是任务管理器里的小框框,框越多,代表能同时进行计算的任务数越多,超线程技术可以把一个核心 ...

1、HT我还是懂哒,是想问像vardrag大大说的这个(图02)
2、BOINC Manager有两种限制方式,我调的是第一个(图03)
3、AVX Offset不是让CPU在跑用到AVX指令集任务的时候降频到设定值么...像Aida64单拷FPU和跑P95什么的时候都有降频呀,为什么跑E@H后缀(AVX)的时候没有降频...
02.jpg
03.jpg
回复

使用道具 举报

发表于 2017-10-21 14:52:02 | 显示全部楼层
不太清楚这个AVX offset的技术,但一般来说,一个计算程序也不是一直使用AVX,一般还是需要跟其他指令一起执行的,这时候即使有降频,可能由于具体切换的时间和频率的关系,不一定会进入降频状态,即使进入了,平均之后也不一定能看出来。如果你担心过热的话,还是看看温度比较靠谱。这些都要看计算程序具体代码之类的,不能一概而论。我们知道Prime95这方面用得比较彻底,毕竟是大型FFT,但Einstein@home就说不好了。
回复

使用道具 举报

发表于 2017-10-21 14:52:05 | 显示全部楼层
何藓 发表于 2017-10-21 14:16
1、HT我还是懂哒,是想问像vardrag大大说的这个(图02)
2、BOINC Manager有两种限制方式,我调的是第一 ...

其实不用管那么细,如果不是像我们这种有专机跑的,还要兼顾工作,就按你图3设个保守一点CPU数量和时间。
用软件来限制超线程或者超频之类来取得更好的成绩,在机器配置不够强或者数量比较少的情况下,成绩提升并不明显,毕竟能长久稳定计算才是上策。
回复

使用道具 举报

发表于 2017-10-21 16:01:47 | 显示全部楼层
有些项目不启用超线程,计算速度反而快一些,或者效率更高一些,当然要具体项目具体计算程序来分析。
回复

使用道具 举报

发表于 2017-10-21 17:20:16 | 显示全部楼层
AVX会降频是因为碰了TDP,如果功耗不是很高也不一定触发降频。
我说那个是GPU任务:因为对GPU大核心来说,只运行一个任务占用率太低,所以要塞几个同时运行。但也不是多多益善,首先可能会爆显存,其次是无端占用显存会增加散热压力,再次某些显卡塞多了会不稳定。
回复

使用道具 举报

 楼主| 发表于 2017-10-21 19:20:48 | 显示全部楼层
vardrag 发表于 2017-10-21 17:20
AVX会降频是因为碰了TDP,如果功耗不是很高也不一定触发降频。
我说那个是GPU任务:因为对GPU大核心来说, ...

哦哦,那么我1070只跑一个GPU Load就在80多~99浮动就不用管了是么,另,看到任务里面的状态“运行中(0.374CPUs+1NVIDIA GPU)”这个0.374是啥意思呀
回复

使用道具 举报

发表于 2017-10-21 19:55:11 | 显示全部楼层
本帖最后由 vardrag 于 2017-10-21 20:22 编辑
何藓 发表于 2017-10-21 19:20
哦哦,那么我1070只跑一个GPU Load就在80多~99浮动就不用管了是么,另,看到任务里面的状态“运行中(0.3 ...

用GPU-Z看看平均占用,90以上其实就差不多了,我VEGA塞4个包平均是99左右。
89.997%之后是准备完成,GPU基本上是待机状态,这个时候对CPU的使用开始增加,所以一般塞两个包,交叉跑可以提高点利用率
0.374那个是单个GPU任务所占用的CPU线程数,是可以自己指定的。表观实际占用线程数=设定的每个GPU线程的CPU线程数*GPU线程总数,然后向下取整。设定0.25,跑4个GPU线程自动占用一个CPU线程,如果跑3个,表观上就不占用CPU线程。说表观是因为总数不到1看不到分配也不代表CPU没有资源分配给GPU任务,只是同时运行的CPU任务较多罢了。当然这个总数不能超过最大可用线程数,否则一些任务不会工作。
具体设定多少要看在CPU空载的情况下,你GPU所能达到的平均占用率。一旦同时运行CPU任务,这个占用率可能会下降,CPU负载越轻,下降越少。你需要做的就是在空出线程和GPU占用之间找到一个平衡,比如塞两个包,设定0.2每个,不空线程,GPU占用比空载下降15%,你如果觉得不能接受,就设定0.5/个,空一个线程看看。
GPU任务的效率和得分率远远超过大多数CPU任务。就说本项目,CPU任务开始是一个1000分,后面就给砍到600多,而且运算时间和内存占用几乎翻倍,E5V3@2.5G运行一个CPU任务要超过一昼夜。反观GPU任务,改版之后,3460分/个,我19分钟跑4个,你可以算算这个效率的差距。之前的TOP1是欧洲的阿特拉斯集群,一万多台E3跑CPU任务,日均2000W,现在只有1600W;如今的TOP1看起来是个矿工,几十块A卡日产2000W。所以如果只讲得分,对于我这种小马(CPU)拉大车(GPU)的,可能完全空置CPU效率才是最高的,当然具体空多少线程因机而异,或者你根本就不在乎分数,那就任君选择了。

回复

使用道具 举报

发表于 2017-10-21 20:07:52 | 显示全部楼层
在你的BOINC数据文件夹里的如下位置X:\X\BOINC\projects\einstein.phys.uwm.edu放一个文本,命名为app_config.xml
内容如下:
<app_config>
<app>
<name>hsgamma_FGRPB1G</name>
<gpu_versions>
<gpu_usage>.25</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
</app_config>
里面的.25就是一个GPU塞4个包,.33是3个等等
1就是一个GPU任务一个CPU线程
回复

使用道具 举报

 楼主| 发表于 2017-10-21 21:00:12 | 显示全部楼层
vardrag 发表于 2017-10-21 20:07
在你的BOINC数据文件夹里的如下位置X:\X\BOINC\projects\einstein.phys.uwm.edu放一个文本,命名为app_conf ...

另外还想问下,这个操作是不是SETI@home也同理呀
回复

使用道具 举报

发表于 2017-10-21 21:37:34 | 显示全部楼层
何藓 发表于 2017-10-21 21:00
另外还想问下,这个操作是不是SETI@home也同理呀

应该可以,不过里面的hsgamma_FGRPB1G是遵从本文件设定的任务的类型,这种这种任务设定才会有效。你需要了解相应项目的相关任务类型。
回复

使用道具 举报

发表于 2017-10-21 23:00:09 | 显示全部楼层
何藓 发表于 2017-10-21 21:00
另外还想问下,这个操作是不是SETI@home也同理呀

对了,SETI是放在不同文件夹里的,一样在PROJECT里面,上面那个地址是E@H的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-3-29 15:49

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表