Chr*_*let 3 c++ cuda visual-c++
我正在尝试使半精度内在函数在CUDA上运行。的half类型,__float2half()以及__half2float()预期功能的编译工作。但是,每当我引用或类似内容时__hmul,都会出现编译错误__hneg。确切的错误是:
identifier "__hmul" is undefined
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
#include <cuda_runtime.h>
#include <cuda_fp16.h>
__global__ void foo(float in, float multiplier, float& out)
{
half in_half = __float2half(in);
half multiplier_half = __float2half(multiplier);
half out_half = __hmul(in_half, multiplier_half);
out = __half2float(out_half);
}
Run Code Online (Sandbox Code Playgroud)
我列出了我认为正确的标题。我是否缺少标题或其他内容?
我正在使用Visual Studio 2015,针对cudart_static.lib,定位sm_52和和sm_61(GTX 970及更高版本)进行编译。
CUDA计算功能版本sm_52及以下版本不支持该__hmul功能。目标至少应为sm_53。
在Visual Studio中,转到项目属性,打开Cuda C/C++组并选择Device选项卡,然后更新Code Generation设置,以使所有目标体系结构都等于sm_53或更高。
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |