|
1 | 1 | cmake_minimum_required(VERSION 3.18) |
2 | | -project(InfiniOps LANGUAGES CXX) |
| 2 | +project(InfiniOps VERSION 0.1.0 LANGUAGES CXX) |
| 3 | + |
| 4 | +include(GNUInstallDirs) |
3 | 5 |
|
4 | 6 | if(POLICY CMP0116) |
5 | 7 | cmake_policy(SET CMP0116 NEW) |
@@ -32,6 +34,7 @@ option(BUILD_CUSTOM_KERNEL "Build custom AscendC kernel PyTorch extension (requi |
32 | 34 |
|
33 | 35 | option(AUTO_DETECT_DEVICES "Automatically detect available devices" OFF) |
34 | 36 | option(AUTO_DETECT_BACKENDS "Automatically detect available backends" OFF) |
| 37 | +option(GENERATE_CPP_OPERATOR_API "Generate public C++ operator API" ON) |
35 | 38 | option(GENERATE_PYTHON_BINDINGS "Generate Python bindings" OFF) |
36 | 39 |
|
37 | 40 | set(_DEFAULT_HYGON_DTK_ROOT "/opt/dtk") |
@@ -309,10 +312,13 @@ if(WITH_ILUVATAR) |
309 | 312 | if(NOT ILUVATAR_CUDA_COMPILER) |
310 | 313 | message(FATAL_ERROR "`WITH_ILUVATAR` is `ON` but CoreX `clang++` was not found.") |
311 | 314 | endif() |
| 315 | + get_filename_component(ILUVATAR_CUDA_BIN_DIR "${ILUVATAR_CUDA_COMPILER}" DIRECTORY) |
| 316 | + get_filename_component(ILUVATAR_CUDA_ROOT "${ILUVATAR_CUDA_BIN_DIR}/.." ABSOLUTE) |
| 317 | + set(CUDAToolkit_ROOT "${ILUVATAR_CUDA_ROOT}" CACHE PATH "Iluvatar CoreX toolkit root") |
312 | 318 | set(ILUVATAR_CUDA_FLAGS |
313 | | - "--cuda-gpu-arch=${ILUVATAR_ARCH};-fPIC;-Wno-error=unused-variable;-Wno-error=unused-private-field;-Wno-unused-variable;-std=c++17;--cuda-path=/usr/local/corex;-x;ivcore" |
| 319 | + "--cuda-gpu-arch=${ILUVATAR_ARCH};-fPIC;-Wno-error=unused-variable;-Wno-error=unused-private-field;-Wno-unused-variable;-std=c++17;--cuda-path=${ILUVATAR_CUDA_ROOT};-x;ivcore" |
314 | 320 | CACHE STRING "Iluvatar CUDA compiler flags") |
315 | | - message(STATUS "Iluvatar: CUDA compiler ${ILUVATAR_CUDA_COMPILER}, arch ${ILUVATAR_ARCH}") |
| 321 | + message(STATUS "Iluvatar: CUDA compiler ${ILUVATAR_CUDA_COMPILER}, arch ${ILUVATAR_ARCH}, toolkit ${ILUVATAR_CUDA_ROOT}") |
316 | 322 | find_package(CUDAToolkit REQUIRED) |
317 | 323 | endif() |
318 | 324 |
|
@@ -430,6 +436,7 @@ if(WITH_MOORE) |
430 | 436 | find_library(MUSA_LIB NAMES musa HINTS "${MUSA_ROOT}/lib" REQUIRED) |
431 | 437 | find_library(MUSART_LIB NAMES musart HINTS "${MUSA_ROOT}/lib" REQUIRED) |
432 | 438 | find_library(MUBLAS_LIB NAMES mublas HINTS "${MUSA_ROOT}/lib" REQUIRED) |
| 439 | + find_library(MUSA_OPENMP_LIB NAMES omp iomp5 HINTS "${MUSA_ROOT}/lib" REQUIRED) |
433 | 440 | endif() |
434 | 441 |
|
435 | 442 | if(WITH_CAMBRICON) |
@@ -464,6 +471,7 @@ endif() |
464 | 471 |
|
465 | 472 | # If all other platforms are not enabled, CPU is enabled by default. |
466 | 473 | if(NOT WITH_NVIDIA AND NOT WITH_ILUVATAR AND NOT WITH_HYGON AND NOT WITH_METAX AND NOT WITH_MOORE AND NOT WITH_CAMBRICON AND NOT WITH_ASCEND) |
| 474 | + set(WITH_CPU ON CACHE BOOL "Enable CPU backend" FORCE) |
467 | 475 | add_compile_definitions(WITH_CPU=1) |
468 | 476 | endif() |
469 | 477 |
|
|
0 commit comments