Spec-Zone.ru › CMake 3.27

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 или version.json.

  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
  • cuDLA
  • cuFile
  • cuFFT
  • cuRAND
  • cuSOLVER
  • cuSPARSE
  • cuPTI
  • NPP
  • nvBLAS
  • nvGRAPH
  • nvJPEG
  • nvidia-ML
  • Компилятор nvPTX
  • nvRTC
  • nvToolsExt
  • nvtx3
  • OpenCL
  • cuLIBOS

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

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

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

  • CUDA::cudart
  • CUDA::cudart_static

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

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

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

  • CUDA::cuda_driver

cuBLAS

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

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

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

cuDLA

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

Библиотека NVIDIA Tegra Deep Learning Accelerator cuDLA.

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

  • CUDA::cudla начиная с CUDA 11.6

cuFile

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

Библиотека NVIDIA GPUDirect Storage cuFile.

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

  • CUDA::cuFile начиная с CUDA 11.4
  • CUDA::cuFile_static начиная с CUDA 11.4
  • CUDA::cuFile_rdma начиная с CUDA 11.4
  • CUDA::cuFile_rdma_static начиная с CUDA 11.4

cuFFT

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

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

  • CUDA::cufft
  • CUDA::cufftw
  • CUDA::cufft_static
  • CUDA::cufft_static_nocallback начиная с CUDA 9.2, требует CMake 3.23+
  • 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

Новое в версии 3.27:

  • CUDA::nvperf_host начиная с CUDA 10.2
  • CUDA::nvperf_host_static начиная с CUDA 10.2
  • CUDA::nvperf_target начиная с CUDA 10.2
  • CUDA::pcsamplingutil начиная с CUDA 11.3

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

nvPTX Компилятор

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

Библиотека nvPTX (PTX компиляция). API компилятора PTX — это набор API, которые могут быть использованы для компиляции программы PTX в ассемблерный код GPU. Введена в CUDA 11.1. Это только статическая библиотека.

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

  • CUDA::nvptxcompiler_static начиная с CUDA 11.1

nvRTC

Библиотека nvRTC (компиляция во время выполнения).

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

  • CUDA::nvrtc

Новое в версии 3.26:

  • CUDA::nvrtc_builtins
  • CUDA::nvrtc_static начиная с CUDA 11.5
  • CUDA::nvrtc_builtins_static начиная с CUDA 11.5

nvJitLink

Библиотека nvJItLink (связывание LTO во время выполнения).

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

  • CUDA::nvJitLink начиная с CUDA 12.0
  • CUDA::nvJitLink_static начиная с CUDA 12.0

nvidia-ML

Библиотека NVIDIA Management Library. Это только библиотека динамической загрузки.

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

  • CUDA::nvml

nvToolsExt

Устарело с версии 3.25: С CUDA 10.0+, используйте nvtx3.

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

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

  • CUDA::nvToolsExt

nvtx3

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

Только заголовочная библиотека расширений инструментов NVIDIA. Введена в CUDA 10.0.

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

  • CUDA::nvtx3

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, version.txt, или version.json).

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 Runtime cudart.

CUDAToolkit_LIBRARY_ROOT

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

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

CUDAToolkit_TARGET_DIR

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

CUDAToolkit_NVCC_EXECUTABLE

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

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

Spec-Zone.ru

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