主要内容

GPU版万博1manbetx本支持

在MATLAB中使用GPU®,必须安装最近的图形驱动程序。最佳实践是确保您拥有设备的最新驱动程序。安装驱动程序足以在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
R2020B.

10.2
R2020A

10.1
R2019b

10.1
R2019a

10.0
R2018b

9.1
R2018a

9
R2017B.

8
R2017A

8
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过前向兼容性提供支持。优化的设备库必须在运行时从未优化的版本编译。支持可能会受到限制,您可能会看到错误和意外行为。有关详细信息,请参阅GPU设备的前向兼容性

  • –默认情况下,不支持此体系结构。您可以通过启用GPU设备的前向兼容性来启用支持万博1manbetx。您可能会看到错误和意外行为。有关详细信息,请参阅GPU设备的前向兼容性

CUDA.工具箱

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

任务 要求

获取最新的图形驱动程序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设备的前向兼容性。

前向兼容性允许您通过在运行时重新编译设备库,将GPU设备与构建MATLAB版本后发布的体系结构一起使用。

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

如果禁用前向兼容性,则无法使用GPU设备执行计算,该GPU设备的体系结构是在构建所使用的MATLAB版本后发布的。如果要在MATLAB中使用此GPU设备,必须启用前向兼容性。

警告

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

设备库重新编译的成功程度可能因设备体系结构和MATLAB使用的CUDA版本而异。在某些情况下,前向兼容性不能按预期工作,重新编译库会导致错误。

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

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

  • 使用函数parallel.gpu.enablecudaforwardcompatibility.。使用此方法启用前向兼容性在MATLAB会话之间不持久。

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

增加CUDA.缓存大小

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

相关话题

外部网站