Skip to content

Commit

Permalink
Merge pull request #492 from rapidsai/branch-23.12
Browse files Browse the repository at this point in the history
[RELEASE] rapids-cmake v23.12
  • Loading branch information
raydouglass authored Dec 6, 2023
2 parents 24096a0 + a55a200 commit f0806fc
Show file tree
Hide file tree
Showing 55 changed files with 873 additions and 198 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ on:
default: nightly

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -37,7 +37,7 @@ jobs:
upload-conda:
needs: [cpp-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.12
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -46,7 +46,7 @@ jobs:
docs-build:
if: github.ref_type == 'branch'
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-23.12
with:
arch: "amd64"
branch: ${{ inputs.branch }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,26 @@ jobs:
- conda-cpp-tests
- docs-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-23.12
checks:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-23.12
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12
with:
build_type: pull-request
conda-cpp-tests:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12
with:
build_type: pull-request
docs-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-23.12
with:
build_type: pull-request
node_type: "cpu4"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
jobs:
cpp-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.10
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12
with:
build_type: nightly
branch: ${{ inputs.branch }}
Expand Down
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
# rapids-cmake 23.12.00 (6 Dec 2023)

## 🚨 Breaking Changes

- Upgrade nvCOMP to 3.0.4 ([#451](https://github.com/rapidsai/rapids-cmake/pull/451)) [@vuule](https://github.com/vuule)

## 🐛 Bug Fixes

- Ensure nvbench initializes nvml context when built statically ([#486](https://github.com/rapidsai/rapids-cmake/pull/486)) [@robertmaynard](https://github.com/robertmaynard)
- Remove invalid argument to find_package_root ([#483](https://github.com/rapidsai/rapids-cmake/pull/483)) [@robertmaynard](https://github.com/robertmaynard)
- target from write_git_revision now works with export sets ([#474](https://github.com/rapidsai/rapids-cmake/pull/474)) [@robertmaynard](https://github.com/robertmaynard)

## 🚀 New Features

- Support static builds of gbench and nvbench. ([#481](https://github.com/rapidsai/rapids-cmake/pull/481)) [@robertmaynard](https://github.com/robertmaynard)
- Allow rapids_test to be used without CUDAToolkit ([#480](https://github.com/rapidsai/rapids-cmake/pull/480)) [@robertmaynard](https://github.com/robertmaynard)
- Update cuco git tag ([#479](https://github.com/rapidsai/rapids-cmake/pull/479)) [@sleeepyjack](https://github.com/sleeepyjack)
- GTest will always be PIC enabled when built ([#477](https://github.com/rapidsai/rapids-cmake/pull/477)) [@robertmaynard](https://github.com/robertmaynard)
- Thrust when exported now automatically calls `thrust_create_target` ([#467](https://github.com/rapidsai/rapids-cmake/pull/467)) [@robertmaynard](https://github.com/robertmaynard)
- Upgrade nvCOMP to 3.0.4 ([#451](https://github.com/rapidsai/rapids-cmake/pull/451)) [@vuule](https://github.com/vuule)

## 🛠️ Improvements

- Build concurrency for nightly and merge triggers ([#490](https://github.com/rapidsai/rapids-cmake/pull/490)) [@bdice](https://github.com/bdice)
- Add patch for libcudacxx memory resource. ([#476](https://github.com/rapidsai/rapids-cmake/pull/476)) [@bdice](https://github.com/bdice)
- Use branch-23.12 workflows. ([#472](https://github.com/rapidsai/rapids-cmake/pull/472)) [@bdice](https://github.com/bdice)
- Express Python version in dependencies.yaml. ([#470](https://github.com/rapidsai/rapids-cmake/pull/470)) [@bdice](https://github.com/bdice)
- Build CUDA 12.0 ARM conda packages. ([#468](https://github.com/rapidsai/rapids-cmake/pull/468)) [@bdice](https://github.com/bdice)
- Update libcudacxx to 2.1.0 ([#464](https://github.com/rapidsai/rapids-cmake/pull/464)) [@bdice](https://github.com/bdice)

# rapids-cmake 23.10.00 (11 Oct 2023)

## 🐛 Bug Fixes
Expand Down
4 changes: 2 additions & 2 deletions RAPIDS.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2021, NVIDIA CORPORATION.
# Copyright (c) 2021-2023, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -20,7 +20,7 @@
# Allow users to control which version is used
if(NOT rapids-cmake-version)
# Define a default version if the user doesn't set one
set(rapids-cmake-version 23.10)
set(rapids-cmake-version 23.12)
endif()

# Allow users to control which GitHub repo is fetched
Expand Down
2 changes: 1 addition & 1 deletion ci/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ conda activate docs

rapids-print-env

export RAPIDS_VERSION_NUMBER="23.10"
export RAPIDS_VERSION_NUMBER="23.12"
export RAPIDS_DOCS_DIR="$(mktemp -d)"

rapids-logger "Build Sphinx docs"
Expand Down
2 changes: 1 addition & 1 deletion ci/release/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ sed_runner 's/'"release =.*"'/'"release = \"${NEXT_FULL_TAG}\""'/g' docs/conf.py
sed_runner 's/'"branch-.*\/RAPIDS.cmake"'/'"branch-${NEXT_SHORT_TAG}\/RAPIDS.cmake"'/g' docs/basics.rst

for FILE in .github/workflows/*.yaml; do
sed_runner "/shared-action-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}"
sed_runner "/shared-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}"
done
sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/build_docs.sh
21 changes: 16 additions & 5 deletions cmake-format-rapids-cmake.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@
},
"rapids_cpm_gbench": {
"pargs": {
"nargs": 0
"nargs": 0,
"flags": ["BUILD_STATIC"]
},
"kwargs": {
"BUILD_EXPORT_SET": 1,
Expand All @@ -135,10 +136,12 @@
},
"rapids_cpm_nvbench": {
"pargs": {
"nargs": 0
"nargs": 0,
"flags": ["BUILD_STATIC"]
},
"kwargs": {
"BUILD_EXPORT_SET": 1
"BUILD_EXPORT_SET": 1,
"INSTALL_EXPORT_SET": 1
}
},
"rapids_cpm_nvcomp": {
Expand Down Expand Up @@ -230,14 +233,22 @@
},
"rapids_export_find_package_file": {
"pargs": {
"nargs": 3,
"nargs": "3+",
"flags": ["INSTALL", "BUILD"]
},
"kwargs": {
"EXPORT_SET": 1,
"CONDITION": 1
}
},
"rapids_export_find_package_root": {
"pargs": {
"nargs": 4,
"nargs": "3+",
"flags": ["INSTALL", "BUILD"]
},
"kwargs": {
"EXPORT_SET": 1,
"CONDITION": 1
}
},
"rapids_export_package": {
Expand Down
18 changes: 17 additions & 1 deletion dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ files:
- build
- cudatoolkit
- docs
- py_version
- test
checks:
output: none
includes:
- build
- style_checks
- py_version
docs:
output: none
includes:
Expand Down Expand Up @@ -141,13 +143,27 @@ dependencies:
- output_types: [conda, requirements]
packages:
- cython>=0.29,<0.30
- python>=3.9,<3.11
- scikit-build>=0.13.1
- libpng
- zlib
- output_types: [conda]
packages:
- fmt==9.1.0
py_version:
specific:
- output_types: conda
matrices:
- matrix:
py: "3.9"
packages:
- python=3.9
- matrix:
py: "3.10"
packages:
- python=3.10
- matrix:
packages:
- python>=3.9,<3.11
style_checks:
common:
- output_types: [conda, requirements]
Expand Down
4 changes: 2 additions & 2 deletions docs/basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Content <https://cmake.org/cmake/help/latest/module/FetchContent.html>`_ into yo
cmake_minimum_required(...)
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/<PROJ>_RAPIDS.cmake)
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/RAPIDS.cmake
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/RAPIDS.cmake
${CMAKE_CURRENT_BINARY_DIR}/<PROJ>_RAPIDS.cmake)
endif()
include(${CMAKE_CURRENT_BINARY_DIR}/<PROJ>_RAPIDS.cmake)
Expand Down Expand Up @@ -58,7 +58,7 @@ like this:
GIT_REPOSITORY https://github.com/<my_fork>/rapids-cmake.git
GIT_TAG <my_feature_branch>
)
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.10/RAPIDS.cmake
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.12/RAPIDS.cmake
${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake)
include(${CMAKE_CURRENT_BINARY_DIR}/RAPIDS.cmake)
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
# built documents.
#
# The short X.Y version.
version = "23.10"
version = "23.12"
# The full version, including alpha/beta/rc tags.
release = "23.10.00"
release = "23.12.00"


# -- General configuration ---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion rapids-cmake/cmake/write_git_revision_file.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,6 @@ function(rapids_cmake_write_git_revision_file target file_path)
add_dependencies(${target} ${target}_compute_git_info)

cmake_path(GET file_path PARENT_PATH file_path_dir)
target_include_directories(${target} INTERFACE ${file_path_dir})
target_include_directories(${target} INTERFACE "$<BUILD_INTERFACE:${file_path_dir}>")

endfunction()
15 changes: 14 additions & 1 deletion rapids-cmake/cpm/gbench.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,18 @@ across all RAPIDS projects.
rapids_cpm_gbench( [BUILD_EXPORT_SET <export-name>]
[INSTALL_EXPORT_SET <export-name>]
[BUILD_STATIC]
[<CPM_ARGS> ...])
.. |PKG_NAME| replace:: benchmark
.. include:: common_package_args.txt
.. versionadded:: v23.12.00
``BUILD_STATIC``
Will build Google Benchmark statically. No local searching for a previously
built version will occur.
Result Targets
^^^^^^^^^^^^^^
benchmark::benchmark targets will be created
Expand All @@ -49,6 +56,12 @@ function(rapids_cpm_gbench)
set(to_install ON)
endif()

set(build_shared ON)
if(BUILD_STATIC IN_LIST ARGN)
set(build_shared OFF)
set(CPM_DOWNLOAD_benchmark ON) # Since we need static we build from source
endif()

include("${rapids-cmake-dir}/cpm/detail/package_details.cmake")
rapids_cpm_package_details(benchmark version repository tag shallow exclude)

Expand All @@ -69,7 +82,7 @@ function(rapids_cpm_gbench)
EXCLUDE_FROM_ALL ${exclude}
OPTIONS "BENCHMARK_ENABLE_GTEST_TESTS OFF" "BENCHMARK_ENABLE_TESTING OFF"
"BENCHMARK_ENABLE_INSTALL ${to_install}"
"CMAKE_INSTALL_LIBDIR ${lib_dir}")
"CMAKE_INSTALL_LIBDIR ${lib_dir}" "BUILD_SHARED_LIBS ${build_shared}")

include("${rapids-cmake-dir}/cpm/detail/display_patch_status.cmake")
rapids_cpm_display_patch_status(benchmark)
Expand Down
4 changes: 2 additions & 2 deletions rapids-cmake/cpm/gtest.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2021, NVIDIA CORPORATION.
# Copyright (c) 2021-2023, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -71,7 +71,7 @@ function(rapids_cpm_gtest)
GIT_SHALLOW ${shallow}
PATCH_COMMAND ${patch_command}
EXCLUDE_FROM_ALL ${exclude}
OPTIONS "INSTALL_GTEST ${to_install}")
OPTIONS "INSTALL_GTEST ${to_install}" "CMAKE_POSITION_INDEPENDENT_CODE ON")

include("${rapids-cmake-dir}/cpm/detail/display_patch_status.cmake")
rapids_cpm_display_patch_status(GTest)
Expand Down
10 changes: 3 additions & 7 deletions rapids-cmake/cpm/libcudacxx.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -101,18 +101,14 @@ function(rapids_cpm_libcudacxx)
set(multi_value)
cmake_parse_arguments(_RAPIDS "${options}" "${one_value}" "${multi_value}" ${ARGN})

if(libcudacxx_SOURCE_DIR AND _RAPIDS_BUILD_EXPORT_SET)
if(libcudacxx_SOURCE_DIR)
# Store where CMake can find our custom libcudacxx
include("${rapids-cmake-dir}/export/find_package_root.cmake")
rapids_export_find_package_root(BUILD libcudacxx "${libcudacxx_SOURCE_DIR}/lib/cmake"
${_RAPIDS_BUILD_EXPORT_SET})
endif()

if(libcudacxx_SOURCE_DIR AND to_install)
include("${rapids-cmake-dir}/export/find_package_root.cmake")
EXPORT_SET ${_RAPIDS_BUILD_EXPORT_SET})
rapids_export_find_package_root(INSTALL libcudacxx
[=[${CMAKE_CURRENT_LIST_DIR}/../../rapids/cmake/libcudacxx]=]
${_RAPIDS_INSTALL_EXPORT_SET})
EXPORT_SET ${_RAPIDS_INSTALL_EXPORT_SET} CONDITION to_install)
endif()

# Propagate up variables that CPMFindPackage provide
Expand Down
Loading

0 comments on commit f0806fc

Please sign in to comment.