gpt4 book ai didi

c - 如何使用编译器内部 __fmul_?

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:12 27 4
gpt4 key购买 nike

我正在使用 CUDA 编写一个大规模并行 GPU 应用程序。我一直在手动优化它。我使用 __fdividef_(x, y) 获得了 20% 的性能提升,并且根据 The Cuda C Programming Guide(C.2.1 部分),使用类似的函数进行乘法和添加也是有益的。

函数表述如下:__fmul_[rn,rz,ru,rd](x,y)

__fdividef(x,y) 没有用括号中的参数声明。我想知道,那些括号是什么?

如果我运行简单的代码:

int t = __fmul_(5,4);

我得到一个关于 __fmul_ 未定义的编译器错误。我包含了 CUDA 运行时,所以我认为这不是设置问题;相反,它与那些方括号有关。如何正确使用此功能?谢谢。

编辑:我应该澄清一下,编译器是 CUDA 编译器 NVCC。

最佳答案

您应该使用 ru(向上舍入)或 rd(向下舍入)指定舍入模式。没有函数 __fmul_ 但可用的函数签名是 __fmul_rd__fmul_ru

关于c - 如何使用编译器内部 __fmul_?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11067068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com