Spec-Zone.ru › CMake 3.20

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(). Если найдено, то дальнейшие попытки поиска не выполняются. Пользователи отвечают за обеспечение того, чтобы первым в пути был нужный путь в случае установки нескольких 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
  • Библиотека драйвера CUDA
  • cuBLAS
  • cuFFT
  • cuRAND
  • cuSOLVER
  • cuSPARSE
  • cuPTI
  • NPP
  • nvBLAS
  • nvGRAPH
  • nvJPEG
  • nvidia-ML
  • nvRTC
  • nvToolsExt
  • OpenCL
  • cuLIBOS

Библиотека выполнения CUDA

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

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

  • CUDA::cudart
  • CUDA::cudart_static

Библиотека драйвера CUDA

Библиотека драйвера CUDA (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_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

Введено в версии 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.20/module/FindCUDAToolkit.html

Spec-Zone.ru

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