|
| 1 | +if (WIN32) |
| 2 | + message(FATAL_ERROR "Not teste on Windows OS") |
| 3 | +endif() |
| 4 | + |
| 5 | +# pas encore bon dans |
| 6 | +# => /usr/share/cmake/Modules/CMakeDetermineHIPCompiler.cmake |
| 7 | +# => /usr/lib64/cmake/hip-lang/hip-lang-config.cmake vs /usr/local/lib64/cmake/hip-lang/hip-lang-config.cmake |
| 8 | +# hipcc -v -print-targets | grep "Found HIP installation" => mauvais? |
| 9 | +# /usr/lib64/llvm18/bin/clang++ -v -print-targets | grep "Found HIP installation" => mauvais !!! |
| 10 | +# clang-18 -v -print-targets | grep "Found HIP installation" => OK |
| 11 | +# hipconfig --rocmpath => OK => on va le forcer |
| 12 | + |
| 13 | +# forcer la dernier methode... |
| 14 | +if(NOT CMAKE_HIP_COMPILER_ROCM_ROOT) |
| 15 | + execute_process( |
| 16 | + COMMAND hipconfig --rocmpath |
| 17 | + OUTPUT_VARIABLE _CMAKE_HIPCONFIG_ROCMPATH |
| 18 | + RESULT_VARIABLE _CMAKE_HIPCONFIG_RESULT |
| 19 | + ) |
| 20 | + if(_CMAKE_HIPCONFIG_RESULT EQUAL 0 AND EXISTS "${_CMAKE_HIPCONFIG_ROCMPATH}") |
| 21 | + set(CMAKE_HIP_COMPILER_ROCM_ROOT "${_CMAKE_HIPCONFIG_ROCMPATH}") |
| 22 | + endif() |
| 23 | +endif() |
| 24 | + |
| 25 | +# Forward AMDGPU_TARGETS to CMAKE_HIP_ARCHITECTURES. |
| 26 | +if (AMDGPU_TARGETS AND NOT CMAKE_HIP_ARCHITECTURES) |
| 27 | + set(CMAKE_HIP_ARCHITECTURES ${AMDGPU_TARGETS}) |
| 28 | +endif() |
| 29 | +cmake_minimum_required(VERSION 3.21) |
| 30 | + |
| 31 | +enable_language(HIP) |
| 32 | + |
| 33 | +find_package(hip REQUIRED) |
| 34 | + |
| 35 | +# pas testé d'autre version... |
| 36 | +if (${hip_VERSION} VERSION_LESS 6.2) |
| 37 | + message(FATAL_ERROR "At least ROCM/HIP V6.2 is required") |
| 38 | +endif() |
| 39 | + |
| 40 | +message(STATUS "HIP found") |
| 41 | + |
| 42 | +set(TARGET_NAME ggml-igpu) |
| 43 | + |
| 44 | +file(GLOB GGML_SOURCES_ROCM "ggml-igpu.cpp") |
| 45 | +#file(GLOB SRCS "*.hip") |
| 46 | +#list(APPEND GGML_SOURCES_ROCM ${SRCS}) |
| 47 | + |
| 48 | +ggml_add_backend_library(${TARGET_NAME} |
| 49 | + ../../include/ggml-igpu.h |
| 50 | + ${GGML_SOURCES_ROCM} |
| 51 | + ) |
| 52 | + |
| 53 | +add_compile_definitions(GGML_USE_IGPU) |
| 54 | + |
| 55 | +set_source_files_properties(${GGML_SOURCES_ROCM} PROPERTIES LANGUAGE HIP) |
| 56 | + |
| 57 | +if (GGML_STATIC) |
| 58 | + message(FATAL_ERROR "Static linking not supported for HIP/ROCm") |
| 59 | +endif() |
| 60 | + |
| 61 | +target_link_libraries(${TARGET_NAME} PRIVATE ggml-base hip::host) |
0 commit comments