mirror of
https://github.com/kvcache-ai/ktransformers.git
synced 2025-09-10 23:34:35 +00:00
fix compile, add abi check to setup.py
This commit is contained in:
parent
f4ae7c85ed
commit
9dd24ecd72
6 changed files with 17 additions and 28 deletions
|
@ -1,25 +0,0 @@
|
|||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
find_package(PythonInterp REQUIRED)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "
|
||||
import torch
|
||||
print(torch.compiled_with_cxx11_abi())
|
||||
"
|
||||
OUTPUT_VARIABLE TORCH_CXX11_ABI
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
if(TORCH_CXX11_ABI MATCHES "True|False")
|
||||
if(TORCH_CXX11_ABI)
|
||||
message(STATUS "PyTorch was compiled with CXX11 ABI: ON")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=1")
|
||||
else()
|
||||
message(STATUS "PyTorch was compiled with CXX11 ABI: OFF")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "Could not determine if PyTorch was compiled with CXX11 ABI. Defaulting to OFF.")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
|
||||
endif()
|
|
@ -13,6 +13,7 @@ set(CMAKE_CXX_STANDARD 20)
|
|||
# set(CMAKE_CXX_FLAGS "-Og -march=native -Wall -Wextra -g -fPIC")
|
||||
# set(CMAKE_BUILD_TYPE "Debug")
|
||||
set(CMAKE_CXX_FLAGS "-O3 -march=native -Wall -Wextra -fPIC")
|
||||
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=${_GLIBCXX_USE_CXX11_ABI})
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
|
||||
file(GLOB_RECURSE FMT_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
|
||||
|
|
|
@ -11,8 +11,9 @@ set(CMAKE_CXX_STANDARD 20)
|
|||
# set(CMAKE_CXX_FLAGS "-Og -march=native -Wall -Wextra -Wpedantic -g -fsanitize=address")
|
||||
# set(CMAKE_CXX_FLAGS "-march=native -Wall -Wextra -Wpedantic -g")
|
||||
# set(CMAKE_CXX_FLAGS "-fPIC -O3 -ffast-math -march=native -Wall -Wextra -g")
|
||||
# set(CMAKE_BUILD_TYPE "Release")
|
||||
set(CMAKE_BUILD_TYPE "Debug")
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=${_GLIBCXX_USE_CXX11_ABI})
|
||||
# set(CMAKE_BUILD_TYPE "Debug")
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(BUILD_TEST OFF)
|
||||
set(BUILD_PYTHON_EXT OFF)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
set(CMAKE_CXX_FLAGS "-Og -march=native -Wall -Wextra -g -fPIC")
|
||||
# set(CMAKE_CXX_FLAGS "-O3 -march=native -Wall -Wextra -fPIC")
|
||||
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=${_GLIBCXX_USE_CXX11_ABI})
|
||||
|
||||
set(UTILS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/utils)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ set(CMAKE_CXX_STANDARD 17)
|
|||
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -ffast-math -fopenmp")
|
||||
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=${_GLIBCXX_USE_CXX11_ABI})
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -ffast-math -fopenmp")
|
||||
# set(CMAKE_BUILD_TYPE "Debug")
|
||||
|
|
12
setup.py
12
setup.py
|
@ -25,6 +25,7 @@ import urllib.request
|
|||
import urllib.error
|
||||
from pathlib import Path
|
||||
from packaging.version import parse
|
||||
import torch
|
||||
import torch.version
|
||||
from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
|
||||
from setuptools import setup, Extension
|
||||
|
@ -281,6 +282,13 @@ class CMakeExtension(Extension):
|
|||
print(name, sourcedir)
|
||||
self.sourcedir = sourcedir
|
||||
|
||||
def get_cmake_abi_args(cmake_args):
|
||||
if torch.compiled_with_cxx11_abi():
|
||||
cmake_args.append("-D_GLIBCXX_USE_CXX11_ABI=1")
|
||||
else:
|
||||
cmake_args.append("-D_GLIBCXX_USE_CXX11_ABI=0")
|
||||
return cmake_args
|
||||
|
||||
class CMakeBuild(BuildExtension):
|
||||
|
||||
def build_extension(self, ext) -> None:
|
||||
|
@ -318,6 +326,8 @@ class CMakeBuild(BuildExtension):
|
|||
cmake_args += ["-DKTRANSFORMERS_USE_ROCM=ON"]
|
||||
else:
|
||||
raise ValueError("Unsupported backend: CUDA_HOME, MUSA_HOME, and ROCM_HOME are not set.")
|
||||
|
||||
cmake_args = get_cmake_abi_args(cmake_args)
|
||||
# log cmake_args
|
||||
print("CMake args:", cmake_args)
|
||||
|
||||
|
@ -470,4 +480,4 @@ setup(
|
|||
version=VersionInfo().get_package_version(),
|
||||
cmdclass={"bdist_wheel":BuildWheelsCommand ,"build_ext": CMakeBuild},
|
||||
ext_modules=ext_modules
|
||||
)
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue