Spec-Zone.ru › CMake 3.21

FindCUDAToolkit

Новое в версии 3.17.

Этот скрипт находит комплект NVIDIA CUDA и связанные библиотеки, но не требует, чтобы CUDA язык был включён для данного проекта. Этот модуль не ищет образцы NVIDIA CUDA.

Новое в версии 3.19: Поддержка QNX.

Поведение поиска

Поиск CUDA Toolkit осуществляется в следующем порядке:

  1. Если язык CUDA включён, каталог, содержащий компилятор, будет первым местом поиска для nvcc.
  2. Если переменная конфигурации CMake CUDAToolkit_ROOT (например, -DCUDAToolkit_ROOT=/some/path) или переменная окружения определена, она будет проверена. Если указана как переменная окружения, так и переменная конфигурации, переменная конфигурации имеет приоритет.

    Указанный каталог должен быть таким, чтобы в нём можно было найти исполняемый файл nvcc или соответствующий файл version.txt.

  3. Если переменная окружения CUDA_PATH определена, она будет проверена на предмет nvcc.
  4. Путь пользователя проверяется на наличие nvcc с помощью find_program(). Если он найден, дальнейшие попытки поиска не выполняются. Пользователи несут ответственность за обеспечение того, чтобы первым найденным в пути nvcc был нужный путь, в случае установки нескольких CUDA Toolkit.
  5. В системах Unix, если символическая ссылка /usr/local/cuda существует, она используется. Дальнейшие попытки поиска не выполняются. Никакого стандартного места расположения символической ссылки для платформы Windows не существует.
  6. Проверяются стандартные места установки для конкретной платформы. Если найдено ровно один кандидат, он используется. Проверяются следующие стандартные места установки CUDA Toolkit:

    Платформа

    Шаблон поиска

    macOS

    /Developer/NVIDIA/CUDA-X.Y

    Другие Unix

    /usr/local/cuda-X.Y

    Windows

    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y

    Где X.Y — конкретная версия CUDA Toolkit, например /usr/local/cuda-9.0 или C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

    Примечание

    Если на системе установлено несколько CUDA Toolkit в стандартном месте (например, существуют как /usr/local/cuda-9.0 и /usr/local/cuda-10.0, но символическая ссылка /usr/local/cuda не существует), этот пакет считается не найденным.

    Слишком много факторов участвуют в принятии автоматического решения в случае установки нескольких CUDA Toolkit. В этой ситуации пользователям рекомендуется либо (1) установить CUDAToolkit_ROOT, либо (2) убедиться, что правильный исполняемый файл nvcc отображается в $PATH для того, чтобы find_program() нашёл его.

Аргументы

[<version>]

Аргумент [<version>] запрашивает версию, с которой должен быть совместим найденный пакет. Для получения дополнительных сведений см. формат версии find_package.

Опции

REQUIRED

Если указано, конфигурация выдаст ошибку, если подходящий CUDA Toolkit не будет найден.

QUIET

Если указано, поиск подходящего CUDA Toolkit не будет сопровождаться сообщениями.

EXACT

Если указано, CUDA Toolkit считается найденным только в том случае, если найдена точно указанная VERSION.

Импортированные цели

Предоставлена импортированная цель с именем CUDA::toolkit.

Этот модуль определяет IMPORTED цели для каждой из следующих библиотек, которые входят в состав CUDAToolkit:

  • Библиотека CUDA Runtime
  • Библиотека CUDA Driver
  • cuBLAS
  • cuFFT
  • cuRAND
  • cuSOLVER
  • cuSPARSE
  • cuPTI
  • NPP
  • nvBLAS
  • nvGRAPH
  • nvJPEG
  • nvidia-ML
  • nvRTC
  • nvToolsExt
  • OpenCL
  • cuLIBOS

Библиотека CUDA Runtime

Библиотека CUDA Runtime (cudart) — та, с которой обычно связываются приложения для выполнения вызовов, таких как cudaMalloc, и cudaFree.

Созданные цели:

  • CUDA::cudart
  • CUDA::cudart_static

Библиотека CUDA Driver

Библиотека CUDA Driver (cuda) используется приложениями, которые используют вызовы, такие как cuMemAlloc, и cuMemFree. Как правило, она используется в продвинутых

Созданные цели:

  • CUDA::cuda_driver
  • CUDA::cuda_driver

cuBLAS

Библиотека cuBLAS.

Созданные цели:

  • CUDA::cublas
  • CUDA::cublas_static
  • CUDA::cublasLt начиная с CUDA 10.1
  • CUDA::cublasLt_static начиная с CUDA 10.1

cuFFT

Библиотека cuFFT.

Созданные цели:

  • CUDA::cufft
  • CUDA::cufftw
  • CUDA::cufft_static
  • CUDA::cufftw_static

cuRAND

Библиотека cuRAND.

Созданные цели:

  • CUDA::curand
  • CUDA::curand_static

cuSOLVER

Библиотека cuSOLVER.

Созданные цели:

  • CUDA::cusolver
  • CUDA::cusolver_static

cuSPARSE

Библиотека cuSPARSE.

Созданные цели:

  • CUDA::cusparse
  • CUDA::cusparse_static

cupti

Интерфейс инструментов профилирования NVIDIA CUDA .

Созданные цели:

  • CUDA::cupti
  • CUDA::cupti_static

