mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 13:44:15 +08:00
Use 3.27 as the minimum CMake version (#153153)
Update the minimum CMake version to 3.27 because of it provides more CUDA targets such as `CUDA::nvperf_host` so that it is possible to remove some of our forked CUDA modules. See https://github.com/pytorch/pytorch/pull/153783. It's also possible to facilitate future third-party updates such as FBGEMM (its current shipped version requires 3.21). Pull Request resolved: https://github.com/pytorch/pytorch/pull/153153 Approved by: https://github.com/malfet
This commit is contained in:
@ -31,7 +31,6 @@ elif [[ "$OS_NAME" == *"Ubuntu"* ]]; then
|
|||||||
# Comment out nvidia repositories to prevent them from getting apt-get updated, see https://github.com/pytorch/pytorch/issues/74968
|
# Comment out nvidia repositories to prevent them from getting apt-get updated, see https://github.com/pytorch/pytorch/issues/74968
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
sed -i 's/.*nvidia.*/# &/' $(find /etc/apt/ -type f -name "*.list")
|
sed -i 's/.*nvidia.*/# &/' $(find /etc/apt/ -type f -name "*.list")
|
||||||
|
|
||||||
retry apt-get update
|
retry apt-get update
|
||||||
retry apt-get -y install zip openssl
|
retry apt-get -y install zip openssl
|
||||||
else
|
else
|
||||||
@ -98,6 +97,7 @@ if [[ -z "$PYTORCH_ROOT" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
pushd "$PYTORCH_ROOT"
|
pushd "$PYTORCH_ROOT"
|
||||||
|
retry pip install -q cmake
|
||||||
python setup.py clean
|
python setup.py clean
|
||||||
retry pip install -qr requirements.txt
|
retry pip install -qr requirements.txt
|
||||||
case ${DESIRED_PYTHON} in
|
case ${DESIRED_PYTHON} in
|
||||||
|
@ -92,6 +92,7 @@ if [[ -z "$PYTORCH_ROOT" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
pushd "$PYTORCH_ROOT"
|
pushd "$PYTORCH_ROOT"
|
||||||
|
retry pip install -q cmake
|
||||||
python setup.py clean
|
python setup.py clean
|
||||||
retry pip install -qr requirements.txt
|
retry pip install -qr requirements.txt
|
||||||
retry pip install -q numpy==2.0.1
|
retry pip install -q numpy==2.0.1
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
boto3==1.35.42
|
boto3==1.35.42
|
||||||
cmake==3.25.*
|
cmake==3.27.*
|
||||||
expecttest==0.3.0
|
expecttest==0.3.0
|
||||||
fbscribelogger==0.1.7
|
fbscribelogger==0.1.7
|
||||||
filelock==3.6.0
|
filelock==3.6.0
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
# cmake_policy(SET CMP0022 NEW) cmake_policy(SET CMP0023 NEW)
|
# cmake_policy(SET CMP0022 NEW) cmake_policy(SET CMP0023 NEW)
|
||||||
|
|
||||||
# Use compiler ID "AppleClang" instead of "Clang" for XCode. Not setting this
|
# Use compiler ID "AppleClang" instead of "Clang" for XCode. Not setting this
|
||||||
@ -6,6 +6,7 @@ cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
|||||||
# one is detected as "AppleClang".
|
# one is detected as "AppleClang".
|
||||||
cmake_policy(SET CMP0010 NEW)
|
cmake_policy(SET CMP0010 NEW)
|
||||||
cmake_policy(SET CMP0025 NEW)
|
cmake_policy(SET CMP0025 NEW)
|
||||||
|
cmake_policy(SET CMP0126 OLD)
|
||||||
|
|
||||||
# Enables CMake to set LTO on compilers other than Intel.
|
# Enables CMake to set LTO on compilers other than Intel.
|
||||||
cmake_policy(SET CMP0069 NEW)
|
cmake_policy(SET CMP0069 NEW)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||||
|
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# This source code is licensed under the BSD-style license found in the
|
# This source code is licensed under the BSD-style license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
project(c10 CXX)
|
project(c10 CXX)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard whose features are requested to build this target.")
|
set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard whose features are requested to build this target.")
|
||||||
|
@ -34,6 +34,27 @@ macro(custom_protobuf_find)
|
|||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
|
foreach(
|
||||||
|
flag_var
|
||||||
|
CMAKE_C_FLAGS
|
||||||
|
CMAKE_C_FLAGS_DEBUG
|
||||||
|
CMAKE_C_FLAGS_RELEASE
|
||||||
|
CMAKE_C_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_CXX_FLAGS
|
||||||
|
CMAKE_CXX_FLAGS_DEBUG
|
||||||
|
CMAKE_CXX_FLAGS_RELEASE
|
||||||
|
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||||
|
CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||||
|
# Replace /Zi and /ZI with /Z7
|
||||||
|
if(MSVC_Z7_OVERRIDE)
|
||||||
|
if(${flag_var} MATCHES "/Z[iI]")
|
||||||
|
string(REGEX REPLACE "/Z[iI]" "/Z7" ${flag_var} "${${flag_var}}")
|
||||||
|
endif(${flag_var} MATCHES "/Z[iI]")
|
||||||
|
endif(MSVC_Z7_OVERRIDE)
|
||||||
|
set(${flag_var} "${${flag_var}} /FS")
|
||||||
|
endforeach(flag_var)
|
||||||
|
|
||||||
foreach(flag_var
|
foreach(flag_var
|
||||||
CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL
|
CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL
|
||||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL)
|
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL)
|
||||||
@ -41,15 +62,24 @@ macro(custom_protobuf_find)
|
|||||||
string(REGEX REPLACE "/Z[iI7]" "" ${flag_var} "${${flag_var}}")
|
string(REGEX REPLACE "/Z[iI7]" "" ${flag_var} "${${flag_var}}")
|
||||||
endif()
|
endif()
|
||||||
endforeach(flag_var)
|
endforeach(flag_var)
|
||||||
if(MSVC_Z7_OVERRIDE)
|
|
||||||
foreach(flag_var
|
foreach(
|
||||||
CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELWITHDEBINFO
|
flag_var
|
||||||
CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
if(${flag_var} MATCHES "/Z[iI]")
|
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
string(REGEX REPLACE "/Z[iI]" "/Z7" ${flag_var} "${${flag_var}}")
|
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
endif()
|
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||||
endforeach(flag_var)
|
CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||||
endif(MSVC_Z7_OVERRIDE)
|
CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||||
|
CMAKE_MODULE_LINKER_FLAGS_DEBUG)
|
||||||
|
# Switch off incremental linking in debug/relwithdebinfo builds
|
||||||
|
if(${flag_var} MATCHES "/INCREMENTAL" AND NOT ${flag_var} MATCHES
|
||||||
|
"/INCREMENTAL:NO")
|
||||||
|
string(REGEX REPLACE "/INCREMENTAL" "/INCREMENTAL:NO" ${flag_var}
|
||||||
|
"${${flag_var}}")
|
||||||
|
endif()
|
||||||
|
endforeach(flag_var)
|
||||||
endif(MSVC)
|
endif(MSVC)
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0.0")
|
if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0.0")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.15)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..)
|
set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..)
|
||||||
set(TEST_ROOT ${TORCH_ROOT}/test/edge)
|
set(TEST_ROOT ${TORCH_ROOT}/test/edge)
|
||||||
|
@ -60,12 +60,15 @@ class CMake:
|
|||||||
cmake3_version = CMake._get_version(which("cmake3"))
|
cmake3_version = CMake._get_version(which("cmake3"))
|
||||||
cmake_version = CMake._get_version(which("cmake"))
|
cmake_version = CMake._get_version(which("cmake"))
|
||||||
|
|
||||||
_cmake_min_version = LooseVersion("3.18.0")
|
_cmake_min_version = LooseVersion("3.27.0")
|
||||||
if all(
|
if all(
|
||||||
ver is None or ver < _cmake_min_version
|
ver is None or ver < _cmake_min_version
|
||||||
for ver in [cmake_version, cmake3_version]
|
for ver in [cmake_version, cmake3_version]
|
||||||
):
|
):
|
||||||
raise RuntimeError("no cmake or cmake3 with version >= 3.18.0 found")
|
raise RuntimeError(
|
||||||
|
"no cmake or cmake3 with version >= 3.27.0 found:"
|
||||||
|
+ str([cmake_version, cmake3_version])
|
||||||
|
)
|
||||||
|
|
||||||
if cmake3_version is None:
|
if cmake3_version is None:
|
||||||
cmake_command = "cmake"
|
cmake_command = "cmake"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Now it only builds the Torch python bindings.
|
# Now it only builds the Torch python bindings.
|
||||||
|
|
||||||
if(NOT CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO)
|
if(NOT CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO)
|
||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
project(torch CXX C)
|
project(torch CXX C)
|
||||||
find_package(torch REQUIRED)
|
find_package(torch REQUIRED)
|
||||||
option(USE_CUDA "Use CUDA" ON)
|
option(USE_CUDA "Use CUDA" ON)
|
||||||
|
@ -1729,7 +1729,7 @@ class CppBuilder:
|
|||||||
definitions = " ".join(self._build_option.get_definitions())
|
definitions = " ".join(self._build_option.get_definitions())
|
||||||
contents = textwrap.dedent(
|
contents = textwrap.dedent(
|
||||||
f"""
|
f"""
|
||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
project(aoti_model LANGUAGES CXX)
|
project(aoti_model LANGUAGES CXX)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
project(libshm C CXX)
|
project(libshm C CXX)
|
||||||
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.27 FATAL_ERROR)
|
||||||
|
|
||||||
set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../)
|
set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user