Cmake не видит OpenCL

Я пытаюсь установить OpenCL для БИГЛЬ. Сначала я скачал intel_sdk_for_opencl_applications_2020.3.494.tar.gz из здесь. Затем я разархивировал его и запустил install.sh. Установка прошла успешно. У меня установлен BEAGLE, поэтому я решил перейти в папку строить в бигль-либ и запустить cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME .., чтобы продолжить запуск make install, но получаю следующее сообщение:

-- JAVA_HOME=
-- JNI_INCLUDE_DIRS=/usr/lib/jvm/java/include;/usr/lib/jvm/java/include/linux;/usr/lib/jvm/java/include
-- JNI_LIBRARIES=/usr/lib/jvm/java/lib/libjawt.so;/usr/lib/jvm/java/lib/server/libjvm.so
-- Not using libtools for plugins
-- Could NOT find OpenCL (missing: OpenCL_LIBRARY OpenCL_INCLUDE_DIR)
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY)
-- Configuring done
-- Generating done
-- Build files have been written to: /export/home/rinkman/beagle-lib/build

Я попытался установить переменные среды и оболочки в

OpenCL_LIBRARY=~/intel/system_studio_2020/opencl/SDK/include/CL/cl.h

OpenCL_INCLUDE_DIR=True

Но результат запуска cmake тот же. Я проверил, что переменные были настроены правильно. Так и не могу понять что не так. Я хочу использовать инфраструктуру OpenCL в BEAGLE, когда запускаю программное обеспечение BEAST 2. Пожалуйста, может ли кто-нибудь помочь с этим?

P.S. Я новичок в Linux.

Мой результат бега beast -beagle-info:

                        BEAST v2.6.6, 2002-2021
             Bayesian Evolutionary Analysis Sampling Trees
                       Designed and developed by
 Remco Bouckaert, Alexei J. Drummond, Andrew Rambaut & Marc A. Suchard

                   Centre for Computational Evolution
                         University of Auckland
                       [email protected]
                        [email protected]

                   Institute of Evolutionary Biology
                        University of Edinburgh
                           [email protected]

                    David Geffen School of Medicine
                 University of California, Los Angeles
                           [email protected]

                      Downloads, Help & Resources:
                           http://beast2.org/

  Source code distributed under the GNU Lesser General Public License:
                   http://github.com/CompEvol/beast2

                           BEAST developers:
   Alex Alekseyenko, Trevor Bedford, Erik Bloomquist, Joseph Heled,
 Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li,
Gerton Lunter, Sidney Markowitz, Vladimir Minin, Michael Defoin Platel,
          Oliver Pybus, Tim Vaughan, Chieh-Hsi Wu, Walter Xie

                               Thanks to:
          Roald Forsberg, Beth Shapiro and Korbinian Strimmer


--- BEAGLE RESOURCES ---

0 : CPU
    Flags: PRECISION_SINGLE PRECISION_DOUBLE COMPUTATION_SYNCH EIGEN_REAL EIGEN_COMPLEX SCALING_MANUAL SCALING_AUTO SCALING_ALWAYS SCALERS_RAW SCALERS_LOG VECTOR_SSE VECTOR_NONE THREADING_NONE PROCESSOR_CPU FRAMEWORK_CPU

Один на моем компьютере с Windows для сравнения:

                        BEAST v2.6.6, 2002-2021
             Bayesian Evolutionary Analysis Sampling Trees
                       Designed and developed by
 Remco Bouckaert, Alexei J. Drummond, Andrew Rambaut & Marc A. Suchard

                   Centre for Computational Evolution
                         University of Auckland
                       [email protected]
                        [email protected]

                   Institute of Evolutionary Biology
                        University of Edinburgh
                           [email protected]

                    David Geffen School of Medicine
                 University of California, Los Angeles
                           [email protected]

                      Downloads, Help & Resources:
                           http://beast2.org/

  Source code distributed under the GNU Lesser General Public License:
                   http://github.com/CompEvol/beast2

                           BEAST developers:
   Alex Alekseyenko, Trevor Bedford, Erik Bloomquist, Joseph Heled,
 Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li,
Gerton Lunter, Sidney Markowitz, Vladimir Minin, Michael Defoin Platel,
          Oliver Pybus, Tim Vaughan, Chieh-Hsi Wu, Walter Xie

                               Thanks to:
          Roald Forsberg, Beth Shapiro and Korbinian Strimmer


--- BEAGLE RESOURCES ---

0 : CPU
    Flags: PRECISION_SINGLE PRECISION_DOUBLE COMPUTATION_SYNCH EIGEN_REAL EIGEN_COMPLEX SCALING_MANUAL SCALING_AUTO SCALING_ALWAYS SCALERS_RAW SCALERS_LOG VECTOR_SSE VECTOR_NONE THREADING_NONE PROCESSOR_CPU FRAMEWORK_CPU

1 : NVIDIA GeForce 940MX
    Global memory (MB): 2048
    Clock speed (Ghz): 1.19
    Number of cores: 384
    Flags: PRECISION_SINGLE PRECISION_DOUBLE COMPUTATION_SYNCH COMPUTATION_ASYNCH EIGEN_REAL EIGEN_COMPLEX SCALING_MANUAL SCALING_AUTO SCALING_ALWAYS SCALERS_RAW SCALERS_LOG VECTOR_NONE THREADING_NONE PROCESSOR_GPU FRAMEWORK_CUDA

2 : Intel(R) HD Graphics 620 (OpenCL 2.1 )
    Global memory (MB): 3219
    Clock speed (Ghz): 1.00
    Number of compute units: 24
    Flags: PRECISION_SINGLE PRECISION_DOUBLE COMPUTATION_SYNCH COMPUTATION_ASYNCH EIGEN_REAL EIGEN_COMPLEX SCALING_MANUAL SCALING_AUTO SCALING_ALWAYS SCALERS_RAW SCALERS_LOG VECTOR_NONE THREADING_NONE PROCESSOR_GPU FRAMEWORK_OPENCL

3 : Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (OpenCL 2.1 (Build 10))
    Global memory (MB): 8067
    Clock speed (Ghz): 2.50
    Number of compute units: 4
    Flags: PRECISION_SINGLE PRECISION_DOUBLE COMPUTATION_SYNCH COMPUTATION_ASYNCH EIGEN_REAL EIGEN_COMPLEX SCALING_MANUAL SCALING_AUTO SCALING_ALWAYS SCALERS_RAW SCALERS_LOG VECTOR_NONE THREADING_NONE PROCESSOR_CPU FRAMEWORK_OPENCL

Задайте для переменной CMAKE_PREFIX_PATH установочный префикс OpenCL (тот, который вы передали CMAKE_INSTALL_PREFIX при установке библиотеки). Таким образом, сам CMake должен установить переменные OpenCL_LIBRARY и OpenCL_INCLUDE_DIR. Это переменные CMake, поэтому устанавливать их в Окружающая среда не имеет смысла. См. также этот вопрос: stackoverflow.com/questions/34795816/…

Tsyvarev 17.03.2022 14:23

@Tsyvarev: CMAKE_INSTALL_PREFIX это место, где в конечном итоге должна быть установлена ​​​​сборка к, а не место, где искать зависимости.

DevSolar 17.03.2022 14:24
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
39
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Could NOT find OpenCL (missing: OpenCL_LIBRARY OpenCL_INCLUDE_DIR)

Это означает, что переменные CMakeOpenCL_LIBRARY и OpenCL_INCLUDE_DIR отсутствуют, так как OpenCL найти не удалось.

Установка этих двух переменных среды ничего не меняет.

Вам нужно сообщить CMake, где находятся вещи, если они не установлены в стандартные каталоги (как это происходит с вашей установкой OpenCL).

Попробуйте добавить -DOCL_ROOT=path/to/base/of/your/OpenCL к вашему вызову CMake, чтобы получить подсказку для конкретного пакета, или -DCMAKE_LIBRARY_PATH=path/to/..., чтобы CMake выполнил поиск по этому пути (в дополнение к стандартным путям) пакета Любые, который он может искать. Убедитесь, что вы заранее очистили все кэшированные файлы, чтобы CMake работал без ошибок и не использовал кэшированные значения.

Ответ принят как подходящий

Решение состояло в том, чтобы установить переменные через -D в cmake как cmake -DOpenCL_INCLUDE_DIR=~/intel/system_studio_2020/opencl/SDK/include/ -DOpenCL_LIBRARY=~/intel/system_studio_2020/opencl/SDK/lib64/libOpenCL.so.1.2 -DCMAKE_INSTALL_PREFIX:PATH=$HOME ... После этого компиляция прошла успешно. make test выполнилось без проблем. Я обнаружил файл libhmsbeagle-opencl.so.40.0.0 в папке ~/библиотека.

Это обходной путь, а не решение.

DevSolar 18.03.2022 08:13

Другие вопросы по теме