小编xkc*_*kcd的帖子

cublasGemmEx 结果始终为零

我尝试使用 cublasGemmEx 进行矩阵乘法。A和b是1X1半矩阵。如果我将计算类型和输出日期类型设置为 CUDA_R_16F,结果始终为零。如果我将计算类型和输出日期类型设置为 CUDA_R_32F,结果是正确的。

有谁知道为什么如果我将类型设置为 CUDA_R_16F 结果为零?感谢您提前的答复。

我的cuda版本是10.2,gpu是T4。我使用命令 'nvcc -arch=sm_75 test_cublas.cu -o test_cublas -lcublas' 构建以下代码

#include "cublas_v2.h"
#include "library_types.h"
#include <stdio.h>

__global__ void init_kernel(half *a, half *b, half *c_half, float *c_float)
{
    *a = __float2half_rn(1.0);
    *b = __float2half_rn(1.5);
    *c_half = __float2half_rn(0.0);
    *c_float = 0.0;
}

__global__ void print_gpu_values(half *a, half *b, half *c_half, float *c_float)
{
    printf("a %f, b %f, c_half %f, c_float %f\n", __half2float(*a), __half2float(*b), __half2float(*c_half), *c_float);
}

int main(int argc, char **argv)
{
    cudaStream_t cudaStream;
    if (cudaSuccess …
Run Code Online (Sandbox Code Playgroud)

c++ cuda cublas

0
推荐指数
1
解决办法
840
查看次数

标签 统计

c++ ×1

cublas ×1

cuda ×1