nvidia tf32格式的意义是啥?和fp32的区别

2023-11-21 13:36

本文主要是介绍nvidia tf32格式的意义是啥?和fp32的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

nvidia tf32格式的意义是啥?:https://www.zhihu.com/question/545977619

作者:丽台科技
链接:https://www.zhihu.com/question/545977619/answer/2629134304
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

TF32(TensorFloat32)是NVIDIA在Ampere架构推出的时候面世的,现已成为Tensorflow和Pytorch框架中默认的32位格式。大多数AI浮点运算采用16位“半”精度(FP16)、32位“单”精度(FP32),以及面向专业运算的64位“双”精度(FP64),人工智能训练的默认是FP32 ,没有张量核心(Tensor Core)加速度。 NVIDIA Ampere架构引入了TF32的新支持,使AI训练能够在默认情况下使用张量核心,非张量运算继续使用FP32数据路径,而TF32张量核心读取FP32数据并使用与FP32相同的范围,内部精度降低,然后生成标准IEEE FP32输出。 TF32 使用与半精度 (FP16) 数学相同的10位尾数,表明其具有足够的余量来满足AI工作负载的精度要求。TF32采用与FP32相同的8位指数,因此可以支持相同的数值范围。这种组合使TF32成为FP32的绝佳替代品,用于处理单精度数学,特别是深度学习和许多HPC应用程序核心的大量乘法累加函数。除此之外,Ampere架构还引入了Bfloat16 ( BF16 )的数据类型,BF16 / FP32混合精度张量核心运算的运行速度与FP16 / FP32混合精度相同。相对来说,在深度学习计算里,范围比精度要重要得多,于是有了BF16,牺牲了精度,保持和 FP32 差不多的范围,而TF32的设计,在于即汲取了BF16的好处,又保持了一定程度对主流 FP32 的兼容,FP32只要截断就是TF32 了。先截断成TF32计算,再转成FP32,对历史的工作几乎无影响

TF32为用于训练和推理的AI应用程序提供了巨大的开箱即用性能提升,零代码更改,同时能够保持FP32级别的准确性。

这篇关于nvidia tf32格式的意义是啥?和fp32的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402664

相关文章

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实