Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        4年前关闭。
                                                                                            
                
        
我正在做一个项目,我必须比较各种GPU卡来进行性能分析。

我在两个GPU上为Canny Edge Detection运行了相同的cuda代码,发现gtx 965比Tesla K20快得多(200%)。我还观察到特斯拉C2075的运行与特斯拉K20的运行相同。

据我所知,K20有2496个内核,965有1024个内核,C2075有448个内核。 K20和C2075是NVIDIA Kepler架构,而965是Maxwell架构。

我做错了什么或导致此问题的硬件部件有任何区别?

另外,我们可以使用任何程序或理论计算来检查图形卡的功耗吗?

最佳答案

许多内核并不一定意味着执行时间更短。如果您的CUDA应用程序仅使用单线程,并且您将在以下位置运行应用程序:


K20具有很多706MHz频率的内核,
与GTX965大约有一半但工作在944MHz上相反


...那么显然GTX965可以工作得更快。从理论上讲,只要您的应用程序使用的内核少于1024个,GTX就可以胜过K20,以防内存不是K20实际存在的瓶颈:


更大的内存带宽
一般来说,更多的内存
内存时钟稍高一点。


因此,总而言之,考虑到硬件限制,“定制” CUDA应用程序以使其更适合一个GPU相当容易。只需考虑一些简单的事情,例如内核启动参数,即网格大小和块大小。

同样,C2075的规格也一样,其核心时钟为1.15GHz,因此优于K20和GTX965。

09-28 05:40