|
发表于 2017-10-21 19:55:11
|
显示全部楼层
本帖最后由 vardrag 于 2017-10-21 20:22 编辑
用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效率才是最高的,当然具体空多少线程因机而异,或者你根本就不在乎分数,那就任君选择了。
|
|