主要内容

GPU支万博1manbetx持情况

使用你的GPU与MATLAB®,必须安装最近的图形驱动程序。最佳实践是确保您拥有设备的最新驱动程序。安装驱动程序足以在Matlab中大多数使用GPU,包括GPUArray.以及支持gpu的MATLAB函数。您可以下载最新的驱动程序为您的GPU设备nvidia.司机下载

万博1manbetx支持gpu

查看对NVID万博1manbetxIA的支持®GPU架构由MATLAB发布,请参考下表。

CC.数字显示GPU架构的计算能力。检查GPU计算能力,请参阅computEapability.在输出中GPudevice.功能。或者,参见CUDA GPU(NVIDIA)

matlab释放 安培(CC8.x) 图灵(CC7.5) Volta(CC7.0,CC7.2) Pascal(CC6.x) 麦克斯韦(CC5.x) 开普勒(cc3.5 cc3.7) 开普勒(cc3.0 cc3.2) 费米(CC2.x) 特斯拉(cc1.3) CUDA.®工具箱版本
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

  • - 内置二进制支持。万博1manbetx

  • - 万博1manbetx将在将来的版本中删除对Bepler和Maxwell GPU架构的支持。此时,使用MATLAB的GPU将需要具有计算能力6.0或更大的GPU设备。Matlab在使用Bepler或Maxwell GPU时第一次生成警告。

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

  • —默认情况下,不支持该架构。万博1manbetx您可以通过启用GPU设备的正向万博1manbetx兼容性来启用支持。您可能会看到错误和意外行为。有关更多信息,请参见GPU设备的前向兼容性

CUDA.工具包

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

任务 需求
  • 使用GPUArray.以及支持gpu的MATLAB函数。

  • 使用GPU编码器或编译CUDA使能的mex功能mexcuda

获取最新的图形驱动程序nvidia.司机下载

您也不需要CUDA工具包。

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

  • 使用GPU编码器编译CUDA兼容的源代码,库和可执行文件。

安装MATLAB版本支持的CUDA Toolkit的版本。万博1manbetx

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

有关在MATLAB中生成CUDA代码的更多信息,请参见运行包含CUDA代码的MEX函数在GPU上运行CUDA或PTX代码.并非CUDA Toolkit支持的所万博1manbetx有编译器都支持Matlab。

您需要的工具包版本取决于您正在使用的MATLAB版本。检查Toolkit的哪个版本与您在表中的MATLAB版本中兼容万博1manbetx支持gpu.推荐的最佳实践是使用您所支持的工具包的最新版本,包括来自NVIDIA的任何更新和补丁。万博1manbetx

有关CUDA Toolkit的更多信息,并下载支持的版本,请参阅万博1manbetxCUDA资料库(nvidia.

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_compatibility.1.这可以保持MATLAB会话之间的前向兼容性。如果在MATLAB运行时更改了环境变量,则必须重新启动MATLAB才能看到效果。在客户端,您可以使用setenv设置环境变量。然后,您可以将环境变量从客户端复制到工人,以便工人以与客户端相同的方式执行计算。有关更多信息,请使用在工人上设置环境变量

增加CUDA.缓存大小

如果您的GPU架构在MATLAB发布中没有内置二进制支持,则图形驱动程序必须编译和缓存GPU库。万博1manbetx第一次访问来自MATLAB的GPU,此过程最多可能需要一小时。要增加CUDA缓存大小以防止此延迟复发,请设置环境变量CUDA_CACHE_MAXSIZE最少536870912(512 MB)。在客户端,您可以使用setenv设置环境变量。然后,您可以将环境变量从客户端复制到工人,以便工人以与客户端相同的方式执行计算。有关更多信息,请使用在工人上设置环境变量

相关的话题

外部网站