В чем разница и связь между "cuda", "cudnn", "cunn" и "cutorch" в torch?

Я вижу, что многие коды факел использовать:

require cudnn
require cunn
require cutorch

для чего используется этот пакет? Каковы их отношения с Cuda?

2 ответов


все 3 используются для реализаций CUDA GPU для torch7.

cutorch - это бэкэнд cuda для torch7, предлагающий различную поддержку реализаций CUDA в torch, таких как CudaTensor для тензоров в памяти GPU. Также добавляет некоторые полезные функции при взаимодействии с ГПУ.

cunn обеспечивает дополнительные модули над библиотекой nn, главным образом преобразовывая те модули nn к версиям GPU CUDA прозрачно. Это позволяет легко переключаться нейронные сети на GPU и наоборот через cuda!

cuDNN-это оболочка библиотеки cuDNN от NVIDIA, которая является оптимизированной библиотекой для CUDA, содержащей различные быстрые реализации GPU, такие как сверточные сети и модули RNN.


Не уверен, что такое "cutorch", но из моего понимания:

Cuda: библиотека для использования графических процессоров.

cudnn: библиотека для нейронной сети материалов на GPU (вероятно, использует CUDA для поговорить с ГП)

источник:https://www.quora.com/What-is-CUDA-and-cuDNN