精华内容
下载资源
问答
  • 对运算能力的理解
    2022-06-18 17:01:49

    1、背景

    半精度、单精度、双精度在深度学习领域经常涉及。

    半精度、单精度、双精度这些概念是在IEEE 754标准里定义的。
    浮点计数是利用浮动小数点的方式使用不同长度的二进制来表示一个数字,浮点数并不能精确表达所有实数,而只能接近!

    关于FP32
    FP32,Full Precise Float 32即单精度浮点数。
    浮点数中采用4个字节也就是32位二进制来表达一个数字。
    简单来说:
    共32位,其中1位为符号位,8为指数位,23为尾数位。

    示例:
    单精度32位二进制如下:
    00000000000000000000000000000000
    第1位用于指示数字为正数还是负数。0为正,1为负。
    第2-9位,共计8位,即指数保留了8位。
    第10-32位,共计23位,用于表示组成该数字的数字,称为有效数字。

    关于FP16
    FP16,Half Precise Float 16即半精度浮点数。
    浮点数中采用2个字节也就是16位二进制来表达一个数字。
    简单来说:
    共16位,其中1位为符号位,5为指数

    更多相关内容
  • 对运算能力理解与培养策略.doc
  • 计算器对运算能力的影响的报告计算器...长期使用,会造成运算能力下降,使学生的计算能力得不到提高。 为了更好的反映其弊端,我们随机抽取部分初中生进行问卷调查。经过分析,有40%的学生经常使用计算器,缺少数...

    计算器对运算能力的影响的报告

    计算器对运算能力的影响  经过我们调查和研究发现,计算器犹如一把双刃剑,既有利也有弊。使用计算器能把学生从繁琐的运算中解放出来,扩充学生的数学能力,提高数学学习质量。但是,不恰当的使用,也会造成不利的影响。长期使用,会造成运算能力下降,使学生的计算能力得不到提高。  为了更好的反映其弊端,我们随机抽取部分初中生进行问卷调查。经过分析,有40%的学生经常使用计算器,缺少数学思维的训练,造成自身的运算能力下降。而有部分学生认为自己运算能六还不错的学生,他们都说运算能里好,那是因为自主勤练很少依赖计算器,或者是在小学时,老师严格限制使用计算器,使自己不能太多使用计算器而苦练基功。有90%的学生一致认为使用计算器影响了运算能力的提高,随着科技的发展,计算器的发展十分迅速,功能越来越多,计算器的使用在经济上已不成问题,但有70%的学生还是认为笔算和口算的作用大,不能都用计算器代替,计算器只能作为学习和生活中的一种补助工具。大部分学生都说长期使用计算器会降低笔算能力,一致认为不呢个依赖计算器,但是从问卷调查中我们发现,有60%的学生每次计算都使用计算器。都说过多使用计算器会影响笔算能力,为什么还有那么多学生依赖计算器呢?对此,我们所有的组园进行了临时的会议,经过讨论提出猜想:  1.因为长期使用计算器而习惯性的依赖计算器。  2.因为脱离了计算器后运算速度慢,运算的准确性下降。为了验证这几个猜想,我们又对部分初中生进行问卷调查,从调查可知这两个猜想,我们从他们用来计算器的草稿纸上发现,散乱的数字,排列不整齐不规范,没有运算步骤,有时得到的结果不准确。这是因为对基本的概念理解不深,对基本公式、法则掌握不够透彻。我们还发现:部分学生对于两位数的乘除也用计算器代替,从而可知他们对计算器非常依赖。  使用计算器时,一般都会省去运算过程。但是不论是平时的要求,还是考试,都要求解题过程规范。由于学生使用计算器缺少这方面的训练,造成了学生的解题不规范、不完整,这是一种严重的缺陷。  运算对培养学生科学思维方式,形成良好的思维习惯和心理素质有相当大的作用。过多过烂的使用科学计算器,学生就不愿花时间思考,做规范的计算,从而草率从事。久而久之,思考没有条理,混乱、计算逐渐生疏,而且养成粗心,马虎的不良习惯。  根据我们上网调查查询的资料了解计算器对运算能力的影响有以下3点:  1.使用计算器对准确性的影响  2.使用计算器对灵活性的影响  3.使用计算器对严密性的影响  准确是运算最基本的要求,合理、简捷、熟练、迅速这要求学生运算灵活、思维敏捷。这种能力的提高,要求学生解  题时多侧面、多角度、多方位的观察和思考问题。最根本是要求学生脱离科学计算器。  运算能力包括运算的准确性、合理性、技巧性、灵活性和简捷、迅速,是发展数学思维能力的前提和必备条件。运算能力即不能离开具体的数学知识而独立存在,也不能离开其他能力而独立发展,运算能力与记忆能力、观察能力、理解能力、联想能力、表达能力相互渗透,与逻辑思维能力互相支持。因而,提高运算能力的问题是一个综合问题。同时,运算能力的大小直接影响到其它能力的发展  计算器对运算能力的影响——结题论文  经过我们调查和研究发现,计算器犹如一把双刃剑,既有利也有弊。使用计算器能把学生从繁琐的运算中解放出来,扩充学生的数学能力,提高数学学习质量。但是,不恰当的使用,也会造成不利的影响。长期使用,会造成运算能力下降,使学生的计算能力得不到提高。  为了更好的反映其弊端,我们随机抽取部分初中生进行问卷调查。经过分析,有40%的学生经常使用计算器,缺少数学思维的训练,造成自身的运算能力下降。而有部分学生认为自己运算能六还不错的学生,他们都说运算能里好,那是因为自主勤练很少依赖计算器,或者是在小学时,老师严格限制使用计算器,使自己不能太多使用计算器而苦练基功。有90%的学生一致认为使用计算器影响了运算能力的提高,随着科技的发展,计算器的发展十分迅速,功能越来越多,计算器的使用在经济上已不成问题,但有70%的学生还是认为笔算和口算的作用大,不能都用计算器代替,计算器只能作为学习和生活中的一种补助工具。大部分学生都说长期使用计算器会降低笔算能力,一致认为不呢个依赖计算器,但是从问卷调查中我们发现,有60%的学生每次计算都使用计算器。都说过多使用计算器会影响笔算能力,为什么还有那么多学生依赖计算器呢?对此,我们所有的组园进行了临时的会议,经过讨论提出猜想:  1.因为长期使用计算器而习惯性的依赖计算器。  2.因为脱离了计算器后运算速度慢,运算的准确性下降。为了验证这几个猜想,我们又对部分初中生进行问卷调查,从调查可知这两个猜想,我们从他们用来计算器的草稿纸上发现,散乱

    展开全文
  • 关于CPU的浮点运算能力计算

    千次阅读 2020-12-22 11:27:46
    学了IT那么久,只知道CPU主频不断的提升,核数也越来越多,但是如何理论上计算出不同代CPU性能的提升,还真没有认真思考过,我估计大多数人也不会关注,这次由于要进行高性能集群项目遇到,刚好认真的研究了一下CPU...

    学了IT那么久,只知道CPU主频不断的提升,核数也越来越多,但是如何理论上计算出不同代CPU性能的提升,还真没有认真思考过,我估计大多数人也不会关注,这次由于要进行高性能集群项目遇到,刚好认真的研究了一下CPU的浮点计算理论值。记录一下过程。

    首先,FLOAS=核数*单核主频*CPU单个周期浮点计算值。

    上述三个参数中,核数,单核主频在CPU型号都会标明,只有CPU单个周期浮点计算值这个要深入思考一下。

    首先要了解CPU指令集的概念。

    现在服务器的CPU都是AVX-512指令集了,

    对应CPU能处理什么样的指令集,可以查intel官方的Specifications.比如我想查Intel® Xeon® Gold 6142 Processor这款CPU的支持哪种指令,可以查如下链结https://ark.intel.com/products/120487/Intel-Xeon-Gold-6142-Processor-22M-Cache-2-60-GHz-

    同时还能查到此款CPU的AVX-512 FMA Units是2,这个意思是可以单个CPU周期可以同时执行2条512bit 加法和2条512bit 乘法。

    其次是理解单精度和双精度浮点运算概念,简单的理解单精度就是指32bit的指令长度的运算,对应操作系统就是32位操作系统;双精度就是指64bit指令长度的运算,对应操作系统就是64位操作系统。

    理解上述二个概念,我们就可以算出CPU单周期浮点计算能力了,

    CPU单周期双精度浮点计算能力=2(FMA数量)*2(同时加法和乘法)*512/64

    CPU单周期双精度浮点计算能力=2(FMA数量)*2(同时加法和乘法)*512/32

    可以理解为单个CPU周期能够同时执行加法和乘法的指令的条数。

    例如上述的Intel 6142 CPU的浮点能力可以计算出,6142是16核,每核2.6GHz

    FLOAS(双精度)=16*2.6*(2*2*512/64)=1331.2GFLOAs

    FLOAS(单精度)=16*2.6*(2*2*512/32)=2662.4GFLOAs

    可以理解此款CPU的双精度浮点运算峰值为1.3TFLOAs,单精度为2.6TFLOAs.

    对一个计算节点,有可能有多个CPU,那么对于计算节点,单个CPU浮点运算峰值要乘以CPU个数才是一个计算节点的浮点运算峰值。

    常用的CPU情况:

    Intel Core 2 and Nehalem:

    4 DP FLOPs/cycle: 2-wide SSE2 addition + 2-wide SSE2 multiplication

    8 SP FLOPs/cycle: 4-wide SSE addition + 4-wide SSE multiplication

    Intel Sandy Bridge/Ivy Bridge:

    8 DP FLOPs/cycle: 4-wide AVX addition + 4-wide AVX multiplication

    16 SP FLOPs/cycle: 8-wide AVX addition + 8-wide AVX multiplication

    Intel Haswell/Broadwell/Skylake/Kaby Lake:

    16 DP FLOPs/cycle: two 4-wide FMA (fused multiply-add) instructions

    32 SP FLOPs/cycle: two 8-wide FMA (fused multiply-add) instructions

    AMD K10:

    4 DP FLOPs/cycle: 2-wide SSE2 addition + 2-wide SSE2 multiplication

    8 SP FLOPs/cycle: 4-wide SSE addition + 4-wide SSE multiplication

    AMD Bulldozer/Piledriver/Steamroller/Excavator, per module (two cores):

    8 DP FLOPs/cycle: 4-wide FMA

    16 SP FLOPs/cycle: 8-wide FMA

    AMD Ryzen

    8 DP FLOPs/cycle: 4-wide FMA

    16 SP FLOPs/cycle: 8-wide FMA

    Intel Atom (Bonnell/45nm, Saltwell/32nm, Silvermont/22nm):

    1.5 DP FLOPs/cycle: scalar SSE2 addition + scalar SSE2 multiplication every other cycle

    6 SP FLOPs/cycle: 4-wide SSE addition + 4-wide SSE multiplication every other cycle

    AMD Bobcat:

    1.5 DP FLOPs/cycle: scalar SSE2 addition + scalar SSE2 multiplication every other cycle

    4 SP FLOPs/cycle: 4-wide SSE addition every other cycle + 4-wide SSE multiplication every other cycle

    AMD Jaguar:

    3 DP FLOPs/cycle: 4-wide AVX addition every other cycle + 4-wide AVX multiplication in four cycles

    8 SP FLOPs/cycle: 8-wide AVX addition every other cycle + 8-wide AVX multiplication every other cycle

    ARM Cortex-A9:

    1.5 DP FLOPs/cycle: scalar addition + scalar multiplication every other cycle

    4 SP FLOPs/cycle: 4-wide NEON addition every other cycle + 4-wide NEON multiplication every other cycle

    ARM Cortex-A15:

    2 DP FLOPs/cycle: scalar FMA or scalar multiply-add

    8 SP FLOPs/cycle: 4-wide NEONv2 FMA or 4-wide NEON multiply-add

    Qualcomm Krait:

    2 DP FLOPs/cycle: scalar FMA or scalar multiply-add

    8 SP FLOPs/cycle: 4-wide NEONv2 FMA or 4-wide NEON multiply-add

    IBM PowerPC A2 (Blue Gene/Q), per core:

    8 DP FLOPs/cycle: 4-wide QPX FMA every cycle

    SP elements are extended to DP and processed on the same units

    IBM PowerPC A2 (Blue Gene/Q), per thread:

    4 DP FLOPs/cycle: 4-wide QPX FMA every other cycle

    SP elements are extended to DP and processed on the same units

    Intel Xeon Phi (Knights Corner), per core:

    16 DP FLOPs/cycle: 8-wide FMA every cycle

    32 SP FLOPs/cycle: 16-wide FMA every cycle

    Intel Xeon Phi (Knights Corner), per thread:

    8 DP FLOPs/cycle: 8-wide FMA every other cycle

    16 SP FLOPs/cycle: 16-wide FMA every other cycle

    Intel Xeon Phi (Knights Landing), per core:

    32 DP FLOPs/cycle: two 8-wide FMA every cycle

    64 SP FLOPs/cycle: two 16-wide FMA every cycle

    参考文章:

    http://bbs.keinsci.com/thread-786-1-1.html

    https://stackoverflow.com/questions/15655835/flops-per-cycle-for-sandy-bridge-and-haswell-sse2-avx-avx2

    https://ark.intel.com/products/120487/Intel-Xeon-Gold-6142-Processor-22M-Cache-2-60-GHz-

    https://baike.baidu.com/item/%E6%8C%87%E4%BB%A4%E9%9B%86/238130?fromtitle=CPU%E6%8C%87%E4%BB%A4%E9%9B%86&fromid=3728424&fr=aladdin

    我是受第一个链结的文章启发的,怕以后找不到,我拷贝过来。

    简谈CPU峰值性能怎么计算

    文/Sobereva @北京科音2015-Feb-13

    CPU峰值性能就是CPU运算能力满打满算最最理想情况下的性能,这只有理论意义,实际性能要以软件实测为准。有人问寡人峰值性能怎么算,这里就很简单地说两句。搞计算化学的一般只关注浮点性能,所以这里只提峰值浮点性能。

    峰值浮点性能=CPU核数*CPU频率*每周期执行的浮点操作数

    Intel Core 2 and Nehalem:

    4 DP FLOPs/cycle: 2-wide SSE2 addition + 2-wide SSE2 multiplication

    8 SP FLOPs/cycle: 4-wide SSE addition + 4-wide SSE multiplication

    Intel Sandy Bridge/Ivy Bridge:

    8 DP FLOPs/cycle: 4-wide AVX addition + 4-wide AVX multiplication

    16 SP FLOPs/cycle: 8-wide AVX addition + 8-wide AVX multiplication

    Intel Haswell:

    16 DP FLOPs/cycle: two 4-wide FMA (fused multiply-add) instructions

    32 SP FLOPs/cycle: two 8-wide FMA (fused multiply-add) instructions

    AMD K10:

    4 DP FLOPs/cycle: 2-wide SSE2 addition + 2-wide SSE2 multiplication

    8 SP FLOPs/cycle: 4-wide SSE addition + 4-wide SSE multiplication

    AMD Bulldozer/Piledriver/Steamroller, per module (two cores):

    8 DP FLOPs/cycle: 4-wide FMA

    16 SP FLOPs/cycle: 8-wide FMA

    时下搞计算化学的人最常用的XEON E3/E5中,v3对应Haswell,v2对应Ivy Bridge,不带后缀的对应Sandy Bridge。更老的,比如XEON 5500系列对应Nehalem。如果不清楚,建议查阅笔者编纂的《硬件资料库》(http://pan.baidu.com/s/1hq7PLeG)

    根据这些资料,可以容易地计算峰值浮点性能,比如E5-2690 v2,基本频率为3.0GHz(这里不考虑Turbo boost动态升频),有10个核,每个核每周期可以做8次双精度浮点运算或16次单精度浮点运算,因此:

    单精度峰值浮点性能=3.0*10*16=480 GFLOPs

    双精度峰值浮点性能=3.0*10*8=240 GFLOPs

    这里FLOPs (FLoating-point Operations Per Second)是衡量浮点性能的常用单位,即每秒做的浮点运算次数。1GFLOPs代表每秒十亿次浮点运算。目前世界顶尖的高性能计算机(HPC)的浮点性能都以PFLOPs来计,1P=1000T=1000000G。

    从上面列的数据中看似XEON v3 (Haswell)比v2的浮点性能高一倍,这被一些商家用来忽悠消费者。实际上,同频同核下,v3比v2性能提升很小。如果v3价格只比v2贵一点,那么可以买v3,但如果贵得很多,切勿被表面上看多一倍的峰值性能所冲昏了头脑。适当了解下不同内核以及指令集的特点对理解这个问题是有益的。为了方便,这里我们只考虑双精度浮点。

    第一代奔腾支持的MMX、奔3开始支持的SSE(最后发展到SSE4/4A),以及从Sandy Bridge开始支持的AVX等等都是SIMD(单指令多数据)指令集,它允许一个指令同时对多个数据进行处理以达到很大的吞吐量。Sandy Bridge/Ivy Bridge支持的AVX指令集可以一次处理256bit浮点指令,双精度浮点数长度为64bit,即通过AVX指令一次可以做四个双精度浮点运算。如前面给出的信息所示,Sandy Bridge/Ivy Bridge一个周期可以执行一次AVX浮点乘和一次AVX浮点加,也就是说一个周期可以做四个双精度浮点加和四个双精度浮点乘,故曰每周期可以做8个双精度浮点运算。这只是理论最大值,实际上水分很大,因为前提是必须所处理的完全是AVX 256bit指令,但实际中是做不到的,能利用上AVX指令集的只是实际计算程序中的某些部分而已(这需要编译器和操作系统的支持。如果写的时候专为AVX来调整代码编写方式可以更好地利用AVX来达到更好的性能)。另外,不可能总是恰好要算的是一条加法指令和一条乘法指令,比如传来的只有一串浮点加指令,那么乘法运算单元就空闲了,浮点性能也就浪费了一半。所以,虽然我们从前面列的数据中看到Sandy Bridge/Ivy Bridge得益于AVX而比Nehalem每周期能做的浮点运算次数高一倍,但这只是最理想的状况而已,而且这和实际表现出来的性能不是那么的密切。一般应用中前者比后者在同频同核数情况下性能高近一半,这主要还是因为CPU架构做了多方面改进带来的,具体说起来就比较复杂了,这里就不提了。可以说,如果所运行的程序对AVX优化较好,Sandy Bridge/Ivy Bridge表现的性能比Nehalem提升得会更多。

    再来看XEON v3和v2的关系。Haswell相比Sandy Bridge/Ivy Bridge的一个主要改进是支持了AVX 2.0指令集,相比AVX有了一些改进,其中很关键的是支持了FMA3指令,这里FMA是Fused Multiply-Add(融合乘加)的缩写,FMA3是一种具体实现。原本,做result=a+(b*c)需要先做一次乘法再做一次加法,而利用FMA指令可以在一个周期内做完这个运算,所以可以认为做一次FMA运算等于做两次常规浮点运算。如前面列出的信息所示,Haswell的每个内核一个周期可以处理两个FMA指令,每条指令包含4个双精度浮点,一次FMA浮点运算又能当两次普通浮点运算来计,因此每个核每周期内满打满算可以做2*4*2=16次双精度浮点操作。由于支持了FMA,表面上看XEON v3比v2浮点性能高了一倍,但这种说法实际上水分巨大:哪可能要做的总是乘加运算?比如传来的就是一条AVX浮点乘指令,此时v3虽然支持FMA却也派不上用场,v3和v2都需要一个周期来完成,即表现出的性能相等。所以说,如果有人说v3比v2性能提升一倍那纯粹是天方夜谭,除非跑的是专门炫耀Haswell的程序,里面的运算全都是乘加。根据实际测试来看,Haswell跑现有的程序也就比Ivy Bridge性能高不到10%,但这很难说是支持FMA的功劳。以后的程序可能会有一些针对FMA专门进行优化,或在编译时使用相应的优化选项(如ifort里用-fma)而使v3有更好的性能,但不要抱太高期待。所以前面提到,买服务器时如果v3比v2贵一点可接受,但贵得太多就算了。

    再来说说为什么如今AMD CPU的浮点性能为什么如此之烂。从推土机架构开始,即前面列的Bulldozer/Piledriver/Steamroller这一类,AMD就用了很糟糕的设计,两个核心作为一个模块,共用一个浮点单元,一个周期只能处理一次256bit FMA指令,而Haswell一个核就能同时处理两条256bit FMA指令,也就是说,论峰值浮点性能,现今AMD的U四个核才顶Haswell一个核。不过实际没这么夸张,抛开那些很虚的峰值性能数据,要达到如今XEON v2或v3的N个核的实际性能,同频情况下,如今的Opteron必须要用>2N个核。如果程序的并行效率很低,那么Opteron实际效能简直惨不忍睹,不管怎么算都远不如XEON划得来。所以说,如今做计算化学买AMD的U只有后悔的份。AMD的U的核数比较坑人,N个核才有N/2个浮点单元(想来,当年AMD还无耻地说Intel的Pentium D是胶水粘的,有点自己打脸的意味),但是整数性能还说得过去,整数单元和核数是相同的,但搞计算化学的人才不稀罕整数性能呢。

    最后再说一下GPU。从峰值性能上看,GPU比起CPU弱点在于频率低,不支持SIMD,但它的浮点性能之所以胜于CPU在于流处理器数目多。以nVidia的高端的GTX Titan black为例,基础频率是0.889GHz,有2880个单精度浮点单元和960个双精度浮点单元,每个浮点单元每周期能做一次FMA指令,因此

    单精度峰值浮点性能:0.889*2880*2=5120GFLOPs

    双精度峰值浮点性能:0.889*960*2=1707GFLOPs

    可见GTX Titan black峰值性能比前面举的E5-2690 v2的例子高了约一个数量级,但这水分太大,显然不能因为FMA就当成实际中有两倍处理能力,所以公平来说双精度浮点性能前者是后者4、5倍的样子。GPU的单精度浮点性能的确很好,性价比远胜于CPU,但一定要注意大多数消费级GPU的双精度性能其实不咋地。GTX Titan black价格比起同样流处理数目的GTX 780Ti贵出一倍,在我来看贵的主要道理不是因为它是烧包级,而是双精度性能能达到单精度的1/3,而这个比例对于GTX 780Ti仅为1/24!GTX 780Ti的基准频率为0.876GHz,单精度性能和GTX Titan black基本无异,但双精度峰值性能才区区210GFLOPs而已,要不把FMA满打满算记入峰值性能计算公式,那么还明显不如E5-2690 v2呢。

    展开全文
  • GPU运算能力对(2022.4.5更新)

    万次阅读 2020-06-25 15:25:34
    大多数网站都会贴这一张图,其实也没有错,就是不够细致,我们更想知道它的具体ops登记,而不是宽泛的level级别的计算能力数字。nvidia的显卡越来越强,CUDA运算核心越来越多,甚至也开始了他自家的深度学习学院DLI...

    0. 简介

    实验室最近出了一款芯片,想进行指标的对比,现在ai芯片加速器我记得峰值运算能力effiency已经达到了Tops(一般也就几或者十几,effiency一般分为ops/w,ops/mm^2,ops/s等等),于是想看看GPU的运算能力,进行相应参照。

    大多数网站都会贴这一张图,其实也没有错,就是不够细致,我们更想知道它的具体ops登记,而不是宽泛的level级别的计算能力数字。nvidia的显卡越来越强,CUDA运算核心越来越多,甚至也开始了他自家的深度学习学院DLI(赚钱),它强大的并行性,使得现在显卡GTX系列,RTX3090,丽台,Tesla系列,P40系列,K4200系列以及TITAN X/V,TITAN XP等等产品一个个成为热点,狂赚一波。

    1. CUDA GPUs

    最新信息见:https://developer.nvidia.com/cuda-gpus


    1) CUDA-Enabled Tesla Products

    Tesla Workstation Products

    GPUCompute Capability
    Tesla K803.7
    Tesla K403.5
    Tesla K203.5
    Tesla C20752.0
    Tesla C2050/C20702.0

    Tesla Data Center Products

    GPUCompute Capability
    NVIDIA A1008.0
    NVIDIA A408.6
    NVIDIA A308.0
    NVIDIA A108.6
    NVIDIA A168.6
    NVIDIA A28.6
    NVIDIA T47.5
    NVIDIA V1007.0
    Tesla P1006.0
    Tesla P406.1
    Tesla P4 6.1
    Tesla M405.2
    Tesla M405.2
    Tesla K803.7
    Tesla K403.5
    Tesla K203.5
    Tesla K103.0

    2) CUDA-Enabled Quadro Products

    Quadro Desktop Products

    GPUCompute Capability
    RTX A60008.6
    RTX A50008.6
    RTX A40008.6
    T10007.5
    T6007.5
    T4007.5
    Quadro RTX 80007.5
    Quadro RTX 60007.5
    Quadro RTX 50007.5
    Quadro RTX 40007.5
    Quadro GV1007.0
    Quadro GP1006.0
    Quadro P60006.1
    Quadro P50006.1
    Quadro M6000 24GB5.2
    Quadro M60005.2
    Quadro K60003.5
    Quadro M50005.2
    Quadro K52003.5
    Quadro K50003.0
    Quadro M40005.2
    Quadro K42003.0
    Quadro K40003.0
    Quadro M20005.2
    Quadro K22005.0
    Quadro K20003.0
    Quadro K2000D3.0
    Quadro K12005.0
    Quadro K6205.0
    Quadro K6003.0
    Quadro K4203.0
    Quadro 4103.0
    Quadro Plex 70002.0

    Quadro Mobile Products

    GPUCompute Capability
    RTX A50008.6
    RTX A40008.6
    RTX A30008.6
    RTX A20008.6
    RTX 50007.5
    RTX 40007.5
    RTX 30007.5
    T20007.5
    T12007.5
    T10007.5
    T6007.5
    T5007.5
    P6206.1
    P5206.1
    Quadro P52006.1
    Quadro P42006.1
    Quadro P32006.1
    Quadro P50006.1
    Quadro P40006.1
    Quadro P30006.1
    Quadro P20006.1
    Quadro P10006.1
    Quadro P6006.1
    Quadro P5006.1
    Quadro M5500M5.2
    Quadro M22005.2
    Quadro M12005.0
    Quadro M6205.2
    Quadro M5205.0
    Quadro K6000M3.0
    Quadro M5500M5.0
    Quadro K5200M3.0
    Quadro K5100M3.0
    Quadro M5000M5.0
    Quadro K500M3.0
    Quadro K4200M3.0
    Quadro K4100M3.0
    Quadro M4000M5.0
    Quadro K3100M3.0
    Quadro M3000M5.0
    Quadro K2200M5.0
    Quadro K2100M3.0
    Quadro M2000M5.0
    Quadro K1100M3.0
    Quadro M1000M5.0
    Quadro K620M5.0
    Quadro K610M3.5
    Quadro M600M5.0
    Quadro K510M3.5
    Quadro M500M5.0

    3) CUDA-Enabled NVS Products

    Desktop Products

    GPUCompute Capability
    NVIDIA NVS 8105.0
    NVIDIA NVS 5103.0
    NVIDIA NVS 3152.1
    NVIDIA NVS 3102.1

    Mobile Products

    GPUCompute Capability
    NVS 5400M2.1
    NVS 5200M2.1
    NVS 4200M2.1

    4) CUDA-Enabled GeForce Products

    GeForce Desktop Products

    Mobile Products

    GPUCompute Capability
    Geforce RTX 3060 Ti8.6
    Geforce RTX 30608.6
    GeForce RTX 30908.6
    GeForce RTX 30808.6
    GeForce RTX 30708.6
    GeForce GTX 1650 Ti7.5
    NVIDIA TITAN RTX7.5
    GeForce GTX 2080TI7.5
    GeForce GTX 20807.5
    GeForce GTX 20707.5
    GeForce GTX 20607.5
    NVIDIA TITAN Xp6.1
    NVIDIA TITAN X6.1
    GeForce GTX 1080TI6.1
    GeForce GTX 10806.1
    GeForce GTX 10706.1
    GeForce GTX 10606.1
    GeForce GTX TITAN X5.2
    GeForce GTX TITAN Z3.5
    GeForce GTX TITAN Black3.5
    GeForce GTX TITAN3.5
    GeForce GTX 980 Ti5.2
    GeForce GTX 9805.2
    GeForce GTX 9705.2
    GeForce GTX 9605.2
    GeForce GTX 9505.2
    GeForce GTX 780 Ti3.5
    GeForce GTX 7803.5
    GeForce GTX 7703.0
    GeForce GTX 7603.0
    GeForce GTX 750 Ti5.0
    GeForce GTX 7505.0
    GeForce GTX 6903.0
    GeForce GTX 6803.0
    GeForce GTX 6703.0
    GeForce GTX 660 Ti3.0
    GeForce GTX 6603.0
    GeForce GTX 650 Ti BOOST3.0
    GeForce GTX 650 Ti3.0
    GeForce GTX 6503.0
    GeForce GTX 560 Ti2.1
    GeForce GTX 550 Ti2.1
    GeForce GTX 4602.1
    GeForce GTS 4502.1
    GeForce GTS 450*2.1
    GeForce GTX 5902.0
    GeForce GTX 5802.0
    GeForce GTX 5702.0
    GeForce GTX 4802.0
    GeForce GTX 4702.0
    GeForce GTX 4652.0
    GeForce GT 7403.0
    GeForce GT 7303.5
    GeForce GT 730 DDR3,128bit2.1
    GeForce GT 7203.5
    GeForce GT 705*3.5
    GeForce GT 640 (GDDR5)3.5
    GeForce GT 640 (GDDR3)2.1
    GeForce GT 6302.1
    GeForce GT 6202.1
    GeForce GT 6102.1
    GeForce GT 5202.1
    GeForce GT 4402.1
    GeForce GT 440*2.1
    GeForce GT 4302.1
    GeForce GT 430*2.1

    5) CUDA-Enabled TEGRA /Jetson Products

    GeForce Notebook Products

    GPUCompute Capability
    GeForce RTX 30808.6
    GeForce RTX 30708.6
    GeForce RTX 30608.6
    GeForce RTX 3050 Ti8.6
    GeForce RTX 30508.6
    GeForce GTX 20807.5
    GeForce GTX 20707.5
    GeForce GTX 20607.5
    GeForce GTX 10806.1
    GeForce GTX 10706.1
    GeForce GTX 10606.1
    GeForce GTX 9805.2
    GeForce GTX 980M5.2
    GeForce GTX 970M5.2
    GeForce GTX 965M5.2
    GeForce GTX 960M5.0
    GeForce GTX 950M5.0
    GeForce 940M5.0
    GeForce 930M5.0
    GeForce 920M3.5
    GeForce 910M5.2
    GeForce GTX 880M3.0
    GeForce GTX 870M3.0
    GeForce GTX 860M3.0/5.0(**)
    GeForce GTX 850M5.0
    GeForce 840M5.0
    GeForce 830M5.0
    GeForce 820M2.1
    GeForce 800M2.1
    GeForce GTX 780M3.0
    GeForce GTX 770M3.0
    GeForce GTX 765M3.0
    GeForce GTX 760M3.0
    GeForce GTX 680MX3.0
    GeForce GTX 680M3.0
    GeForce GTX 675MX3.0
    GeForce GTX 675M2.1
    GeForce GTX 670MX3.0
    GeForce GTX 670M2.1
    GeForce GTX 660M3.0
    GeForce GT 750M3.0
    GeForce GT 650M3.0
    GeForce GT 745M3.0
    GeForce GT 645M3.0
    GeForce GT 740M3.0
    GeForce GT 730M3.0
    GeForce GT 640M3.0
    GeForce GT 640M LE3.0
    GeForce GT 735M3.0
    GeForce GT 635M2.1
    GeForce GT 730M3.0
    GeForce GT 630M2.1
    GeForce GT 625M2.1
    GeForce GT 720M2.1
    GeForce GT 620M2.1
    GeForce 710M2.1
    GeForce 705M2.1
    GeForce 610M2.1
    GeForce GTX 580M2.1
    GeForce GTX 570M2.1
    GeForce GTX 560M2.1
    GeForce GT 555M2.1
    GeForce GT 550M2.1
    GeForce GT 540M2.1
    GeForce GT 525M2.1
    GeForce GT 520MX2.1
    GeForce GT 520M2.1
    GeForce GTX 485M2.1
    GeForce GTX 470M2.1
    GeForce GTX 460M2.1
    GeForce GT 445M2.1
    GeForce GT 435M2.1
    GeForce GT 420M2.1
    GeForce GT 415M2.1
    GeForce GTX 480M2.0
    GeForce 710M2.1
    GeForce 410M2.1

    6) Tegra Mobile & Jetson Products

    Tegra Mobile & Jetson Products

    GeForce Notebook Products

    GPUCompute Capability
    Jetson AGX Xavier7.2
    Jetson Nano5.3
    Jetson TX26.2
    Jetson TX15.3
    Jetson TK13.2
    Tegra X15.3
    Tegra K13.2

    Notes
    (*) 仅OEM产品

    (**) GeForce GTX860和GTX870有两个版本,具体取决于SKU,请与OEM联系以确定系统中的版本

    2. GPU算力计算以及选择

    计算能力换算

    理论峰值 = GPU芯片数量GPU Boost主频核心数量*单个时钟周期内能处理的浮点计算次数

    只不过在GPU里单精度和双精度的浮点计算能力需要分开计算,以最新的Tesla P100为例:

    双精度理论峰值 = FP64 Cores * GPU Boost Clock * 2 = 1792 *1.48GHz*2 = 5.3 TFlops

    单精度理论峰值 = FP32 cores * GPU Boost Clock * 2 = 3584 * 1.58GHz * 2 = 10.6 TFlop

    TFLOPS

    但是现在衡量计算速度的标准是TFLOPS**(每秒万亿次浮点运算),注意GPU它是浮点运算。
    重点就是关注它的flops是怎么计算的。

    这里先参考一下某博主写的粗浅见解:
    https://blog.csdn.net/wesley_2013/article/details/11910117

    • GPU设备的单精度计算能力的理论峰值计算公式:

    单精度计算能力的峰值 = 单核单周期计算次数 × 处理核个数 × 主频

    例如: 以GTX680为例, 单核一个时钟周期单精度计算次数为两次(一般都是2),处理核个数 为1536, 主频为1006MHZ,那他的计算能力的峰值P 为

    P = 2 × 1536 × 1006MHZ = 3.09TFLOPS

    这里1MHZ = 1000000HZ, 1T为1兆,也就是说,GTX680每秒可以进行超过3兆次的单精度运算。

    同样,双精度的处理核为64个,不难算出,GTX680的双精度运算能力为0.13TFLOPS。
    同理

    • GPU设备的数据通信时间的计算公式:

    通信时间 = 通信量 ÷ 通信速度
    例如,单个处理核的输入数据以4个4byte为例,输出为1个4byte,GTX680所有处理核100%利用的情况下,通信量为5× 4 × 1536 byte,GTX680的通信速度为192…2GB/S,所以它的通信时间为
    ---------- 5× 4 × 1536 byte ÷ 192.2GB/S = 1.49e-7 s
    如果这4个4byte的数据进行10次运算的话,以GTX680为例,他的主频为1006MHZ,也就是他每1e-9s为一个时钟周期,每个周期可进行两次单精度计算,也就是5个时钟周期即5e-9s可完成计算,为通信时间的几十分之一,故可忽略不计。所以,从内存访问看计算能力:
    单精度计算能力 = 单核单精度符点计算次数 × 处理核个数 ÷ ( 通信时间 + 计算时间) 注:此处计算时间忽略不计
    即 10 × 1536 ÷ 1.49e-7s = 103GFLOPS

    即为普通PC10倍的计算速度。

    1. SP总数=TPC&GPC数量每个TPC中SM数量每个SM中的SP数量;

    TPC和GPC是介于整个GPU和流处理器簇之间的硬件单元,用于执行CUDA计算。特斯拉架构硬件将SM组合成TPC(纹理处理集群),其中,TPC包含有纹理硬件支持(特别包含一个纹理缓存)和2个或3个SM,后面会有详细描述。费米架构硬件组则将SM组合为GPC(图形处理器集群),其中,每个GPU包含有一个光栅单元和4个SM。

    1. 单精度浮点处理能力=SP总数SP运行频率每条执行流水线每周期能执行的单精度浮点操作数;
      该公式实质上是3部分相乘得到的,分别为计算单元数量、计算单元频率和指令吞吐量。
      前两者很好理解,指令吞吐量这里是按照FMA(融合乘法和增加)算的,也就是每个SP,每周期可以有一条FMA指令的吞吐量,并且同时FMA因为同时计算了乘加,所以是两条浮点计算指令。

    以及需要说明的是,并不是所有的单精度浮点计算都有这个峰值吞吐量,只有全部为FMA的情况,并且没有其他访存等方面的限制的情况下,并且在不考虑调度效率的情况下,才是这个峰值吞吐量。如果是其他吞吐量低的计算指令,自然达不到这个理论峰值。

    1. 双精度浮点处理能力=双精度计算单元总数SP运行频率每个双精度计算单元每周期能进行的双精度浮点操作数。

    目前对于N卡来说,双精度浮点计算的单元是独立于单精度单元之外的,每个SP都有单精度的浮点计算单元,但并不是每个SP都有双精度的浮点单元。对于有双精度单元的SP而言,最大双精度指令吞吐量一样是在实现FMA的时候的每周期2条(指每周期一条双精度的FMA指令的吞吐量,FMA算作两条浮点操作)。

    而具备双精度单元的SP数量(或者可用数量)与GPU架构以及产品线定位有关,具体为:

    计算能力为1.3的GT200核心,第一次硬件支持双精度浮点计算,双精度峰值为单精度峰值的1/8,该核心目前已经基本退出使用。

    GF100/GF110核心,有一半的SP具备双精度浮点单元,但是在geforce产品线中屏蔽了大部分的双精度单元而仅在tesla产品线中全部打开。代表产品有:tesla C2050,2075等,其双精度浮点峰值为单精度浮点峰值的一半;

    geforce GTX 480,580,其双精度浮点峰值为单精度浮点峰值的大约1/8左右。

    其他计算能力为2.1的Fermi核心,原生设计中双精度单元数量较少,双精度计算峰值为单精度的1/12。

    kepler GK110核心,原生的双精度浮点峰值为单精度的1/3。而tesla系列的K20,K20X,K40他们都具备完整的双精度浮点峰值;geforce系列的geforce TITAN,此卡较为特殊,和tesla系列一样具备完整的双精度浮点峰值,geforce GTX780/780Ti,双精度浮点峰值受到屏蔽,具体情况不详,估计为单精度峰值的1/10左右。

    其他计算能力为3.0的kepler核心,原生具备较少的双精度计算单元,双精度峰值为单精度峰值的1/24。

    计算能力3.5的GK208核心,该卡的双精度效能不明,但是考虑到该核心定位于入门级别,大规模双精度计算无需考虑使用。

    所以不同核心的N卡的双精度计算能力有显著区别,不过目前基本上除了geforce TITAN以外,其他所有geforce卡都不具备良好的双精度浮点的吞吐量,而本代的tesla K20/K20X/K40以及上一代的fermi核心的tesla卡是较好的选择。

    GPU信息对比

    1080TI
    ~/NVIDIA_CUDA-8.0_Samples/7_CUDALibraries/batchCUBLAS$ export CUDA_VISIBLE_DEVICES=0
    ~/NVIDIA_CUDA-8.0_Samples/7_CUDALibraries/batchCUBLAS$ ./batchCUBLAS -m1024 -n1024 -k1024
    batchCUBLAS Starting...
    GPU Device 0: "GeForce GTX 1080 Ti" with compute capability 6.1
     ==== Running single kernels ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbf800000, -1) beta= (0x40000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00037980 sec  GFLOPS=5654.24
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x0000000000000000, 0) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00894690 sec  GFLOPS=240.026
    @@@@ dgemm test OK
     ==== Running N=10 without streams ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbf800000, -1) beta= (0x00000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00294209 sec  GFLOPS=7299.19
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.07993412 sec  GFLOPS=268.657
    @@@@ dgemm test OK
     ==== Running N=10 with streams ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x40000000, 2) beta= (0x40000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00224590 sec  GFLOPS=9561.78
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.05540895 sec  GFLOPS=387.57
    @@@@ dgemm test OK
     ==== Running N=10 batched ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x3f800000, 1) beta= (0xbf800000, -1)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00197387 sec  GFLOPS=10879.6
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x4000000000000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.05372214 sec  GFLOPS=399.739
    @@@@ dgemm test OK
    Test Summary
    0 error(s)
    
    1080
    liu@iridescent:~/NVIDIA_CUDA-8.0_Samples/7_CUDALibraries/batchCUBLAS$ export CUDA_VISIBLE_DEVICES=1
    liu@iridescent:~/NVIDIA_CUDA-8.0_Samples/7_CUDALibraries/batchCUBLAS$ ./batchCUBLAS -m1024 -n1024 -k1024
    batchCUBLAS Starting...
    GPU Device 0: "GeForce GTX 1080" with compute capability 6.1
     ==== Running single kernels ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbf800000, -1) beta= (0x40000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00060892 sec  GFLOPS=3526.7
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x0000000000000000, 0) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00993085 sec  GFLOPS=216.244
    @@@@ dgemm test OK
     ==== Running N=10 without streams ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbf800000, -1) beta= (0x00000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00369406 sec  GFLOPS=5813.35
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.09741306 sec  GFLOPS=220.451
    @@@@ dgemm test OK
     ==== Running N=10 with streams ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x40000000, 2) beta= (0x40000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00317717 sec  GFLOPS=6759.12
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.07991505 sec  GFLOPS=268.721
    @@@@ dgemm test OK
     ==== Running N=10 batched ==== 
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x3f800000, 1) beta= (0xbf800000, -1)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00302100 sec  GFLOPS=7108.51
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x4000000000000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.07566714 sec  GFLOPS=283.807
    @@@@ dgemm test OK
    Test Summary
    0 error(s)
    
    Jetson
    $ ./batchCUBLAS -m1024 -n1024 -k1024
    batchCUBLAS Starting...
    GPU Device 0: "NVIDIA Tegra X2" with compute capability 6.2
     ==== Running single kernels ====
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbf800000, -1) beta= (0x40000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.00372291 sec  GFLOPS=576.83
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x0000000000000000, 0) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.10940003 sec  GFLOPS=19.6296
    @@@@ dgemm test OK
     ==== Running N=10 without streams ====
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbf800000, -1) beta= (0x00000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.03462315 sec  GFLOPS=620.245
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 1.09212208 sec  GFLOPS=19.6634
    @@@@ dgemm test OK
     ==== Running N=10 with streams ====
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x40000000, 2) beta= (0x40000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.03504515 sec  GFLOPS=612.776
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 1.09177494 sec  GFLOPS=19.6697
    @@@@ dgemm test OK
     ==== Running N=10 batched ====
    Testing sgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0x3f800000, 1) beta= (0xbf800000, -1)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 0.03766394 sec  GFLOPS=570.17
    @@@@ sgemm test OK
    Testing dgemm
    #### args: ta=0 tb=0 m=1024 n=1024 k=1024  alpha = (0xbff0000000000000, -1) beta= (0x4000000000000000, 2)
    #### args: lda=1024 ldb=1024 ldc=1024
    ^^^^ elapsed = 1.09389901 sec  GFLOPS=19.6315
    @@@@ dgemm test OK
    Test Summary
    0 error(s)
    

    对比

          1080ti                          1080                   Jetson Tx2
      GFLOPS=5654.24                 GFLOPS=3526.7             GFLOPS=576.83
      GFLOPS=7299.19                 GFLOPS=5813.35            GFLOPS=620.245
    

    在这里插入图片描述
    科学计算显卡的两个主要性能指标:

    1、CUDA compute capability,这是英伟达公司对显卡计算能力的一个衡量指标;

    2、FLOPS 每秒浮点运算次数,TFLOPS表示每秒万亿(10^12)次浮点计算;

    3、另外,显存大小也决定了实验中能够使用的样本数量和模型复杂度。

    当然了,网上也有很多贴吧或者论坛,视频,各种评测或者天梯图,讨论各种显卡的优劣,例如:RTX3090,RTX3080以及GTX2080ti的分析等,大家可以自行斟酌。

    3.参考链接

    https://blog.csdn.net/p312011150/article/details/83989674
    https://www.expreview.com/52443-3.html
    https://www.expreview.com/67453.html
    http://tieba.baidu.com/p/5388310468
    http://k.sina.com.cn/article_2934331057_aee656b1001004rc9.html?cre=oldpagepc&mod=g&loc=15&r=0&doct=0&rfunc=72&tj=none
    https://bbs.csdn.net/topics/392311745
    https://baijiahao.baidu.com/s?id=1597974095090413567&wfr=spider&for=pc
    https://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=7722&extra=page%253D1
    https://blog.csdn.net/ZIV555/article/details/51753985

    讲的比较详细的是下面这一篇,里面有一些我也不知道怎么就输出的信息,可能是某种软件吧:
    https://blog.csdn.net/enjoyyl/article/details/81529779#1080TI_33

    展开全文
  • 对计算思维能力养成与大学计算机基础课程改革的思考期次:第1913期计算思维,这个颇具时代特征的名词,正在被越来越多的人们所熟悉与关注。可以说,它已经成为当代大学生一种必备的能力。今秋开学初,校教学督导委员...
  • GPU运算能力对比(详细)

    万次阅读 多人点赞 2019-08-27 15:37:38
    实验室最近出了一款芯片,想进行指标的对比,现在ai芯片加速器我...大多数网站都会贴这一张图,其实也没有错,就是不够细致,我们更想知道它的具体ops登记,而不是宽泛的level级别的计算能力数字。nvidia的显卡越来...
  • 吴洁莹+徐章韬随着数学的广泛应用、计算机技术和现代...随着信息化时代的到来,发展计算思维显得越发重要,六大数学核心素养中的运算能力计算思维也密切相关。运算是构成数学抽象的基本要素,是演绎推理的基本形式...
  • 在基于问题的学习指导下,从三个层次进行教学设计:理解理解,简单应用和全面应用,以传授计算思维的知识,技能,性格和策略。 渐进式设计教学活动围绕教学实践和小组讨论,自己实践和综合任务进行,然后通过自我...
  • 华为边缘计算的思考与理解

    千次阅读 2019-06-06 08:29:20
    首先我们认为边缘计算的兴起应该是在过去三四年,之所以兴起大背景是因为实体经济的数字化转型。这波实体经济数字化以万物感知、万物互联、万物智能为特征,这三方面的特征仅仅依靠云计算是没办法特别好的解决,比如...
  • 1、面试官:那谈谈你分布式系统的理解 问题分析: 各种分布式框架层出不穷,Spring Cloud,阿里的 Dubbo,无论使用哪一个,原理都相同,考察下基本概念掌握的如何。 答: 为了解决传统单体服务架构带来的各种...
  • 计算机从出现至今,经历了机器语言、程序语言、简单操作系统和Linux、Macos、BSD、Windows等现代操作系统四代,运行速度也得到了极大的提升,第四代计算机的运算速度已经达到几十亿次每秒。计算机也由原来的仅供军事...
  • 分布式计算框架的理解与设计

    千次阅读 2017-12-06 12:07:22
    谢谢大家来看这篇文章,我想花点时间分享一下我分布式计算的理解。 分布式服务有很多,比如hbase, hadoop, spark等,我所要讲述的重点不是这些服务的原理,而是用更浅显的话讲述更深刻的设计。...1.分布计算能力
  • CPK、PPK、CMK常用SPC工具,基础入门,方便学习,更好的理解和应用。
  • 基于 GPU 计算能力的人工智能 1 伴随着人工智能新一波的爆发 图像识别等新技术的发展 GPU 计算能力的提升 都智慧城市进行 了新阐释 AI 技术如何重新定义城市交通乃至个人生活 AI 技术如何真正在智慧城市或者是人工...
  • 主存就是内存 反映计算机即时存储信息的能力 地址译码器
  • 计算机的一些浅显的认识

    千次阅读 2020-04-14 20:05:33
    计算机(computer)是一种在程序控制下,自动高速进行计算和信息转换工作,并且具有信息存储能力,友好交互界面的数字化信息处理设备。 计算机由硬件系统和软件系统组成。 (1)硬件系统:由电子元器件按一定逻辑...
  • 彻底理解运算——左移、右移

    千次阅读 2022-07-25 09:01:06
    相信大家在各种语言各种框架中都能看到二进制的操作。左移、右移、&、|、^等等操作。那么这篇帖子让各位彻底弄懂左移、右移。 首先先区分那个是左移、那个是右移,这...那么用一个例子,和画图来理解一下吧。 32 ...
  • cpu寻址空间(能力理解

    千次阅读 2020-04-06 18:48:44
    1、cpu寻址能力是由地址总线的条数N决定的。 寻址能力= 2的N次方 2、内存大小是以字节为单位的,每个字节单元都有一个地址。 3、以32位地址总线为例分析, cpu的寻址能力是 2^32 = 4G cpu功能存储0~2^32-1,共...
  • 计算机的逻辑运算

    万次阅读 2018-11-23 10:58:30
    引言 上一节《十六进制与数据宽度》我们提到,计算是有宽度的。 比如:一个二进制数:1111 1111 ...逻辑运算只有与错,成与败两个结果(也就是0和1)。 或运算: 0+0=0 0+1=1 1+1=1(1+1=2不等于0,就是1...
  • 这个excel表格以详细数据列出CP/CPK的计算方法,是一个很好的参考。我们可以根据自己实际所属行业更改参数即可!相当方便!而且新手理解公式起来也非常容易!
  • CRC校验的理解计算过程

    千次阅读 2019-11-21 18:10:33
    先介绍下模2运算 模2加法与模2减法相同,类似于逻辑的异或运算。 Input1 Input2 Output A B C 1 1 0 1 0 1 0 1 1 0 0 0 CRC校验过程: ①选定的除数二进制位数设为K位 ②要发送的原始数据帧二进制...
  • 将云计算中心的计算能力下沉到边缘,甚至终端设备,并通过云数据中心进行统一交付、运维、管理。通过将计算服务靠近这些位置,用户能够得到更快速、可靠的服务,公司能够享受混合云计算带来的灵活性。通过边缘计算,...
  • 不同显卡(GPU)浮点数计算能力

    万次阅读 2016-06-24 16:59:15
    TPC和GPC是介于整个GPU和流处理器簇之间的硬件单元,用于执行CUDA计算。特斯拉架构硬件将SM组合成TPC(纹理处理集群),其中,TPC包含有纹理硬件支持(特别包含一个纹理缓存)和2个或3个SM,后面会有详细描述。费米...
  • [计算机组成原理]-32/64位、寻址能力

    千次阅读 多人点赞 2021-06-19 11:03:24
    寻址能力 CPU的寻址能力与它的地址总线位宽有关,而我们通常说的CPU位宽指的是数据总线位宽,它和地址总线位宽半毛钱关系也没有,自然也与寻址能力无关。
  • 2019年国家人工智能加大了支持力度,媒体人工智能的资讯报道也越来越多,刚刚结束的人工智能大会也展示了国内现在的人工智能的发展状况,“双马”对话中也处处透露出人工智能的美好展望。 人工智能一个很大的...
  • 说说运维的理解

    千次阅读 2018-07-11 16:56:14
    运维工程师(运营),负责维护并确保整个服务的高可用性,同时...中文名运维工程师外文名操作技能服务器,操作系统,数据库应用网络,服务器目录1职责2工作内容3能力要求▪基础技能:▪加分技能:4软素质要求5职业...
  • 浅析小学学生数学计算能力的培养  [导读] 本文是小学数学优秀论文范文2000字至3000字完整版《新课程标准》提出了关于“使学生能够正确地进行整数、小数、分数的四则计算,其中一些基本的计算,要达到一定的熟练...
  • 计算机中存储单位的认识与理解

    千次阅读 2019-04-29 15:14:44
    计算机上的信息存储单位与日常生活中计算单位存在很大的差别,易于导致相关概念的混淆,而且认识这些测试计算机性能具有很重要的意义。 一. 计算机信息存储单位 计算机信息用二进制的形式表示常用的单位有 位、字...
  • Hadoop-请谈谈你Hadoop的认识与理解

    千次阅读 2020-03-17 20:11:50
    1、认识Hadoop Hadoop是Apache旗下的一套开源软件平台。 Hadoop是用来分析和处理大数据的软件平台。 Hadoop提供的功能:利用服务器集群,根据用户的自定义业务逻辑, 海量数据...云计算是分布式计算、并行计算...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 577,095
精华内容 230,838
热门标签
关键字:

对运算能力的理解