主要内容

GPU通金宝app过发布支持

使用您的GPU与MATLAB®,您必须安装最新的显卡驱动程序。最佳实践是确保您的设备有最新的驱动程序。对于MATLAB中的gpu的大多数使用,安装驱动程序就足够了,包括gpuArray和gpu支持的MATLAB函数。您可以为GPU设备下载最新的驱动程序英伟达驱动程序下载

金宝app支持GPU

看到对NVID金宝appIA的支持®MATLAB发布的GPU架构,请咨询下表。

cc数字显示GPU架构的计算能力。要检查GPU计算能力,请参阅ComputeCapability属性的输出中gpuDeviceTablegpuDevice功能。另外,看到CUDA gpu(英伟达)

MATLAB版本 安培(cc8.x) 图灵(cc7.5) 沃尔特(cc7.0 cc7.2) 帕斯卡(cc6.x) 麦克斯韦(cc5.x) epperer(CC3.5,CC3.7) 开普勒(CC3.0,CC3.2) 费米(cc2.x) 特斯拉(CC1.3) CUDA®工具包版本
R2021b

11.0
R2021a

11.0
R2020b

10.2
R2020a

10.1
R2019B.

10.1
R2019A

10.0
R2018B.

9.1
R2018A

9.0
R2017b

8.0
R2017a

8.0
R2016b

7.5
R2016a

7.5
R2015b

7.0
R2015a

6.5
R2014b

6.0
R2014a

5.5
R2013b

5.0
R2013a

5.0
R2012b

4.2
R2012a

4.0
R2011b

4.0

  • —内置二进制支持。金宝app

  • 对开金宝app普勒和麦克斯韦GPU架构的支持将在未来的版本中移除。那时,使用带有MATLAB的GPU将需要具有6.0或更高计算能力的GPU设备。当你第一次使用开普勒或麦克斯韦GPU时,MATLAB会生成一个警告。

  • - 金宝app通过前向兼容性支持。必须在从未优化的版本中在运行时编译优化的设备库。金宝app支持可以限制,您可能会看到错误和意外行为。有关更多信息,请参阅GPU设备的前向兼容性

  • - 默认情况下,不支持此架构。金宝app您可以通过启用GPU设备的转发金宝app兼容性来启用支持。您可能会看到错误和意外行为。有关更多信息,请参阅GPU设备的前向兼容性

CUDA工具包

如果你想从CU代码中生成CUDA内核对象,或者使用GPU Coder™编译CUDA兼容的源代码、库和可执行程序,你必须安装CUDA工具包。CUDA工具包包含CUDA库和编译工具。在GPU上运行MATLAB函数或生成CUDA启用的MEX函数不需要工具箱。

任务 要求
  • 利用gpuArray和gpu支持的MATLAB函数。

  • 编译CUDA使用GPU编码器启用MEX函数Mexcuda.

获取最新的显卡驱动程序英伟达驱动程序下载

你也不需要CUDA工具包。

  • 从CU代码中创建CUDA内核对象

  • 使用GPU Coder编译CUDA兼容的源代码、库和可执行程序。

安装您的MATLAB发行版所支持的CUDA Toolkit版本。金宝app

*在MATLAB中创建CUDA内核对象,你必须同时拥有CU文件和相应的PTX文件。从CU文件编译PTX文件需要CUDA工具包。如果您已经有了相应的PTX文件,则不需要该工具箱。

有关在Matlab中生成CUDA代码的更多信息,请参阅运行包含CUDA代码的mex函数在GPU上运行CUDA或PTX代码.并不是所有CUDA工具包支持的编译器金宝app都在MATLAB中得到支持。

您需要的工具箱版本取决于您使用的MATLAB版本。请在表格中查看工具箱的哪个版本与您的MATLAB版本兼容金宝app支持GPU.建议的最佳实践是使用最新版本的支持工具包,包括来自nvidia的任何更新和修补程序。金宝app

有关CUDA工具包的更多信息和下载支持的版本,请参见金宝appCUDA Toolkit档案(英伟达

GPU设备的前向兼容性

请注意

从R2020B开始,默认情况下禁用GPU设备的正向兼容性。

在R2020a和更早的版本中,您不能禁用GPU设备的前向兼容性。

前向兼容性允许您通过在运行时重新编译设备库构建Matlab版本后,使用带有架构的GPU设备。

启用前向兼容性时,CUDA驱动程序首次访问具有比MATLAB版本更新的架构的设备首次访问GPU库。重新编译可能需要一个小时。增加CUDA缓存大小以防止该延迟复发。有关说明,请参阅增加CUDA缓存大小

禁用前向兼容性时,您无法使用GPU设备执行计算,该GPU设备在您使用的MATLAB版本之后释放的架构。如果要在MATLAB中使用此GPU设备,则必须启用正向兼容性。

谨慎

启用前向兼容性会导致GPU计算过程中错误的答案和意外的行为。

设备库重新编译的成功程度可能因Matlab使用的设备架构和CUDA版本而异。在某些情况下,前瞻性兼容性不像预期的那样工作,并对图书馆的重新编译导致错误。

例如,来自CUDA版本10.0-10.2(MATLAB版本R2019A,R2019B,R2020A和R2020B)的前向兼容性到AMPERE(计算能力8.x)的功能仅具有有限的功能。

您可以使用以下方法启用GPU设备的前向兼容性。

  • 使用功能parallel.gpu.enableCUDAForwardCompatibility.使用这种方法实现前向兼容性在MATLAB会话之间不是持久的。

  • 设置环境变量MW_CUDA_FORWARD_COMPATIBILITY1.这可以保留Matlab会话之间的前向兼容性。如果在MATLAB运行时更改环境变量,则必须重新启动MATLAB以查看效果。在客户端上,您可以使用setenv.设置环境变量。然后,您可以将环境变量从客户机复制到工作器,以便工作器以与客户机相同的方式执行计算。欲了解更多信息,请使用在工作人员上设置环境变量

增加了CUDA缓存大小

如果你的GPU架构在你的MATLAB版本中没有内置的二进制支持,图形驱动程序必须编译和缓存GPU库。金宝app当你第一次从MATLAB访问GPU时,这个过程可能需要一个小时。要增加CUDA缓存大小以防止这种延迟的再次发生,请设置环境变量CUDA_CACHE_MAXSIZE.到最低限度536870912(512 MB)。在客户端上,您可以使用setenv.设置环境变量。然后,您可以将环境变量从客户机复制到工作器,以便工作器以与客户机相同的方式执行计算。欲了解更多信息,请使用在工作人员上设置环境变量

相关话题

外部网站