深度学习:CPU和GPU算力

news2024/12/21 12:39:46

一、算力

“算力”(Computing Power)通常是指计算机或计算系统执行计算任务的能力。它是衡量系统处理数据、运行算法以及执行计算任务效率的重要指标。根据上下文,算力可以在以下几种场景中具体化:

1. 单机算力

  • CPU算力:中央处理器的计算能力,通常用核心数量(cores)、时钟频率(GHz)、以及每秒浮点运算次数(FLOPS)等指标衡量。
  • GPU算力:图形处理单元用于并行处理的能力,尤其是在深度学习和高性能计算领域中,用CUDA核心数量、显存大小及带宽等来衡量。
  • ASIC/FPGA:为特定任务优化的硬件,比如AI芯片和比特币挖矿设备。

2. 集群算力

  • 数据中心或高性能计算(HPC)集群的整体计算能力。其算力可以通过每秒浮点运算次数(如Teraflops、Petaflops)来描述。
  • 包括分布式计算资源的集成,例如云计算平台(如AWS、Azure、Google Cloud)。

3. 深度学习算力

  • AI和机器学习训练中常用算力指标。大模型训练任务通常用GPU集群(如NVIDIA A100)的规模来描述。
  • 算力需求可能包括参数量(parameters)数据集规模训练时间

4. 边缘算力

  • 边缘设备(如嵌入式系统、智能传感器)的计算能力,通常能效比(算力/功耗)是关键指标。

5. 单位和指标

  • FLOPS(每秒浮点运算次数):通常用于衡量CPU/GPU的性能。
  • TOPS(每秒万亿次运算):在AI硬件中较常用。
  • 能耗比(Perf/Watt):表示计算能力与功耗的关系。

在你的工作领域(如LiDAR、雷达、计算机视觉等),算力需求可能用于:

  • 处理实时数据流(如点云、视频流)。
  • 实现复杂的AI推理任务(如目标检测、轨道识别)。
  • 优化高精度地图的构建和更新流程。

二、CPU算力

CPU算力通常用浮点运算能力(FLOPS, Floating Point Operations Per Second)来衡量,尤其在科学计算、高性能计算(HPC)和人工智能领域。

计算公式

CPU算力(理论峰值性能)可以通过以下公式计算:

