主要内容

GPU支金宝app持情况

使用你的GPU与MATLAB®,必须安装最新的图形驱动程序。最佳做法是确保您的设备具有最新的驱动程序。安装驱动程序就足以满足MATLAB中GPU的大多数用途,包括gpuArray以及支持gpu的MATLAB函数。您可以下载最新的驱动程序为您的GPU设备英伟达驱动程序下载

金宝app支持gpu

查看对NVID金宝appIA的支持®GPU架构由MATLAB发布,请参考下表。

这个复写的副本数字显示了GPU架构的计算能力。要检查您的GPU计算能力,请参阅计算能力属性的输出中的gpuDeviceTablegpuDevice功能。或者,请参见CUDA GPU(英伟达)

MATLAB发布 安培(cc8.x) 图灵(cc7.5) 沃尔塔(cc7.0,cc7.2) 帕斯卡(cc6.x) 麦克斯韦(cc5.x) 开普勒(cc3.5 cc3.7) 开普勒(cc3.0 cc3.2) 费米(cc2.x) 特斯拉(cc1.3) 库达®工具箱版本
R2021b

11.0
R2021a

11.0
R2020b

10.2
R2020a

10.1
R2019b

10.1
R2019a

10
R2018b

9.1
R2018a

9.0
R2017b

8.0
R2017a

8.0
R2016b

7.5
R2016a

7.5
R2015b

7
R2015a

6.5
R2014b

6
R2014a

5.5
R2013b

5
R2013a

5
R2012b

4.2
R2012a

4
R2011b

4

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

  • –对金宝app开普勒和麦克斯韦GPU体系结构的支持将在未来版本中取消。那时,将GPU与MATLAB结合使用将需要计算能力为6.0或更高的GPU设备。第一次使用开普勒或麦克斯韦GPU时,MATLAB会生成警告。

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

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

库达工具包

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

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

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

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

您也不需要CUDA工具包。

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

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

安装MATLAB版本支持的CUDA工具包版本。金宝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资料库(英伟达)

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.EnableCudForwardCompatibility. 在MATLAB会话之间,使用此方法启用前向兼容性不是持久的。

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

增加库达缓存大小

如果您的GPU体系结构在MATLAB版本中没有内置的二进制支持,那么图形驱动程序必须编译并缓存GPU库。第一次金宝app从MATLAB访问GPU时,此过程可能需要长达一个小时。要增加CUDA缓存大小以防止此延迟再次发生,请设置环境变量CUDA_CACHE_MAXSIZE至少536870912(512 MB)。在客户端,您可以使用setenv设置环境变量。然后,您可以将环境变量从客户端复制到辅助对象,以便辅助对象以与客户端相同的方式执行计算。有关更多信息,请使用设置工人的环境变量

相关的话题

外部网站