Skip to content

Commit

Permalink
Rename bestla target (intel#55)
Browse files Browse the repository at this point in the history
  • Loading branch information
luoyu-intel authored Jan 16, 2024
1 parent 749caca commit d82a30b
Show file tree
Hide file tree
Showing 19 changed files with 53 additions and 320 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/unit-test-bestla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
pull_request:
branches: [main]
paths:
- bestla/**"
- bestla/**
- .github/workflows/unit-test-bestla.yml
- '!bestla/README.md'
workflow_dispatch:
Expand Down
92 changes: 25 additions & 67 deletions bestla/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,87 +21,53 @@ option(BTLA_UT_NOASAN "Disable sanitize" OFF)
option(BTLA_UT_BENCHMARK "Benchmark ON may take a long time to finish all tests" OFF)
option(BTLA_UT_OPENMP "Use OpenMP" ON)

if(BTLA_UT_ALL)
set(BTLA_UT_EPILOGUE ON)
set(BTLA_UT_PROLOGUE_A ON)
set(BTLA_UT_PROLOGUE_B ON)
set(BTLA_UT_GEMM ON)
set(BTLA_UT_WRAPPER ON)
set(BTLA_UT_PARALLEL ON)
set(BTLA_UT_KERNEL_JIT ON)
set(BTLA_UT_KERNEL_INTRIN ON)
set(BTLA_UT_KERNEL_WRAPPER ON)
endif(BTLA_UT_ALL)

set(UT_BUILD FALSE)
if(BTLA_UT_DEBUG OR BTLA_UT_PROLOGUE_A OR BTLA_UT_PROLOGUE_B OR BTLA_UT_EPILOGUE OR BTLA_UT_GEMM
OR BTLA_UT_WRAPPER OR BTLA_UT_PARALLEL OR BTLA_UT_KERNEL_JIT OR BTLA_UT_KERNEL_INTRIN
OR BTLA_UT_KERNEL_WRAPPER)
set(UT_BUILD TRUE)
endif()

include(GNUInstallDirs)
add_library(${PROJECT_NAME} INTERFACE)
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})

if(BTLA_USE_OPENMP)
message(STATUS "BesTLA using OpenMP")
target_compile_definitions(${PROJECT_NAME} INTERFACE BTLA_USE_OPENMP)
endif(BTLA_USE_OPENMP)

add_library(neural_speed::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
target_include_directories(
${PROJECT_NAME} INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)

install(
TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}-targets
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
)

include(CMakePackageConfigHelpers)
configure_package_config_file(
cmake/config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
COMPATIBILITY SameMajorVersion
)

install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)

install(
EXPORT ${PROJECT_NAME}-targets
NAMESPACE ${PROJECT_NAME}::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
if(BTLA_USE_OPENMP)
message(STATUS "BesTLA using OpenMP")
target_compile_definitions(${PROJECT_NAME} INTERFACE BTLA_USE_OPENMP)
endif(BTLA_USE_OPENMP)

if(WIN32)
target_compile_definitions(${PROJECT_NAME} INTERFACE _CRT_SECURE_NO_WARNINGS NOMINMAX)
endif(WIN32)



set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_17)

if(BTLA_UT_ALL)
set(BTLA_UT_EPILOGUE ON)
set(BTLA_UT_PROLOGUE_A ON)
set(BTLA_UT_PROLOGUE_B ON)
set(BTLA_UT_GEMM ON)
set(BTLA_UT_WRAPPER ON)
set(BTLA_UT_PARALLEL ON)
set(BTLA_UT_KERNEL_JIT ON)
set(BTLA_UT_KERNEL_INTRIN ON)
set(BTLA_UT_KERNEL_WRAPPER ON)
endif(BTLA_UT_ALL)

set(UT_BUILD FALSE)
if(BTLA_UT_DEBUG OR BTLA_UT_PROLOGUE_A OR BTLA_UT_PROLOGUE_B OR BTLA_UT_EPILOGUE OR BTLA_UT_GEMM
OR BTLA_UT_WRAPPER OR BTLA_UT_PARALLEL OR BTLA_UT_KERNEL_JIT OR BTLA_UT_KERNEL_INTRIN
OR BTLA_UT_KERNEL_WRAPPER)
set(UT_BUILD TRUE)
endif()

function(add_ut_flag UT_OPTION)
if(${${UT_OPTION}})
target_compile_definitions(${PROJECT_NAME}_ut PRIVATE ${UT_OPTION})
endif()
endfunction()

target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_17)
if(UT_BUILD)
file(GLOB srcs ${PROJECT_NAME}/ut/*.cc ${PROJECT_NAME}/ut/*.cpp) #compile everthing even run parts of UTs
file(GLOB ut_headers ${PROJECT_NAME}/ut/*.h)
Expand Down Expand Up @@ -134,11 +100,3 @@ if(UT_BUILD)
target_link_libraries(${PROJECT_NAME}_ut PRIVATE ${PROJECT_NAME})
endif(UT_BUILD)

install(
FILES ${headers}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
)
install(
FILES ${xbyak_headers}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/xbyak/
)
2 changes: 1 addition & 1 deletion bestla/bestla/bestla_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <sched.h>
#endif

#define FIXED_CACHE_SIZE ((1 << 20) - (32 << 10))
#define FIXED_CACHE_SIZE ((1 << 20) - (128 << 10))
#define FIXED_CACHE 1

namespace bestla {
Expand Down
2 changes: 1 addition & 1 deletion neural_speed/application/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON)

target_include_directories(${TARGET} PUBLIC .)
target_compile_features(${TARGET} PUBLIC cxx_std_11)
target_link_libraries(${TARGET} PUBLIC bestla::bestla)
target_link_libraries(${TARGET} PUBLIC bestla)

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

Expand Down
4 changes: 2 additions & 2 deletions neural_speed/cmake/Common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ endfunction()

function(add_executable_w_warning TARGET)
add_executable(${TARGET} ${ARGN})
target_link_libraries(${TARGET} PUBLIC bestla::bestla OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
target_link_libraries(${TARGET} PUBLIC OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
set_target_properties(${TARGET} PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(${TARGET} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
warning_check(${TARGET})
endfunction()

function(add_library_w_warning_ TARGET)
add_library(${TARGET} ${ARGN})
target_link_libraries(${TARGET} PUBLIC bestla::bestla OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
target_link_libraries(${TARGET} PUBLIC OpenMP::OpenMP_CXX OpenMP::OpenMP_C)
set_target_properties(${TARGET} PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF)
set_target_properties(${TARGET} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)
warning_check(${TARGET})
Expand Down
4 changes: 2 additions & 2 deletions neural_speed/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ if (NS_TP)
find_package(MPI REQUIRED)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
add_library(parallel_context STATIC parallel_context.cpp)
target_link_libraries(ne_layers PUBLIC Threads::Threads bestla::bestla ne_vec MPI::MPI_CXX ccl parallel_context)
target_link_libraries(ne_layers PUBLIC Threads::Threads bestla ne_vec MPI::MPI_CXX ccl parallel_context)
else ()
target_link_libraries(ne_layers PUBLIC Threads::Threads bestla::bestla ne_vec)
target_link_libraries(ne_layers PUBLIC Threads::Threads bestla ne_vec)
endif()

if(NOT WIN32)
Expand Down
33 changes: 21 additions & 12 deletions neural_speed/models/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,24 @@
# limitations under the License.

file(GLOB MODEL_UTILS_SOURCE "model_utils/*.cpp")
add_subdirectory(llama)
add_subdirectory(gptj)
add_subdirectory(mpt)
add_subdirectory(gptneox)
add_subdirectory(starcoder)
add_subdirectory(falcon)
add_subdirectory(opt)
add_subdirectory(bloom)
add_subdirectory(chatglm)
add_subdirectory(baichuan)
add_subdirectory(qwen)
add_subdirectory(whisper)

function(add_model target)
add_library_w_warning(${target} ${ARGN}) # no (gpt) model utils needed
target_compile_features(${target} PUBLIC cxx_std_11) # don't bump
set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(${target} PUBLIC ne_layers bestla)
endfunction()

add_model(llama llama/llama.cpp llama/llama_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(gptj gptj/gptj.cpp gptj/gptj_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(mpt mpt/mpt.cpp mpt/mpt_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(gptneox gptneox/gptneox.cpp gptneox/gptneox_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(starcoder starcoder/starcoder.cpp starcoder/starcoder_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(falcon falcon/falcon.cpp falcon/falcon_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(opt opt/opt.cpp opt/opt_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(bloom bloom/bloom.cpp bloom/bloom_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(baichuan baichuan/baichuan.cpp baichuan/baichuan_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(qwen qwen/qwen.cpp qwen/qwen_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(whisper whisper/whisper.cpp whisper/whisper_utils.cpp)
add_model(chatglm chatglm/chatglm.cpp chatglm/chatglm_utils.cpp ${MODEL_UTILS_SOURCE})
add_model(chatglm2 chatglm/chatglm2.cpp chatglm/chatglm2_utils.cpp ${MODEL_UTILS_SOURCE})
19 changes: 0 additions & 19 deletions neural_speed/models/baichuan/CMakeLists.txt

This file was deleted.

19 changes: 0 additions & 19 deletions neural_speed/models/bloom/CMakeLists.txt

This file was deleted.

25 changes: 0 additions & 25 deletions neural_speed/models/chatglm/CMakeLists.txt

This file was deleted.

19 changes: 0 additions & 19 deletions neural_speed/models/falcon/CMakeLists.txt

This file was deleted.

19 changes: 0 additions & 19 deletions neural_speed/models/gptj/CMakeLists.txt

This file was deleted.

19 changes: 0 additions & 19 deletions neural_speed/models/gptneox/CMakeLists.txt

This file was deleted.

19 changes: 0 additions & 19 deletions neural_speed/models/llama/CMakeLists.txt

This file was deleted.

19 changes: 0 additions & 19 deletions neural_speed/models/mpt/CMakeLists.txt

This file was deleted.

Loading

0 comments on commit d82a30b

Please sign in to comment.