mirror of
https://github.com/kvcache-ai/ktransformers.git
synced 2025-09-11 07:44:35 +00:00
Merge pull request #1079 from kvcache-ai/fix-compile
fix compile, add abi check to setup.py
This commit is contained in:
commit
10fd2e281f
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_CXX_FLAGS "-Og -march=native -Wall -Wextra -g -fPIC")
|
||||||
# set(CMAKE_BUILD_TYPE "Debug")
|
# set(CMAKE_BUILD_TYPE "Debug")
|
||||||
set(CMAKE_CXX_FLAGS "-O3 -march=native -Wall -Wextra -fPIC")
|
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")
|
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")
|
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 "-Og -march=native -Wall -Wextra -Wpedantic -g -fsanitize=address")
|
||||||
# set(CMAKE_CXX_FLAGS "-march=native -Wall -Wextra -Wpedantic -g")
|
# 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_CXX_FLAGS "-fPIC -O3 -ffast-math -march=native -Wall -Wextra -g")
|
||||||
# set(CMAKE_BUILD_TYPE "Release")
|
set(CMAKE_BUILD_TYPE "Release")
|
||||||
set(CMAKE_BUILD_TYPE "Debug")
|
add_compile_definitions(_GLIBCXX_USE_CXX11_ABI=${_GLIBCXX_USE_CXX11_ABI})
|
||||||
|
# set(CMAKE_BUILD_TYPE "Debug")
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
set(BUILD_TEST OFF)
|
set(BUILD_TEST OFF)
|
||||||
set(BUILD_PYTHON_EXT 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 "-Og -march=native -Wall -Wextra -g -fPIC")
|
||||||
# set(CMAKE_CXX_FLAGS "-O3 -march=native -Wall -Wextra -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)
|
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")
|
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_BUILD_TYPE "Release")
|
||||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -ffast-math -fopenmp")
|
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -ffast-math -fopenmp")
|
||||||
# set(CMAKE_BUILD_TYPE "Debug")
|
# set(CMAKE_BUILD_TYPE "Debug")
|
||||||
|
|
12
setup.py
12
setup.py
|
@ -25,6 +25,7 @@ import urllib.request
|
||||||
import urllib.error
|
import urllib.error
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from packaging.version import parse
|
from packaging.version import parse
|
||||||
|
import torch
|
||||||
import torch.version
|
import torch.version
|
||||||
from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
|
from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
|
||||||
from setuptools import setup, Extension
|
from setuptools import setup, Extension
|
||||||
|
@ -281,6 +282,13 @@ class CMakeExtension(Extension):
|
||||||
print(name, sourcedir)
|
print(name, sourcedir)
|
||||||
self.sourcedir = 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):
|
class CMakeBuild(BuildExtension):
|
||||||
|
|
||||||
def build_extension(self, ext) -> None:
|
def build_extension(self, ext) -> None:
|
||||||
|
@ -318,6 +326,8 @@ class CMakeBuild(BuildExtension):
|
||||||
cmake_args += ["-DKTRANSFORMERS_USE_ROCM=ON"]
|
cmake_args += ["-DKTRANSFORMERS_USE_ROCM=ON"]
|
||||||
else:
|
else:
|
||||||
raise ValueError("Unsupported backend: CUDA_HOME, MUSA_HOME, and ROCM_HOME are not set.")
|
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
|
# log cmake_args
|
||||||
print("CMake args:", cmake_args)
|
print("CMake args:", cmake_args)
|
||||||
|
|
||||||
|
@ -470,4 +480,4 @@ setup(
|
||||||
version=VersionInfo().get_package_version(),
|
version=VersionInfo().get_package_version(),
|
||||||
cmdclass={"bdist_wheel":BuildWheelsCommand ,"build_ext": CMakeBuild},
|
cmdclass={"bdist_wheel":BuildWheelsCommand ,"build_ext": CMakeBuild},
|
||||||
ext_modules=ext_modules
|
ext_modules=ext_modules
|
||||||
)
|
)
|
Loading…
Add table
Add a link
Reference in a new issue