FLOPS = CPU 核心数 × 每个核心的时钟频率(Hz) × 每个周期执行的浮点运算数 \text{FLOPS} = \text{CPU 核心数} \times \text{每个核心的时钟频率(Hz)} \times \text{每个周期执行的浮点运算数} FLOPS=CPU 核心数×每个核心的时钟频率(Hz×每个周期执行的浮点运算数

1. 核心数(Number of Cores)
  • CPU内的物理核心数量。
  • 如果支持超线程(Hyper-Threading),则逻辑核心数可以是物理核心数的两倍,但计算算力时通常只考虑物理核心。
2. 时钟频率(Clock Frequency)
  • 以 GHz 表示(1 GHz = 1 0 9 10^9 109 Hz)。
  • 表示每秒钟一个核心的主频振荡次数。
3. 每周期浮点运算数(Operations per Cycle)
  • CPU的指令集架构(如 x86, ARM)决定了每周期可执行的浮点运算数。
  • 常见架构:
    • 标量运算:1 FLOP/周期。
    • SIMD 指令集(如 AVX, AVX-512):多个浮点数并行处理。
      • AVX2:256位寄存器,最多处理 8 个单精度或 4 个双精度浮点数。
      • AVX-512:512位寄存器,最多处理 16 个单精度或 8 个双精度浮点数。

示例:Intel i7-1255U 计算理论峰值算力

  1. 核心数:10(2 性能核心 + 8 效率核心)。
    • 性能核心支持更高频率和更复杂的指令集。
    • 效率核心主要执行简单任务。
  2. 时钟频率
    • 性能核心:最高 4.7 GHz。
    • 效率核心:最高 3.5 GHz。
  3. 浮点运算数(AVX2指令集)
    • 性能核心:8 单精度 FLOP/周期。
    • 效率核心:4 单精度 FLOP/周期。

单个核心算力(性能核心)
FLOPS = 4.7   GHz × 8   FLOP/周期 = 37.6   GFLOPS \text{FLOPS} = 4.7 \, \text{GHz} \times 8 \, \text{FLOP/周期} = 37.6 \, \text{GFLOPS} FLOPS=4.7GHz×8FLOP/周期=37.6GFLOPS

所有核心总算力
FLOPS(理论峰值) = ( 2 × 37.6 + 8 × ( 3.5   GHz × 4 ) )   GFLOPS = 75.2 + 112 = 187.2   GFLOPS \text{FLOPS(理论峰值)} = (2 \times 37.6 + 8 \times (3.5 \, \text{GHz} \times 4)) \, \text{GFLOPS} = 75.2 + 112 = 187.2 \, \text{GFLOPS} FLOPS(理论峰值)=(2×37.6+8×(3.5GHz×4))GFLOPS=75.2+112=187.2GFLOPS


实际算力

理论算力往往高于实际算力,受限于:

  • 内存带宽:数据加载速度不足以满足CPU吞吐需求。
  • 分支预测失败流水线阻塞
  • 非浮点运算占比,例如整数运算、条件判断。
  • 散热与功耗限制:特别是移动设备(如笔记本)。

可以通过性能测试工具(如 LINPACK 或 Cinebench)测量实际算力。

三、GPU算力
GPU算力是衡量图形处理器在并行计算中执行浮点运算能力的重要指标,通常以**每秒浮点运算次数(FLOPS, Floating Point Operations Per Second)**表示。

GPU算力计算公式

FLOPS = CUDA 核心数 × 每个核心的时钟频率(Hz) × 每周期执行的浮点运算数 × 流水线数(Pipeline Count) \text{FLOPS} = \text{CUDA 核心数} \times \text{每个核心的时钟频率(Hz)} \times \text{每周期执行的浮点运算数} \times \text{流水线数(Pipeline Count)} FLOPS=CUDA 核心数×每个核心的时钟频率(Hz×每周期执行的浮点运算数×流水线数(Pipeline Count


计算步骤

1. CUDA 核心数
  • 表示 GPU 中的并行计算单元数量。
  • CUDA 核心数通常是 SM(Streaming Multiprocessor)中单元数的总和。例如,NVIDIA 的 GPU 具有多个 SM,每个 SM 包含多个 CUDA 核心。
2. 时钟频率
  • GPU 的核心时钟频率,通常以 GHz 表示(1 GHz = 1 0 9 10^9 109 Hz)。
  • GPU 的 Boost Clock 表示其在性能负载下的最高频率。
3. 每周期浮点运算数
  • 具体取决于 GPU 的架构和支持的精度。
  • 常见精度:
    • FP32(单精度):主流深度学习任务使用。
    • FP64(双精度):高精度科学计算。
    • FP16(半精度)或 INT8:用于深度学习加速。
  • 例如,在 NVIDIA Ampere 架构中,FP32 每周期支持 2 个浮点操作。
4. 流水线数
  • 高性能 GPU 使用多条指令流水线以提高并行处理能力。例如,NVIDIA Ampere 架构中每个 CUDA 核心有两条执行流水线。

示例:NVIDIA A100 计算理论峰值算力

参数:
  • CUDA 核心数:6,912。
  • 时钟频率:1.41 GHz。
  • 每周期浮点运算数(FP32):2。
  • FP32 理论算力

FLOPS = 6 , 912 × 1.41   GHz × 2 = 19 , 468.32   GFLOPS = 19.47   TFLOPS \text{FLOPS} = 6,912 \times 1.41 \, \text{GHz} \times 2 = 19,468.32 \, \text{GFLOPS} = 19.47 \, \text{TFLOPS} FLOPS=6,912×1.41GHz×2=19,468.32GFLOPS=19.47TFLOPS

FP64 和 FP16 算力:
  • FP64(双精度):FP32 算力的 1/2。
    FP64 FLOPS = 19.47   TFLOPS ÷ 2 = 9.735   TFLOPS \text{FP64 FLOPS} = 19.47 \, \text{TFLOPS} \div 2 = 9.735 \, \text{TFLOPS} FP64 FLOPS=19.47TFLOPS÷2=9.735TFLOPS
  • FP16(半精度):FP32 算力的 2 倍。
    FP16 FLOPS = 19.47   TFLOPS × 2 = 38.94   TFLOPS \text{FP16 FLOPS} = 19.47 \, \text{TFLOPS} \times 2 = 38.94 \, \text{TFLOPS} FP16 FLOPS=19.47TFLOPS×2=38.94TFLOPS

实际算力

理论算力是 GPU 的上限,实际性能通常受以下因素影响:

  1. 内存带宽:数据吞吐能力不足可能限制算力。
  2. 指令调度:不均衡任务可能导致部分核心闲置。
  3. 散热与功耗:性能可能受限于温控策略。
  4. 编程优化:代码是否充分利用并行计算能力。

测试工具如 CUDA SDK, TensorRT,或基准测试工具(如 Geekbench 和 SPECviewperf)可用于测量实际 GPU 算力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Where语法全解密】.NET开源ORM框架 SqlSugar 系列

文章目录 前言一、普通表达式查询 Where二、根据SQL查询 where三、动态查询四、动态拼表达式查询 ,拼拉姆达五、条件拼接查询六、链式条件查询七、根据Class查询,根据实查询八、根据Class中主键查询九、根据字典查询十、查询函数十一、Where中有子查询十…

模型优化之知识蒸馏

文章目录 知识蒸馏优点工作原理示例代码 知识蒸馏优点 把老师模型中的规律迁移到学生模型中,相比从头训练,加快了训练速度。另一方面,如果学生模型的训练精度和老师模型差不多,相当于得到了规模更小的学生模型,起到模…

电脑问题4[非华为电脑安装华为电脑管家华为荣耀手机多屏协助]

非华为电脑安装华为电脑管家华为荣耀手机多屏协助 我是荣耀手机之前一直用的是window的"连接手机"功能,电脑控制手机还蛮好用,但是又不能够没有好的电脑控制手机的功能,后来想了想看了看,竟然安装了华为电脑关键,竟然可以顺利连接上荣耀手机,发现还蛮好用! 本文引用…

win11 C盘出现感叹号解决方法

出现感叹号,原因是对C盘进行了BitLocker驱动器加密操作。如果想去除感叹号,对C盘进行BitLocker解密即可。 步骤如下: 1.点击Windows搜索框 2.搜索框内输入 系统 3.按下回车,进入系统界面 4.点击隐私和安全性 点击BitLocker驱…

MyBatis通过注解配置执行SQL语句原理源码分析

文章目录 前置准备流程简要分析配置文件解析加载 Mapper 接口MapperAnnotationBuilder解析接口方法注解parseStatement 方法详解MapperBuilderAssistant 前置准备 创建一个mybatis-config.xml文件&#xff0c;配置mapper接口 <mappers><!--注解配置--><mapper…

[数据结构] 链表

目录 1.链表的基本概念 2.链表的实现 -- 节点的构造和链接 节点如何构造? 如何将链表关联起来? 3.链表的方法(功能) 1).display() -- 链表的遍历 2).size() -- 求链表的长度 3).addFirst(int val) -- 头插法 4).addLast(int val) -- 尾插法 5).addIndex -- 在任意位置…

计算机基础 试题

建议做的时候复制粘贴,全部颜色改为黑色,做完了可以看博客对答案。 一、单项选择题(本大题共25小题,每小题2分,共50分〉 1.计算机内部采用二进制数表示信息,为了便于书写,常用十六进制数表示。一个二进制数0010011010110用十六进制数表示为 A.9A6 B.26B C.4D6 D.…

设计模式12:状态模式

系列总链接&#xff1a;《大话设计模式》学习记录_net 大话设计-CSDN博客 参考&#xff1a;设计模式之状态模式 (C 实现)_设计模式的状态模式实现-CSDN博客 1.概述 状态模式允许一个对象在其内部状态改变时改变其行为。对象看起来像是改变了其类。使用状态模式可以将状态的相…

SmartX分享:NVMe-oF 介绍、SMTX ZBS 如何选择高性能场景解决方案与如何实现

目录 背景什么是 NVMe-oFZBS AccessiSCSI 与 iSERNMVe-oF 介绍NVMeNVMe-oFNVMe-oF 承载网络&#xff08;数据平面&#xff09; ZBS NVMe-oF 实现ZBS 接入策略ZBS 接入点分配策略性能测试 为什么要支持 RoCE引用 背景 前几篇文章&#xff0c;我们认识到了 SmartX 公司产品 SMTX…

数据可视化-1. 折线图

目录 1. 折线图适用场景分析 1. 1 时间序列数据展示 1.2 趋势分析 1.3 多变量比较 1.4 数据异常检测 1.5 简洁易读的数据可视化 1.6 特定领域的应用 2. 折线图局限性 3. 折线图代码实现 3.1 Python 源代码 3.2 折线图效果&#xff08;网页显示&#xff09; 1. 折线图…

python网络框架——Django、Tornado、Flask和Twisted

Django、Tornado和flask是全栈网络框架&#xff0c;而Twisted更专注于网络底层的高性能封装&#xff0c;不提供HTML模版引擎等界面功能&#xff0c;因此不能称为全栈框架。 1、Django 发布于2003年&#xff0c;是当前python世界里最负盛名且最成熟的网络框架。相较于其他web框…

Flash语音芯片相比OTP语音芯片的优势

Flash语音芯片和OTP语音芯片是两种常见的语音解决方案&#xff0c;在各自的应用领域中发挥着重要作用。本文‌将介绍Flash语音芯片相比OTP(One-Time Programmable)语音芯片的显著优势‌。 1‌.可重复擦写‌&#xff1a;Flash语音芯片的最大特点是支持多次编程和擦除&#xff0c…

门店全域推广,线下商家营销布局的增量新高地

门店是商业中最古老的经营业态之一。很早就有行商坐贾的说法&#xff0c;坐贾指的就是门店商家&#xff0c;与经常做商品流通的「行商」相对应。 现在的门店经营&#xff0c;早已不是坐等客来&#xff0c;依靠自然流量吸引顾客上门&#xff0c;大部分的门店经营与推广都已经开…

NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址

使用 nmcli 命令创建 Wi-Fi 热点并设置固定 IP 地址 一、前言 在一些场景下&#xff0c;我们需要将计算机或嵌入式设备&#xff08;例如 NVIDIA Orin NX&#xff09;转换为 Wi-Fi 热点&#xff0c;以便其他设备&#xff08;如手机、笔记本等&#xff09;能够连接并使用该设备…

[react] <NavLink>自带激活属性

NavLink v6.28.0 | React Router 点谁谁就带上类名 当然类名也是可以自定义 <NavLinkto{item.link}className{({ isActive }) > (isActive ? 测试 : )}>{item.title}</NavLink> 有什么用?他会监听你的路由,刷新的话也会带上激活效果

【LC】100. 相同的树

题目描述&#xff1a; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&…

代码随想录day24 | leetcode 93.复原IP地址 90.子集 90.子集II

93.复原IP地址 Java class Solution {List<String> result new ArrayList<String>();StringBuilder stringBuilder new StringBuilder();public List<String> restoreIpAddresses(String s) {backtracking(s, 0, 0);return result;}// number表示stringb…

Hive是什么,Hive介绍

官方网站&#xff1a;Apache Hive Hive是一个基于Hadoop的数据仓库工具&#xff0c;主要用于处理和查询存储在HDSF上的大规模数据‌。Hive通过将结构化的数据文件映射为数据库表&#xff0c;并提供类SQL的查询功能&#xff0c;使得用户可以使用SQL语句来执行复杂的​MapReduce任…

AI智能决策赋能服装零售 实现精准商品计划与供需平衡

在服装这个典型的散对散供需模型中&#xff0c;库存问题一直是零售商面临的重大挑战。如何精准预测市场需求&#xff0c;实现供需平衡&#xff0c;成为摆在零售商面前的一道难题。然而&#xff0c;随着智能决策系统的应用&#xff0c;这一切正在悄然改变。 在这个信息爆炸的时代…

RadiAnt DICOM - 基本主题 :从 PACS 服务器打开研究

正版序列号获取&#xff1a;https://r-g.io/42ZopE RadiAnt DICOM Viewer PACS 客户端功能允许您从 PACS 主机&#xff08;图片存档和通信系统&#xff09;搜索和下载研究。 在开始之前&#xff0c;您需要确保您的 PACS 服务器和 RadiAnt 已正确配置。有关配置说明&#xff0c…