В чем разница и связь между "cuda" cudnn '' cunn 'и' cutorch 'в факеле?

Я вижу много кодов факелов:

require cudnn
require cunn
require cutorch

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

Ответ 1

Все 3 используются для реализации графических процессоров CUDA для torch7.

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

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

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

Ответ 2

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

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

cudnn: библиотека для работы с нейронными сетями на графических процессорах (возможно, использует Cuda для обсуждения с графическими процессорами)

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