我在我的 GT 740m (GK107) 上运行 gSLIC 分割算法,分割需要 93 毫秒。
来自 gSLIC 报告 http://www.robots.ox.ac.uk/~carl/papers/gSLIC_report.pdf我知道他们使用的是 GTX 460 (GF104),他们的分割需要 13 毫秒。
GK107 架构在两个 SMX 中有384 个 cuda 核心,而 GF104 在七个 SM 中有336 个 cuda 核心。
取决于算法(共享内存占用)我计算出我的 GK107 能够在一个 SMX 上运行 1280 个事件线程,总的来说 2x1280 = 2560 事件线程是多少,而 GF104 能够在一个 SM 上运行 1280 个事件线程,总共有 7x1280 = 8960 个事件线程。但是 GF104 的 cuda 内核比 GK107 少,所以它应该同时处理更少的线程,不是吗?还是 GF104 因为 SM 的数量在成本上更小?
这些结果的原因可能是什么?
But the GF104 has less cuda cores then GK107 so it should process less
threads concurrently, shouldn't it?
并发线程数并不是唯一的指标,尤其是考虑到 GTX460 是 Fermi 架构,而 GT740m 是 Kepler。这些线程的执行速度如何?这就是费米和开普勒之间的主要区别之一,您可以在 this article 中阅读更多相关信息。这应该为您提供必要的洞察力。小预告片:
Because NVIDIA has essentially traded a fewer number of higher clocked
units (Fermi) for a larger number of lower clocked units (Kepler), NVIDIA had to go in
and double the size of each functional unit inside their SM. Whereas a
block of 16 CUDA cores would do when there was a shader clock, now a
full 32 CUDA cores are necessary.
sonicwave 还指出 GT740m 是一款移动 GPU,根据定义,我们可以说它的总线比台式机 GPU 窄,仅仅是因为空间限制(台式机与笔记本电脑)。正如 Robert Crovella 所说的那样,这导致了带宽的显着差异,因此在内存密集型应用程序中,GTX460 的性能将优于 GT740m。在 gpuBoss,他们有一个不错的 GPU 比较实用程序,请参阅 here对于完整的结果或下面的重要点。
Reasons to consider the Nvidia GeForce GTX 460
- Higher effective memory clock speed 3,400 MHz vs 1,802 MHz Around 90% higher effective memory clock speed
- Higher memory bandwidth 108.8 GB/s vs 28.8 GB/s More than 3.8x higher memory bandwidth
- More render output processors 32 vs 16 Twice as many render output processors
- Wider memory bus 256 bit vs 128 bit 2x wider memory bus
- More texture mapping units 56 vs 32 24 more texture mapping units