在Torch中,“cuda”、“cudnn”、“cunn”和“cutorch”的区别和关系是什么?

19

我看到很多PyTorch代码使用:

require cudnn
require cunn
require cutorch

这些软件包用于什么?它们与Cuda有什么关系?

3个回答

14

这三个工具均用于torch7的CUDA GPU实现。

cutorch是torch7的CUDA后端,为CUDA实现提供各种支持,例如在GPU内存中的CudaTensor。同时还增加了一些与GPU交互时有用的功能。

cunn提供了nn库的额外模块,主要是将这些nn模块透明地转换为GPU CUDA版本。这使得通过cuda轻松地在神经网络之间切换到GPU和反之。

cuDNN是NVIDIA的cuDNN库的封装,它是一个针对CUDA进行优化的库,包含各种快速的GPU实现,例如卷积网络和RNN模块。


2
那么我可以在没有CUDNN的情况下使用CUDA吗? - Naveen Gabriel

3

我不确定'cutorch'是什么,但据我了解:

Cuda: 用于使用GPU的库。

cudnn: 用于在GPU上进行神经网络处理的库(可能使用Cuda与GPU通信)。

来源:https://www.quora.com/What-is-CUDA-and-cuDNN


-1

Cuda是由NVIDIA开发的用于图形处理单元(GPU)上的通用计算的并行计算平台和编程模型。使用CUDA,开发人员可以通过利用GPU的强大性能来显著加速计算应用程序。

而cuDNN是一个在GPU上加速的Cuda深度神经网络库,它建立在底层的Cuda框架之上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接