Skip to content

CUDA without cuDNN #109

Description

@mantier

Dear all,

today we tried to set up a PC with PetaVision. After we found out cuDNN is not compatible with the graphic card (compute probability 3.0 needed, this one had 2.1, so most of the tests failed) we wanted to compile without cuDNN. Compilation went through without a problem but the CIFAR tutorial threw an error saying Petavision was compiled without CUDA support.

In the OpenPV/cmake/PVConfigProject.cmake file at line 228 I found this code:

      find_package(CUDA)
      find_package(CUDNN)

      # Set cuda compile flags
      if(CUDA_FOUND AND CUDNN_FOUND)
        # Used later to set an variable in cMakeHeader.h PV_USE_CUDNN.
        # Without this, none of the CUDNN code will be compiled and all
        # CUDA code will fail
        set(PV_USE_CUDNN ON)

        if(CMAKE_BUILD_TYPE STREQUAL "Release" OR CMAKE_BUILD_TYPE STREQUAL "MinRelSize")
          set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};${CUDA_RELEASE_FLAGS}")
        else()
          set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};${CUDA_DEBUG_FLAGS}")
        endif()
      else()
        set(PV_USE_CUDA OFF)
      endif()

where I understand from that CUDA is set to OFF at compile time if cuDNN is not found. Is this desired behaviour? I would understand otherwise from here. So, can we still use our NVIDIA GPU without cuDNN or not?

Anyways, if cuDNN is necessary, shouldn't there be at least pop up a warning like:

message(WARNING "-- CUDA cannot be used without cuDNN. Disabling CUDA build")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions