[发明专利]支持多格式半精度浮点的编译方法在审
申请号: | 202110324723.7 | 申请日: | 2021-03-26 |
公开(公告)号: | CN114217804A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 钱宏;管茂林;朱琪;吴伟;杨涛;王飞 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 格式 精度 浮点 编译 方法 | ||
1.一种支持多格式半精度浮点的编译方法,其特征在于:处理器设置浮点控制状态寄存器,用于确定使用FP16格式和BF16格式中的哪种半精度浮点格式来解析寄存器中的数据,处理器还提供半精度浮点数据转换指令,用于处理FP16格式和BF16格式半精度浮点数据间的相互转换;
编译器提供统一的float16关键字用于申明FP16格式和BF16格式的半精度浮点类型,编译器还提供半精度浮点数据格式切换接口用于半精度浮点格式切换,分别为将FP16格式切换为BF16格式的convert_to_bf16()接口和将BF16格式切换为FP16格式的convert_to_fp16()接口,并将接口处理成设置浮点控制状态寄存器的指令;
包括以下步骤:
S1、用户代码使用编译器提供的float16关键字来申明半精度浮点数据类型,默认使用FP16格式,还可根据需要通过-mbf16选项切换为使用BF16格式;
S2、用户代码根据需要调用半精度浮点数据格式切换接口进行格式切换,在需要提高精度时调用convert_to_fp16()接口,在需要大数值空间时调用convert_to_bf16()接口,处理器通过执行设置浮点控制状态寄存器的指令进行半精度浮点数据格式的切换;
S3、用户代码在切换半精度浮点数据格式后,调用编译器提供的半精度浮点数据转换接口convert_float16(float16 *addr, int length)进行数据格式转换,将起始地址为addr、长度为length的半精度浮点数据转换成当前使用的半精度浮点格式;
S4、在完成半精度浮点数据格式切换与数据转换后,用户程序在当前半精度浮点格式下进行后续的计算,需要再次切换半精度浮点格式时重复S2、S3。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110324723.7/1.html,转载请声明来源钻瓜专利网。