GPU计算也称图形处理单元上的通用计算,它是支持许多现代的机器学习算法,这些算法以前由于运行时间慢而无法实现。通过利用GPU的并行计算功能,相对于传统的CPU计算,可以显着减少计算时间。CUDA由NVIDIA免费开发和提供,它是并行计算运行时和软件API,供开发人员使用,以支持大多数领先的机器学习框架。相信通过上述介绍,对于GPU计算是什么大家已经清楚,但是还有很多人想了解,用于机器学习的GPU计算的工作原理是什么样呢?在回答这个问题之前,先让我们了解一下CUDA平台和API。
通过使用CUDA平台和API,最初为计算机图形渲染开发的并行计算管道现在可以被软件开发人员用于在NVIDIA GPU上进行通用计算。与传统的CPU相比,GPU硬件具有并行体系结构和海量内存带宽,能够更快地完成计算密集型任务的数量级。例如,由于GPU计算的优势,现在可以在数小时或数天内完成在CPU上花费数年的深度神经网络训练。
但是为什么要使用GPU?因为GPU具有数千个计算核心,而CPU仅具有多达2、4、8、16、32个左右的核心。代码的并行化级别限于一个人的计算机上的内核数。此外,许多GPU包括专门用于机器学习的各种数学计算的内核,例如用于执行矩阵乘法累加的NVIDIA张量内核。
为了在NVIDIA GPU上执行代码,可以使用CUDA C / C ++,FORTAN或其他接口将传统的串行代码重写为并行代码,然后对其进行编译以利用可用的GPU硬件的特定计算功能。数据集分布在不同的工作程序处理器上,然后为每个工作程序分配任务,并在计算管道的末尾收集结果。Tensorflow,Pytorch,MXNet和Chainer等许多流行的深度学习框架都包括CUDA支持,并允许用户利用GPU计算的优势而无需编写任何CUDA代码。
但是,并非所有任务都可以由GPU加速。任务必须能够并行化才能在GPU上工作。这些问题被称为固有的串行问题。幸运的是,机器学习算法中的许多重要计算。例如人工神经网络都可以并行化。例如,在卷积神经网络中,较慢的计算步骤之一是滑动窗口必须“滑动”穿过图像并将卷积核应用于图像的每个部分的过程。在这种情况下,每个计算步骤都独立于其先前的步骤。这使我们能够轻松地并行化代码,以便每个处理器都可以执行计算而不会中断其他处理器。
带有Modzy的GPU和CUDA计算
该Modzy平台提供了对NVIDIA GPU的支持CUDA能够运行。我们所有的模型都可以在GPU上运行,也可以在多个GPU上运行,与CPU相比,运行时性能更高。
这对您意味着什么
如果您正在使用Modzy库中基于GPU的模型,那么您已经可以利用运行时改进。如果要创建要部署到Modzy平台中的新模型,则可以利用随附的CUDA和GPU支持来增强其性能。
上述就是关于用于机器学习的GPU计算是怎样工作的全部内容,想了解更多关于机器学习的相关信息,请继续关注中培伟业。