在 GPU 硬件中实现的特殊数学函数

发布于 2024-11-15 22:44:09 字数 106 浏览 3 评论 0原文

今天我了解到,在 NVIDIA GPU 中,顶点单元中有特殊的硬件函数,用于计算 3D 规则网格中的线性插值。我想知道这种类型是否还有更多,更重要的是,人们在做GPGPU来加速代码时是否真的使用它们

I learnt today that in NVIDIA GPUs there are in the vertex unit special hardware functions for calculating linear interpolation in a 3D regular grid. I wonder if there are more of this kind and more important, if people really use them when they do GPGPU to accelerate codes

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

屋顶上的小猫咪 2024-11-22 22:44:09

有许多功能是在硬件中实现的。您要查找的术语是“CUDA 内在函数”。线性插值由纹理处理,这与此类似。

请参阅此处:http://developer.download。 nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf

内部函数通常用前导双下划线拼写,例如__sin,或使用 --use_fast_math nvcc 选项全局启用。

是的,它们实际上经常被使用。 :) 从数值角度来看,它们稍微不准确,因此将一个内在函数的结果重复传递到另一个内在函数中可能会产生不可接受的错误,具体取决于您的用例。测试是关键。

There are a number of functions that are implemented in hardware. The term you're looking for are "CUDA intrinsic functions." The linear interpolation is handled by textures, which is something similar.

See here: http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf

The intrinsic functions are typically spelled with leading double underscores, like __sin, or enabled globally with the --use_fast_math nvcc option.

And yes, they're actually used quite often. :) They are slightly more inaccurate from a numerical perspective, so passing the results of one intrinsic into another repeatedly can have unacceptable error, depending on your use case. Testing is key.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文