@@ -5,6 +5,7 @@ message(STATUS "Project " ${PROJECT_NAME} " version " ${PROJECT_VERSION})
55option (ABSL_PROPAGATE_CXX_STD "Abseil need this option" ON )
66option (USE_CUDA "Support Nvidia GPU" OFF )
77option (USE_KUNLUN "Support Baidu Kunlunxin" OFF )
8+ option (USE_BANG "Support Hanwuji MLU" OFF )
89
910set (CMAKE_CXX_STANDARD 20)
1011set (CMAKE_CXX_STANDARD_REQUIRED ON )
@@ -41,6 +42,38 @@ if(USE_KUNLUN)
4142 message (STATUS "KUNLUN_HOME: ${KUNLUN_HOME} " )
4243endif ()
4344
45+ if (USE_BANG)
46+ add_compile_definitions (USE_BANG)
47+ include_directories (src/kernels/mlu/include )
48+
49+ # Neuware Evironment
50+ if ((NOT DEFINED NEUWARE_HOME) AND (NOT DEFINED ENV{NEUWARE_HOME}))
51+ message (FATAL_ERROR "NEUWARE_HOME is not defined from cmake or env" )
52+ elseif (DEFINED NEUWARE_HOME)
53+ set (NEUWARE_HOME ${NEUWARE_HOME} CACHE STRING "NEUWARE_HOME directory for Cambricon Neuware development" )
54+ else ()
55+ set (NEUWARE_HOME $ENV{NEUWARE_HOME} CACHE STRING "NEUWARE_HOME directory for Cambricon Neuware development" )
56+ endif ()
57+ message (STATUS "NEUWARE_HOME: ${NEUWARE_HOME} " )
58+
59+ # cnrt cndrv cnnl
60+ include_directories ("${NEUWARE_HOME} /include" )
61+ find_library (CAMBRICON_CNNL libcnnl.so "${NEUWARE_HOME} /lib64" )
62+ find_library (CAMBRICON_CNRT libcnrt.so "${NEUWARE_HOME} /lib64" )
63+ find_library (CAMBRICON_CNDRV libcndrv.so "${NEUWARE_HOME} /lib64" )
64+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lstdc++ -Wall" )
65+
66+ if ((NOT DEFINED TARGET_CPU_ARCH) AND (NOT DEFINED ENV{TARGET_CPU_ARCH}))
67+ execute_process (COMMAND uname -m OUTPUT_VARIABLE _uname_m OUTPUT_STRIP_TRAILING_WHITESPACE)
68+ set (TARGET_CPU_ARCH "${_uname_m} " CACHE STRING "Target CPU ARCH" )
69+ elseif (DEFINED TARGET_CPU_ARCH)
70+ set (TARGET_CPU_ARCH ${TARGET_CPU_ARCH} CACHE STRING "Target CPU ARCH" )
71+ else ()
72+ set (TARGET_CPU_ARCH $ENV{TARGET_CPU_ARCH} CACHE STRING "Target CPU ARCH" )
73+ endif ()
74+ message (STATUS "TARGET_CPU_ARCH: ${TARGET_CPU_ARCH} " )
75+ endif ()
76+
4477add_compile_options (-march=native) # this will cause error in some machine
4578add_compile_options (-mtune=native)
4679add_compile_options (-Wall)
@@ -72,4 +105,5 @@ add_subdirectory(src/05computation)
72105add_subdirectory (src/06frontend)
73106add_subdirectory (src/07onnx)
74107add_subdirectory (src/08communication)
108+ add_subdirectory (src/08-01llm)
75109add_subdirectory (src/09python_ffi)
0 commit comments