【问题标题】:CUDA, cuBLAS and half precision data typesCUDA、cuBLAS 和半精度数据类型
【发布时间】:2017-08-24 12:12:04
【问题描述】:

由于 CUDA 7.5/8.0 和配备 Pascal GPU 的设备,CUDA 支持开箱即用的半精度 (FP16) 数据类型。此外,CUBLAS 中的许多 BLAS 调用都支持半精度类型,例如GEMM 操作可用作cublasHgemm。我的问题是主机不支持半精度类型。是像cublasSetMatrix 这样在上传到设备期间进行转换的已经实施的解决方案吗?或者是否有必要通过将浮动上传与 CUDA 内核进行截断以浮动来组合来创建一个棘手的实现?

【问题讨论】:

    标签: cuda floating-point


    【解决方案1】:

    CUDA 工具包目前没有提供在将数据从主机复制到设备的过程中将float 数量转换为half 数量的功能。

    可以在主机代码或设备代码中从float 转换为half。在任何一个地方这样做都有优点和缺点。

    此外,还有一个可能感兴趣的cublas<t>gemmEx 函数可用,它可以具有用于输入和输出(和计算)的不同数据类型。

    其他一些可能感兴趣的half 资源:

    【讨论】:

    • Christian Rau 开发了一个非常高质量的主机 IEEE 754 半精度库,今天可能在这里有用
    猜你喜欢
    • 2012-02-27
    • 2011-10-14
    • 2016-03-11
    • 2018-08-26
    • 1970-01-01
    • 2019-01-19
    • 2018-10-19
    • 2012-10-03
    • 1970-01-01
    相关资源
    最近更新 更多