CPU和GPU浮点运算方法-公式

article/2025/10/14 7:32:40

处理器和GPU的计算能力如何计算? 

(一) CPU的浮点计算性能公式
我们常用双精度浮点运算能力衡量一个处理器的科学计算的能力,就是处理64bit小数点浮动数据的能力

 



intel的最新cpu支持高级矢量指令集AVX2、AVX512, 其中AVX2的处理器的单指令的长度是256bit,每颗intelCPU包含2个FMA,一个FMA一个时钟周期可以进行2次乘或者加的运算,那么这个处理器在1个核心1个时钟周期可以执行256bit*2FMA*2M/A/64=16次浮点运算,也称为16FLOPs,就是Floating Point Operations Per Second;


支持AVX512的处理器的单指令的长度是512Bit,每个intel核心假设包含2个FMA,一个FMA一个时钟周期可以进行2次乘或者加的运算,那么这个处理器在1个核心1个时钟周期可以执行512bit*2FMA*2M/A/64=32次浮点运算,也称为32FLOPs,
 


就是说理论上后者的运算能力其实是前者的一倍,但是实际中不可能达到,因为进行更长的指令运算,流水线之间更加密集,但核心频率会降低;导致整个处理器的能力降低;

一个处理器的计算能力和核心的个数,核心的频率,核心单时钟周期的能力三个因素有关系

例如:现在intel purley platform的旗舰skylake 8180是28Core@2.5GHZ,支持AVX512,其理论双精度浮点性能是:28Core*2.5GHZ*32FLOPs/Cycle=2240GFLPs=2.24TFLOPs
例如:现在intel purley platform的旗舰cascade lake Xeon Platinum 8280是28核@2.7GHZ,支持AVX512,其理论双精度浮点性能是:28Core*2.7GHZ*32FLOPs/Cycle=2419.2GFLPs=2.4192TFLOPs
但是还是要注意并不是所有的处理器都有支持AVX512的指令集,也并不是每个支持处理器都有2个FMA的运算单元。

(二) GPU的浮点性能计算公式

 


GPU能做的CPU都能做,CPU能做的GPU却不一定能够做到,GPU一般一个时钟周期可以操作64bit的数据,1个核心实现1个FMA。
这个GPU的计算能力的单元是:64bit*1FMA*2M/A/64bit=2FLOPs/Cycle
GPU的计算能力也是一样和核心个数,核心频率,核心单时钟周期能力三个因素有关。
但是架不住GPU的核心的数量多呀

 


例如:对现在nvidia 的pascal架构超算卡--- Tesla P100,是1792核@1.328GHz,其理论的双精度浮点性能是:1792Core*1.328GHZ*2FLOPs/Cycle=4759.552GFLOPs=4.7TFLOPs
例如:对现在nvidia 的Volta架构的超算卡---Tesla V100,是2560核@1.245GHz,其理论的双精度浮点性能是:2560Core*1.245GHZ*2FLOPs/Cycle=6374.4GFLOPs=6.3TFLOPs


现在ML繁荣的时代,对64bit长度的浮点运算需求不是那么的大,反而是32bit或者16bit、8bit INT、4bit INT的运算需求比较大。
因此nvidia 最新的tesla一直在强调单精度甚至半精度,turing就是这样的。
intel为了加速这些计算,也在其处理器中实现了一些加速低精度运算的指令。


http://chatgpt.dhexx.cn/article/dnpTSmth.shtml

相关文章

定点运算,浮点运算,算术逻辑单元

定点运算 (一)移位运算 1、移位运算的数学意义 先举一个例子:15m 1500 cm,在这个变换过程中,就可以通过移位运算进行实现,实际上在这个等式中,小数点被隐含了,在15m和1500cm数值最…

计算机组成原理之浮点运算

总结一下自己的学习过程,如果有错误的地方,希望你们可以不吝赐教哦♥ 浮点运算中数的形式 如: 浮点运算中补码的表示形式 如: 浮点运算的步骤 1.求阶差,对阶 对阶时要遵循小阶向大阶看齐的原则 2.尾数求和 3.规格化…

浮点数的算数运算

看下面代码 看结果 注意!浮点数不能参与取余 如何保留小数点后两位 我们看下运行结果

计算机中的浮点数运算

计算机中的浮点数 计算机中以固定长度存储浮点数的方式&#xff0c;造成了浮点数运算过程容易产生上溢和下溢。以float32为例, 其标记位占1bit,指数位占8bit,小数部分占23bit 经典下溢场景 不满足精度导致截断误差 #include <iostream> #include <iomanip> usin…

常用算法公式之取模

文章目录 前言求最大公约数&#xff08;欧几里得算法&#xff09;贝祖等式蓝桥杯&#xff1a;一步之遥暴搜解法贝祖解法&#xff08;欧几里得&#xff09; 模运算&#xff08;同余方程&#xff09;青蛙的约会&#xff08;例题&#xff09; 求逆元总结 前言 今天呢&#xff0c;…

大数取模运算,快速幂取模运算

1.快速幂取模 http://www.cnblogs.com/yinger/archive/2011/06/08/2075043.html 快速幂取模就是在O(logn)内求出a^n mod b的值。算法的原理是ab mod c(a mod c)(b mod c)mod c long exp_mod(long a,long n,long b) {long t;if(n0) return 1%b;if(n1) return a%b;texp_mod(a…

关于取模运算(mod)和求余(rem)运算

通常情况下取模运算(mod)和求余(rem)运算被混为一谈&#xff0c;因为在大多数的编程语言里&#xff0c;都用’%’符号表示取模或者求余运算。在这里要提醒大家要十分注意当前环境下’%’运算符的具体意义&#xff0c;因为在有负数存在的情况下&#xff0c;两者的结果是不一样的…

模运算——神奇的9

2012/10/11 19:55 在求余运算中&#xff0c;9是个神奇的数&#xff0c;它让求余变得如此简单。 求 2468 Mod 9&#xff0c;对于2468这个数&#xff0c;可以直接计算得出结果&#xff0c;这里并不这样做&#xff0c;而是用它来引出9的神奇特性。 因为 2468 2000 400 60 8 上…

模n运算

2019独角兽企业重金招聘Python工程师标准>>> 注意:只是个人理解,可能有不正确的地方 对于整数a、n,模n运算就是求a除以n的余数 如果a=10,n=3,那么a除以n的商为3,余数为1 C语言等编程语言中常使用%代表求模运算:a%n 10%3=1 英文中也使用mod代表求模运算:a mo…

密码学-模逆运算

扩展欧几里得算法 给予二整数 a 与 b, 必存在有整数 x 与 y 使得 ax by gcd(a,b) 。 有两个数a,b&#xff0c;对它们进行辗转相除法&#xff0c;可得它们的最大公约数——这是众所周知的。然后&#xff0c;收集辗转相除法中产生的式子&#xff0c;倒回去&#xff0c;可以得…

什么是长轮询

短轮询 vs 长轮询短轮询长轮询 长轮询的原理demotomcat线程池AsyncContext源码分析 短轮询 vs 长轮询 在看apollo和nacos等配置中心的源码的时候发现&#xff0c;配置更新的实时感知都是采用的长轮询的方式。那么什么是长轮询的呢&#xff1f;在讲解长轮询之前我们先了解一下什…

js轮询

一、案例效果 使得数据实时变化&#xff0c;可以随时暂停和播放 二、代码案例 html <button id"button">暂停</button>js let timerId 1 // 模拟计时器id&#xff0c;唯一性let timerObj {} // 计时器存储器function getData() {return new Promi…

php实现异步轮询

文章目录 一、前言二、工欲善其事1、curl是伪异步请求2、鸟哥推荐的方法中有curl 三、异步轮询&#xff08;fsockopen&#xff09;1、模拟异步轮询的demo2、响应页面代码3、测试结果4、fsockopen(): unable to connect to 错误 四、问题以及反思1、无法调试返回2、占用进程3、最…

java 轮询请求_使用RxJava来实现网络请求轮询功能

原标题:使用RxJava来实现网络请求轮询功能 近日有媒体报道称,腾讯重金入股永辉超市旗下生鲜超市超级物种,目前交易已经完成。受此刺激,永辉超市股价迅速涨停,午后临时停牌。若此举成行,超级物种将更有底气对垒阿里巴巴的盒马鲜生,生鲜商超的新零售市场将展开激烈争战。 …

android轮询

目录 轮询实现方案&#xff1a; Timer Handler RxJava 1.Interval 2.repeatWhen 轮询实现方案&#xff1a; 方案一&#xff1a; Timer Thread 实现思路&#xff1a;使用timer定时执行TimerTask 缺点&#xff1a;如果有异步任务&#xff0c;下次任务开始执行时需要判断…

nginx轮询

创建容器1&#xff1a; docker create -it --name zyr1 centos:7 /bin/bash docker start zyr1 进入容器&#xff1a; docker exec -it zyr1 /bin/bash 安装ipconfig命令 yum provides ifconfig 安装nginx依赖 yum -y install openssl openssl-devel prce-devel zlib z…

python 轮询mysql_python 轮询

1. 轮询 三天之后,小钱才拿到这个快递 总结 快递不能及时的传达 小钱儿 - 卒 客户端浪费极大资源 老程头儿 -痴呆 资源浪费也很严重 HTTP无法跟踪定义客户端 无状态 2. 长轮询 缺陷: 消息实时性不高 传达室茶室的资源有限 占用资源 客户端线程资源占用 3. 长连接 总结 占用的空…

java 轮询http_HTTP轮询模型

HTTP轮询模型 长短轮询 http协议是一种client-server模型的应用层协议&#xff0c;这种c-s的模式虽然大多数情况都能满足需求&#xff0c;但是某些场景也需要服务端能够将一些信息实时的推送到客户端&#xff0c;即实现服务器向客户端推消息的功能。 比如&#xff1a; 配置管理…

七种轮询介绍(后附实践链接)

我有一个朋友&#xff5e; 做了一个小破站&#xff0c;现在要实现一个站内信web消息推送的功能&#xff0c;对&#xff0c;就是下图这个小红点&#xff0c;一个很常用的功能。 不过他还没想好用什么方式做&#xff0c;这里我帮他整理了一下几种方案&#xff0c;并简单做了实现…

linux cgroup 死循环,Linux CGroup 基础

CGroup V1 1. CGroup 概念Task: 任务&#xff0c;也就是进程&#xff0c;但这里的进程和我们通常意义上的 OS 进程有些区别&#xff0c;在后面会提到。 CGroup: 控制组&#xff0c;一个 CGroup 就是一组按照某种标准划分的Tasks。这里的标准就是 Subsystem 配置。换句话说&…