|
本帖最后由 intel2k 于 2009-5-19 00:51 编辑
CPU的问题我稍微解释一下:单GPU CPU计算时情况比较简单,计算时单个GPU内部的多个流处理器间的数据交换和同步不需要CPU的参与。而多GPU计算则不然,此时GPU之间的数据交换和同步需要有CPU的参与。通常是采用多线程或多进程模式,在CPU中分出若干线程,每个CPU线程控制一个GPU,然后CPU线程之间要相互通讯。显然这个时候超线程技术是很管用的,至少在负荷大的时候可以避免进程片切换,消除进程调度的延迟等待。关于这个问题NVidia官方论坛也有人提及:
* CPU: If you are running many short kernels on your CUDA devices, best performance is usually obtained with one CPU core per GPU. This minimizes the latency between the GPU finishing the kernel and your host thread being alerted to this fact. This is not a hard requirement, and some programs work just fine with fewer CPUs than CUDA devices.
关于内存问题,因为计算主要是在显卡内部进行,数据都存在显存上,对内存方面要求并不高,因此选用了普通内存。而且在内存性能方面,通常服务器内存性能比同档次PC内存要差一些。以前曾对Xeon 53xx/54xx平台上的FBD内存性能进行过测试,结果实在是惨不忍睹。虽然号称带宽21G/s,但实测读写速度大约只能达到大约3GB/s,发热也非常恐怖,机箱通风情况已经很好了,内存工作温度还有100度左右。当然,这是上一代产品的情况,新一代的DDR3服务器内存个人还没有接触过,将来有机会也打算测试一下。
我觉得作为一台专业用途的机器,要考虑的地方有很多,“I7有HT后8个逻辑核心,和8个GPU刚好一对一”...这是啥理论...而且不用双CPU,ECC内存,服务器冗余电源,稳定性,性能都无法保证吧
890009 发表于 2009-5-18 13:11 ![]() |
|