3

我想在原生支持半精度浮点的 Jetson AGX Xavier(使用 armv8.2 架构)上进行半精度浮点计算。由于 _Float16 数据类型是半精度浮点的算术数据类型,所以我编写了以下示例:

#include <stdio.h>
#include <math.h>


int main()
{

  _Float16 x = 38808.5;
  _Float16 y = 33096;
  _Float16 res;

  res=333.75*y*y*y*y*y*y+4*x*x*(11*4*x*x*y*y-y*y*y*y*y*y-121*y*y*y*y-2.0)   
    +5.5*y*y*y*y*y*y*y*y+2*x/(2*y);

  printf("%e\n", (double)res);
   return 0;
}

使用 gcc-7 我可以成功编译并运行它,但是使用 g++-7 我得到了错误:

‘_Float16’ was not declared in this scope

根据this reference,C++似乎不支持_Float16。我想知道在 C++ 中使用 _Float16 数据类型是否有任何替代方法?

4

0 回答 0