主要内容

本页采用了机器翻译。点击此处可查看英文原文。

parallel.gpu.enableCUDAForwardCompatibility

查询和设置 GPU 设备的前向兼容性

    说明

    如果启用了 GPU 设备的前向兼容性,则 tf = parallel.gpu.enableCUDAForwardCompatibility 返回 true,否则返回 false。默认值为 false

    当禁用前向兼容性时,您无法使用在您使用的 MATLAB® 版本构建之后发布的架构的 GPU 设备执行计算。

    parallel.gpu.enableCUDAForwardCompatibility(tf) 启用或禁用 GPU 设备的前向兼容性。tf 必须是 true (1) 或 false (0)。

    若启用前向兼容性,则首次在 MATLAB 中于 GPU 上运行新代码时,驱动程序会重新编译库文件,期间会出现短暂延迟。

    启用前向兼容性在 MATLAB 会话之间不是持久的。

    小心

    启用前向兼容性可能会导致 GPU 计算期间出现错误答案和意外行为。

    有关详细信息,请参阅GPU 设备的前向兼容性

    示例

    全部折叠

    如果您使用的 GPU 的架构是在 MATLAB 版本之后发布的,则默认情况下,您无法使用该 GPU 在 MATLAB 中执行计算。要在 MATLAB 中使用该 GPU,请启用 GPU 设备的前向兼容性。

    检查是否启用了前向兼容性。

    tf = parallel.gpu.enableCUDAForwardCompatibility
    tf = 
       0
    

    启用前向兼容性。

    parallel.gpu.enableCUDAForwardCompatibility(1)

    选择并使用 GPU 设备。启用前向兼容性后,当您首次在 MATLAB 中于 GPU 上运行新代码时,驱动程序会重新编译库文件,此过程会产生短暂延迟。

    gpuDevice(2);
    A = ones(100,"gpuArray");

    输入参数

    全部折叠

    要设置的前向兼容性状态,指定为数值或逻辑 1 (true) 或 0 (false)。

    示例: 0

    数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

    GPU 设备的前向兼容性

    注意

    从 R2020b 开始,GPU 设备的前向兼容性默认被禁用。

    在 R2020a 及更早版本中,您无法禁用 GPU 设备的前向兼容性。

    启用前向兼容性以使用在您的 MATLAB 版本之后发布的架构的 GPU 设备。

    启用前向兼容性后,首次在 MATLAB 中于 GPU 上运行新代码时,驱动程序会重新编译库文件,期间会出现短暂延迟。为防止此类延迟再次发生,请增加 CUDA® 缓存大小。有关如何增加 CUDA 缓存大小的说明,请参阅 增加 CUDA 缓存大小

    小心

    启用前向兼容性可能会导致 GPU 计算期间出现错误答案和意外行为。

    设备库重新编译的成功程度取决于设备架构和 CUDA 使用的 MATLAB。在某些情况下,前向兼容性不能按预期工作,并且重新编译库会导致错误。

    例如,从 CUDA 版本 10.0–10.2(MATLAB 版本 R2019a、R2019b、R2020a 和 R2020b)到 Ampere(计算能力 8.x)的前向兼容性功能有限。

    为 GPU 设备启用前向兼容性

    您可以使用其中任一方法启用 GPU 设备的前向兼容性。

    • 使用 parallel.gpu.enableCUDAForwardCompatibility 函数。使用此功能时,MATLAB 会话之间不保持前向兼容性。为了在 MATLAB 启动时自动启用前向兼容性,请在 startup 脚本中调用 parallel.gpu.enableCUDAForwardCompatibility 函数。

    • MW_CUDA_FORWARD_COMPATIBILITY 环境变量设置为 1。此设置保留了 MATLAB 会话之间的前向兼容性。如果在 MATLAB 运行时更改环境变量,则必须重新启动 MATLAB 才能看到效果。

    增加 CUDA 缓存大小

    要增加 CUDA 缓存大小,请将 CUDA_CACHE_MAXSIZE 环境变量设置为最小 536870912 (512 MB)。

    设置环境变量

    要在 MATLAB 客户端上设置环境变量,请使用 setenv 函数。如果您正在使用并行工作单元,请参阅设置工作单元的环境变量

    扩展功能

    全部展开

    版本历史记录

    在 R2020b 中推出