From 98fa5daf65c1b312720337e13304453103d84c81 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 02:28:23 +0300 Subject: [PATCH 01/10] update boost --- .ci/setup.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.ci/setup.sh b/.ci/setup.sh index fe918d68a78c..c4cd37876415 100755 --- a/.ci/setup.sh +++ b/.ci/setup.sh @@ -88,10 +88,13 @@ else # Linux fi if [[ $TASK == "gpu" ]]; then if [[ $IN_UBUNTU_BASE_CONTAINER == "true" ]]; then + sudo apt-get install --no-install-recommends -y \ + gpg-agent + sudo add-apt-repository ppa:mhier/libboost-latest -y sudo apt-get update sudo apt-get install --no-install-recommends -y \ - libboost1.74-dev \ - libboost-filesystem1.74-dev \ + libboost1.83-dev \ + libboost-filesystem1.83-dev \ ocl-icd-opencl-dev else # in manylinux image sudo yum update -y From d656b756105c71966b7ecc7d89d5c7e68b8beb7f Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 02:29:29 +0300 Subject: [PATCH 02/10] update boost in integrated opencl --- cmake/IntegratedOpenCL.cmake | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 32ddb51d674b..9a47322f9bb0 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -1,5 +1,5 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) -set(BOOST_VERSION_DOT "1.74") +set(BOOST_VERSION_DOT "1.83") string(REPLACE "." "_" BOOST_VERSION_UNDERSCORE ${BOOST_VERSION_DOT}) set(OPENCL_HEADER_REPOSITORY "https://github.com/KhronosGroup/OpenCL-Headers.git") @@ -16,20 +16,26 @@ include(FetchContent) FetchContent_Declare(OpenCL-Headers GIT_REPOSITORY ${OPENCL_HEADER_REPOSITORY} GIT_TAG ${OPENCL_HEADER_TAG}) FetchContent_GetProperties(OpenCL-Headers) if(NOT OpenCL-Headers_POPULATED) - FetchContent_Populate(OpenCL-Headers) + FetchContent_MakeAvailable(OpenCL-Headers) message(STATUS "Populated OpenCL Headers") endif() set(OPENCL_ICD_LOADER_HEADERS_DIR ${opencl-headers_SOURCE_DIR} CACHE PATH "") # for OpenCL ICD Loader set(OpenCL_INCLUDE_DIR ${opencl-headers_SOURCE_DIR} CACHE PATH "") # for Boost::Compute -FetchContent_Declare(OpenCL-ICD-Loader GIT_REPOSITORY ${OPENCL_LOADER_REPOSITORY} GIT_TAG ${OPENCL_LOADER_TAG}) +FetchContent_Declare( + OpenCL-ICD-Loader + GIT_REPOSITORY + ${OPENCL_LOADER_REPOSITORY} + GIT_TAG + ${OPENCL_LOADER_TAG} + EXCLUDE_FROM_ALL +) FetchContent_GetProperties(OpenCL-ICD-Loader) if(NOT OpenCL-ICD-Loader_POPULATED) - FetchContent_Populate(OpenCL-ICD-Loader) + FetchContent_MakeAvailable(OpenCL-ICD-Loader) if(WIN32) set(USE_DYNAMIC_VCXX_RUNTIME ON) endif() - add_subdirectory(${opencl-icd-loader_SOURCE_DIR} ${opencl-icd-loader_BINARY_DIR} EXCLUDE_FROM_ALL) message(STATUS "Populated OpenCL ICD Loader") endif() list(APPEND INTEGRATED_OPENCL_INCLUDES ${OPENCL_ICD_LOADER_HEADERS_DIR}) @@ -104,6 +110,7 @@ list( "libs/any" "libs/array" "libs/assert" + "libs/atomic" "libs/bind" "libs/chrono" "libs/compute" @@ -112,6 +119,7 @@ list( "libs/container" "libs/container_hash" "libs/core" + "libs/describe" "libs/detail" "libs/filesystem" "libs/foreach" @@ -126,6 +134,7 @@ list( "libs/lexical_cast" "libs/math" "libs/move" + "libs/mp11" "libs/mpl" "libs/multi_index" "libs/numeric/conversion" From 6432925ac4cbb820b590a258ad0eabefe75c6f51 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 02:36:53 +0300 Subject: [PATCH 03/10] Update IntegratedOpenCL.cmake --- cmake/IntegratedOpenCL.cmake | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 9a47322f9bb0..5294845a4e2a 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -1,5 +1,5 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) -set(BOOST_VERSION_DOT "1.83") +set(BOOST_VERSION_DOT "1.74") string(REPLACE "." "_" BOOST_VERSION_UNDERSCORE ${BOOST_VERSION_DOT}) set(OPENCL_HEADER_REPOSITORY "https://github.com/KhronosGroup/OpenCL-Headers.git") @@ -16,26 +16,20 @@ include(FetchContent) FetchContent_Declare(OpenCL-Headers GIT_REPOSITORY ${OPENCL_HEADER_REPOSITORY} GIT_TAG ${OPENCL_HEADER_TAG}) FetchContent_GetProperties(OpenCL-Headers) if(NOT OpenCL-Headers_POPULATED) - FetchContent_MakeAvailable(OpenCL-Headers) + FetchContent_Populate(OpenCL-Headers) message(STATUS "Populated OpenCL Headers") endif() set(OPENCL_ICD_LOADER_HEADERS_DIR ${opencl-headers_SOURCE_DIR} CACHE PATH "") # for OpenCL ICD Loader set(OpenCL_INCLUDE_DIR ${opencl-headers_SOURCE_DIR} CACHE PATH "") # for Boost::Compute -FetchContent_Declare( - OpenCL-ICD-Loader - GIT_REPOSITORY - ${OPENCL_LOADER_REPOSITORY} - GIT_TAG - ${OPENCL_LOADER_TAG} - EXCLUDE_FROM_ALL -) +FetchContent_Declare(OpenCL-ICD-Loader GIT_REPOSITORY ${OPENCL_LOADER_REPOSITORY} GIT_TAG ${OPENCL_LOADER_TAG}) FetchContent_GetProperties(OpenCL-ICD-Loader) if(NOT OpenCL-ICD-Loader_POPULATED) - FetchContent_MakeAvailable(OpenCL-ICD-Loader) + FetchContent_Populate(OpenCL-ICD-Loader) if(WIN32) set(USE_DYNAMIC_VCXX_RUNTIME ON) endif() + add_subdirectory(${opencl-icd-loader_SOURCE_DIR} ${opencl-icd-loader_BINARY_DIR} EXCLUDE_FROM_ALL) message(STATUS "Populated OpenCL ICD Loader") endif() list(APPEND INTEGRATED_OPENCL_INCLUDES ${OPENCL_ICD_LOADER_HEADERS_DIR}) From b8241fd0ff5774a45e8b2b1a3035decf607d3b42 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 02:38:08 +0300 Subject: [PATCH 04/10] Update IntegratedOpenCL.cmake --- cmake/IntegratedOpenCL.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 5294845a4e2a..4909430b8f45 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -1,5 +1,5 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) -set(BOOST_VERSION_DOT "1.74") +set(BOOST_VERSION_DOT "1.83") string(REPLACE "." "_" BOOST_VERSION_UNDERSCORE ${BOOST_VERSION_DOT}) set(OPENCL_HEADER_REPOSITORY "https://github.com/KhronosGroup/OpenCL-Headers.git") From 355e26de2ab5b9e5c6d4ff6a013c9233589f1baf Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 12:49:14 +0300 Subject: [PATCH 05/10] 64bit build --- cmake/IntegratedOpenCL.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 4909430b8f45..3bd898acd5a5 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -183,6 +183,7 @@ ExternalProject_Add( variant=release threading=multi cxxflags="${BOOST_FLAGS}" + address-model=64 INSTALL_COMMAND "" # BUILD_BYPRODUCTS is necessary to support 'Ninja' builds. # ref: From c6ed624e2d5f7211adbe0c0cda91ebe8bb422965 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 13:41:28 +0300 Subject: [PATCH 06/10] try architecture --- cmake/IntegratedOpenCL.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 3bd898acd5a5..3b8ff38265f4 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -183,6 +183,7 @@ ExternalProject_Add( variant=release threading=multi cxxflags="${BOOST_FLAGS}" + architecture=x86 address-model=64 INSTALL_COMMAND "" # BUILD_BYPRODUCTS is necessary to support 'Ninja' builds. From 01555d62189e301a641f210d2d924be7739fd5ae Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 14:08:09 +0300 Subject: [PATCH 07/10] try abbreviate-paths --- cmake/IntegratedOpenCL.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 3b8ff38265f4..33a41a068996 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -185,6 +185,7 @@ ExternalProject_Add( cxxflags="${BOOST_FLAGS}" architecture=x86 address-model=64 + --abbreviate-paths INSTALL_COMMAND "" # BUILD_BYPRODUCTS is necessary to support 'Ninja' builds. # ref: From 955e32b0945b3e9045cb996bba8b6c582fd6358d Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 14:22:38 +0300 Subject: [PATCH 08/10] try no threading --- cmake/IntegratedOpenCL.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 33a41a068996..544326928003 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -181,7 +181,6 @@ ExternalProject_Add( link=static runtime-link=shared variant=release - threading=multi cxxflags="${BOOST_FLAGS}" architecture=x86 address-model=64 From 83d6c2705f1a566cf4313e4554a7981890a95909 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 31 Jul 2024 14:55:46 +0300 Subject: [PATCH 09/10] Update IntegratedOpenCL.cmake --- cmake/IntegratedOpenCL.cmake | 2 -- 1 file changed, 2 deletions(-) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 544326928003..0ca9c3ce5bda 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -182,8 +182,6 @@ ExternalProject_Add( runtime-link=shared variant=release cxxflags="${BOOST_FLAGS}" - architecture=x86 - address-model=64 --abbreviate-paths INSTALL_COMMAND "" # BUILD_BYPRODUCTS is necessary to support 'Ninja' builds. From 3b08215ff694d42e69a2314d7a6051d447769deb Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Wed, 7 Aug 2024 22:02:23 +0300 Subject: [PATCH 10/10] set address-model --- cmake/IntegratedOpenCL.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/IntegratedOpenCL.cmake b/cmake/IntegratedOpenCL.cmake index 0ca9c3ce5bda..862ad476001c 100644 --- a/cmake/IntegratedOpenCL.cmake +++ b/cmake/IntegratedOpenCL.cmake @@ -58,6 +58,7 @@ ProcessorCount(J) set(BOOST_BASE "${PROJECT_BINARY_DIR}/Boost") set(BOOST_INCLUDE "${BOOST_BASE}/source" CACHE PATH "") set(BOOST_LIBRARY "${BOOST_BASE}/source/stage/lib" CACHE PATH "") +set(BOOST_ADDRESS_MODEL 64) if(WIN32) if(MSVC) if(${MSVC_VERSION} GREATER 1929) @@ -71,6 +72,9 @@ if(WIN32) else() message(FATAL_ERROR "Unrecognized MSVC version number: ${MSVC_VERSION}") endif() + if("${CMAKE_GENERATOR_PLATFORM}" MATCHES "Win32") + set(BOOST_ADDRESS_MODEL 32) + endif() list( APPEND BOOST_BUILD_BYPRODUCTS @@ -181,8 +185,9 @@ ExternalProject_Add( link=static runtime-link=shared variant=release + threading=multi + address-model=${BOOST_ADDRESS_MODEL} cxxflags="${BOOST_FLAGS}" - --abbreviate-paths INSTALL_COMMAND "" # BUILD_BYPRODUCTS is necessary to support 'Ninja' builds. # ref: