Spec-Zone.ru › CMake 3.18

FindCUDAToolkit

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

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

Для поиска 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
  • 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 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 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 (компиляция в runtime). Это только библиотека динамической подгрузки.

Созданные целевые объекты:

  • 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).

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

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

CUDAToolkit_LIBRARY_DIR

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

CUDAToolkit_LIBRARY_ROOT

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

CUDAToolkit_TARGET_DIR

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

CUDAToolkit_NVCC_EXECUTABLE

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

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

Spec-Zone.ru

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