Spec-Zone.ru › CMake 3.17

FindCUDAToolkit

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

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

Для поиска CUDA Toolkit необходимо найти исполняемый файл nvcc, который ищется в следующем порядке:

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

    Указанный каталог должен быть таким, чтобы исполняемый файл nvcc мог быть найден в каталоге, указанном CUDAToolkit_ROOT. Если CUDAToolkit_ROOT указана, но nvcc не найдено в подкаталоге, этот пакет помечается как не найденный. Дальнейшие попытки поиска не выполняются.

  3. Если переменная среды CUDA_PATH определена, она будет проверена.
  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

Если указано, описывает версию CUDA Toolkit для поиска.

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

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 Profiling Tools Interface.

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

  • 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::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::nvgraph
  • CUDA::nvgraph_static

nvJPEG

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

Созданные целевые платформы:

  • CUDA::nvjpeg
  • CUDA::nvjpeg_static

nvRTC

Библиотека nvRTC (Runtime Compilation). Это только библиотека общего использования.

Созданные целевые платформы:

  • CUDA::nvrtc

nvidia-ML

Библиотека управления NVIDIA NVIDIA Management Library. Это только библиотека общего использования.

Созданные целевые платформы:

  • CUDA::nvml

nvToolsExt

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

Созданные целевые платформы:

  • CUDA::nvToolsExt

OpenCL

Библиотека NVIDIA OpenCL NVIDIA OpenCL Library. Это только библиотека общего использования.

Созданные целевые платформы:

  • CUDA::OpenCL

cuLIBOS

Библиотека cuLIBOS — это библиотека абстракции потоков уровня back-end, которая является только статической. 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).

CUDAToolkit_VERSION_MAJOR

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

CUDAToolkit_VERSION_MAJOR

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

CUDAToolkit_VERSION_PATCH

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

CUDAToolkit_BIN_DIR

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

CUDAToolkit_INCLUDE_DIRS

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

CUDAToolkit_LIBRARY_DIR

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

CUDAToolkit_TARGET_DIR

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

CUDAToolkit_NVCC_EXECUTABLE

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

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

Spec-Zone.ru

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