主要内容

GPU支万博1manbetx持版本

使用你的GPU与MATLAB®,则必须安装最新的图形驱动程序。最佳做法是确保您的设备拥有最新的驱动程序。安装驱动程序对于MATLAB中gpu的大多数使用已经足够了,包括gpuArray以及gpu支持的MATLAB函数。您可以从以下网站下载GPU设备的最新驱动程序英伟达驱动程序下载

万博1manbetx支持gpu

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

cc数字显示了GPU架构的计算能力。要检查您的GPU计算能力,请参阅ComputeCapability属性的输出中gpuDeviceTable而且gpuDevice功能。另外,看到CUDA图形处理器(NVIDIA)

MATLAB版本 安培(cc8.x) 图灵(cc7.5) Volta (cc7.0, cc7.2) 帕斯卡(cc6.x) 麦克斯韦(cc5.x) 开普勒(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

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

  • 对开万博1manbetx普勒和麦克斯韦GPU架构的支持将在未来的版本中移除。那时,使用带有MATLAB的GPU将要求GPU设备具有6.0或更高的计算能力。MATLAB在您第一次使用开普勒或麦克斯韦GPU时生成警告。

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

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

CUDA工具包

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

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

  • 使用GPU编码器或编译CUDA启用的mexo函数mexcuda

获取最新的图形驱动程序英伟达驱动程序下载

您也不需要CUDA工具包。

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

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

安装您的MATLAB版本所支持的CUDA工具包版本。万博1manbetx

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

有关在MATLAB中生成CUDA代码的更多信息,请参见运行包含CUDA代码的MEX-Functions而且在GPU上运行CUDA或PTX Code.并非CUDA工具包支持的所有编译器都万博1manbetx在MATLAB中得到支持。

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

有关CUDA工具包的更多信息以及下载受支持的版本,请参见万博1manbetxCUDA工具箱档案(英伟达

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设置环境变量。然后,您可以将环境变量从客户机复制到辅助程序,以便辅助程序以与客户机相同的方式执行计算。有关更多信息,请使用在Workers上设置环境变量

增加了CUDA缓存大小

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

相关的话题

外部网站