是否有一种方法可以自动转换为在FP32 GPU上进行FP32计算而编写的代码,以便它始终可以代替FP32进行FP16计算?
我要实现的目标是为旧的GPU(不支持HALF类型)运行代码,在具有此功能的较新GPU上运行,但是我自己无需阅读代码...
如果不可能,请告诉我应该阅读哪些文档,自己动手做...
(新GPU是Radeon Vega Frontier,驱动程序是ROCm 1.9.1,操作系统是Ubuntu 18.04) (代码是广泛的,由不同的模块组成...因此,除非有要求,否则我不会在此处发布它)
答案 0 :(得分:1)
否,没有标准的标记来表示“处理浮点一半”。您必须将“ float”更改为“ half”。另外,您的设备必须支持fp16计算(很多情况下,仅支持在加载/存储时从fp32转换为fp16的存储)。 cl_khr_fp16
扩展名增加了对半标量和向量类型的支持,这些类型是可用于算术运算的内置类型。在使用它的所有内核中都需要一个#prama。