Spec-Zone.ru › CMake 3.22

FindCUDAToolkit

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

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

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

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

Поиск CUDA Toolkit использует следующий порядок:

  1. Если язык CUDA включен, мы будем использовать директорию, содержащую компилятор, как первую точку поиска для nvcc.
  2. Если переменная конфигурации CUDAToolkit_ROOT CMake (например, -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 Profiling Tools.

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

  • 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 Compilation). Это только библиотека динамической компоновки.

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

  • CUDA::nvrtc

nvidia-ML

Библиотека NVIDIA Management Library. Это только библиотека динамической компоновки.

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

  • CUDA::nvml

nvToolsExt

Расширение инструментов NVIDIA. Это только библиотека динамической компоновки.

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

  • CUDA::nvToolsExt

OpenCL

Библиотека NVIDIA OpenCL. Это только библиотека динамической компоновки.

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

  • 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 или %%%CODE_BLOCK_121%%).

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

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

CUDAToolkit_LIBRARY_DIR

Путь к каталогу библиотеки CUDA Toolkit, содержащему библиотеку времени выполнения CUDA 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.22/module/FindCUDAToolkit.html

Spec-Zone.ru

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