NPP

Библиотеки NPP.

Созданные цели:

  • nppc:

    • CUDA::nppc
    • CUDA::nppc_static
  • nppial: Функции арифметических и логических операций в nppi_arithmetic_and_logical_operations.h

    • CUDA::nppial
    • CUDA::nppial_static
  • nppicc: Функции преобразования и выборки цвета в nppi_color_conversion.h

    • CUDA::nppicc
    • CUDA::nppicc_static
  • nppicom: Функции сжатия и распаковки JPEG в nppi_compression_functions.h Удалено начиная с CUDA 11.0, используйте nvJPEG вместо этого.

    • CUDA::nppicom
    • CUDA::nppicom_static
  • nppidei: Функции обмена данными и инициализации в nppi_data_exchange_and_initialization.h

    • CUDA::nppidei
    • CUDA::nppidei_static
  • nppif: Функции фильтрации и компьютерного зрения в nppi_filter_functions.h

    • CUDA::nppif
    • CUDA::nppif_static
  • nppig: Функции преобразования геометрии, найденные в nppi_geometry_transforms.h

    • CUDA::nppig
    • CUDA::nppig_static
  • nppim: Функции морфологических операций, найденные в nppi_morphological_operations.h

    • CUDA::nppim
    • CUDA::nppim_static
  • nppist: Статистические и линейные преобразования в nppi_statistics_functions.h и nppi_linear_transforms.h

    • CUDA::nppist
    • CUDA::nppist_static
  • nppisu: Функции поддержки памяти в nppi_support_functions.h

    • CUDA::nppisu
    • CUDA::nppisu_static
  • nppitc: Функции порогового значения и сравнения в nppi_threshold_and_compare_operations.h

    • CUDA::nppitc
    • CUDA::nppitc_static
  • npps:

    • CUDA::npps
    • CUDA::npps_static

nvBLAS

Библиотеки nvBLAS. Это только библиотека общего доступа.

Созданные целевые функции:

  • CUDA::nvblas

nvGRAPH

Библиотека nvGRAPH. Удалено начиная с CUDA 11.0.

Созданные целевые функции:

  • CUDA::nvgraph
  • CUDA::nvgraph_static

nvJPEG

Библиотека nvJPEG. Введена в CUDA 10.

Созданные целевые функции:

  • CUDA::nvjpeg
  • CUDA::nvjpeg_static

nvRTC

Библиотека nvRTC (компиляция во время выполнения). Это только библиотека общего доступа.

Созданные целевые функции:

  • CUDA::nvrtc

nvidia-ML

Библиотека NVIDIA Management Library. Это только библиотека общего доступа.

Созданные целевые функции:

  • CUDA::nvml

nvToolsExt

Расширение NVIDIA Tools Extension. Это только библиотека общего доступа.

Созданные целевые функции:

  • CUDA::nvToolsExt

OpenCL

Библиотека NVIDIA OpenCL Library. Это только библиотека общего доступа.

Созданные целевые функции:

  • CUDA::OpenCL

cuLIBOS

Библиотека cuLIBOS — это библиотека абстракции потоков заднего плана, которая является только статической. CUDA::cublas_static, CUDA::cusparse_static, CUDA::cufft_static, CUDA::curand_static, и (при реализации) библиотеки NPP автоматически имеют эту зависимость, связанную.

Созданная целевая функция:

  • CUDA::culibos

Примечание: прямое использование этой целевой функции потребителями не должно быть необходимым.

Переменные результатов

CUDAToolkit_FOUND

Булево значение, указывающее, найдено ли CUDA Toolkit.

CUDAToolkit_VERSION

Точная версия CUDA Toolkit, найденная (как указано nvcc --version или version.txt).

CUDAToolkit_VERSION_MAJOR

Основная версия CUDA Toolkit.

CUDAToolkit_VERSION_MINOR

Дополнительная версия CUDA Toolkit.

CUDAToolkit_VERSION_PATCH

Версия исправления CUDA Toolkit.

CUDAToolkit_BIN_DIR

Путь к каталогу библиотеки CUDA Toolkit, содержащему исполняемый файл CUDA nvcc.

CUDAToolkit_INCLUDE_DIRS

Путь к папке include CUDA Toolkit, содержащей заголовочные файлы, необходимые для компиляции проекта, связанного с CUDA.

CUDAToolkit_LIBRARY_DIR

Путь к каталогу библиотек CUDA Toolkit, содержащему библиотеку CUDA Runtime cudart.

CUDAToolkit_LIBRARY_ROOT

Введено в версии 3.18.

Путь к каталогу CUDA Toolkit, содержащему каталог nvvm и файл version.txt.

CUDAToolkit_TARGET_DIR

Путь к каталогу CUDA Toolkit, включая целевую архитектуру при кросс-компиляции. При отсутствии кросс-компиляции этот путь эквивалентен родительскому каталогу CUDAToolkit_BIN_DIR.

CUDAToolkit_NVCC_EXECUTABLE

Путь к компилятору NVIDIA CUDA nvcc. Обратите внимание, что этот путь может отличаться от CMAKE_CUDA_COMPILER. nvcc необходимо найти для определения версии CUDA Toolkit, а также для определения других функций Toolkit. Эта переменная задается для удобства модулей, зависящих от этой.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/module/FindCUDAToolkit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API