Skip to content

Commit

Permalink
Merge pull request #360 from rapidsai/branch-0.18
Browse files Browse the repository at this point in the history
  • Loading branch information
raydouglass committed Feb 24, 2021
2 parents 897b304 + 1a2fc18 commit c4ff738
Show file tree
Hide file tree
Showing 42 changed files with 367 additions and 209 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/stale.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Mark inactive issues and pull requests

on:
schedule:
- cron: "0 * * * *"

jobs:
mark-inactive-30d:
runs-on: ubuntu-latest
steps:
- name: Mark 30 day inactive issues and pull requests
uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: >
This issue has been labeled `inactive-30d` due to no recent activity in the past 30 days.
Please close this issue if no further response or action is needed.
Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed.
This issue will be labeled `inactive-90d` if there is no activity in the next 60 days.
stale-issue-label: "inactive-30d"
exempt-issue-labels: "0 - Blocked,0 - Backlog,good first issue"
days-before-issue-stale: 30
days-before-issue-close: -1
stale-pr-message: >
This PR has been labeled `inactive-30d` due to no recent activity in the past 30 days.
Please close this PR if it is no longer required.
Otherwise, please respond with a comment indicating any updates.
This PR will be labeled `inactive-90d` if there is no activity in the next 60 days.
stale-pr-label: "inactive-30d"
exempt-pr-labels: "0 - Blocked,0 - Backlog,good first issue"
days-before-pr-stale: 30
days-before-pr-close: -1
operations-per-run: 50
mark-inactive-90d:
runs-on: ubuntu-latest
steps:
- name: Mark 90 day inactive issues and pull requests
uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: >
This issue has been labeled `inactive-90d` due to no recent activity in the past 90 days.
Please close this issue if no further response or action is needed.
Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed.
stale-issue-label: "inactive-90d"
exempt-issue-labels: "0 - Blocked,0 - Backlog,good first issue"
days-before-issue-stale: 90
days-before-issue-close: -1
stale-pr-message: >
This PR has been labeled `inactive-90d` due to no recent activity in the past 90 days.
Please close this PR if it is no longer required.
Otherwise, please respond with a comment indicating any updates.
stale-pr-label: "inactive-90d"
exempt-pr-labels: "0 - Blocked,0 - Backlog,good first issue"
days-before-pr-stale: 90
days-before-pr-close: -1
operations-per-run: 50
20 changes: 19 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# cuSpatial 0.18.0 (24 Feb 2021)

## Documentation 📖

- Fix directed_hausdorff_distance space_offsets name + documentation (#332) @cwharris

## New Features 🚀

- New build process script changes & gpuCI enhancements (#338) @raydouglass

## Improvements 🛠️

- Update stale GHA with exemptions & new labels (#357) @mike-wendt
- Add GHA to mark issues/prs as stale/rotten (#355) @Ethyling
- Prepare Changelog for Automation (#345) @ajschmidt8
- Pin gdal to 3.1.x (#339) @weiji14
- Use simplified `rmm::exec_policy` (#331) @harrism
- Upgrade to libcu++ on GitHub (#297) @trxcllnt

# cuSpatial 0.17.0 (10 Dec 2020)

## New Features
Expand All @@ -7,7 +26,6 @@
- PR #321 Improvements to gpuCI scripts
- PR #325 Convert `cudaStream_t` to `rmm::cuda_stream_view`


## Bug Fixes
- PR #320 Fix quadtree construction bug: zero out `device_uvector` before `scatter`
- PR #328 Fix point in polygon test for cudf::gather breaking change
Expand Down
28 changes: 24 additions & 4 deletions ci/cpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ export PATH=/opt/conda/bin:/usr/local/cuda/bin:$PATH
export PARALLEL_LEVEL=${PARALLEL_LEVEL:-4}
export CUDF_HOME="${WORKSPACE}/cudf"

export GIT_DESCRIBE=`git describe --tags`
export MINOR_VERSION=`echo $GIT_DESCRIBE | grep -o -E '([0-9]+\.[0-9]+)'`

# Set home to the job's workspace
export HOME=$WORKSPACE

Expand All @@ -28,6 +31,10 @@ if [[ "$BUILD_MODE" = "branch" && "$SOURCE_BRANCH" = branch-* ]] ; then
export VERSION_SUFFIX=`date +%y%m%d`
fi

# Setup 'gpuci_conda_retry' for build retries (results in 2 total attempts)
export GPUCI_CONDA_RETRY_MAX=1
export GPUCI_CONDA_RETRY_SLEEP=30

################################################################################
# SETUP - Check environment
################################################################################
Expand Down Expand Up @@ -56,11 +63,24 @@ conda config --set ssl_verify False
# BUILD - Conda package builds (conda deps: libcupatial <- cuspatial)
##########################################################################################

gpuci_logger "Building conda pkd for libcuspatial"
gpuci_conda_retry build conda/recipes/libcuspatial
if [ "$BUILD_LIBCUSPATIAL" == '1' ]; then
gpuci_logger "Build conda pkg for libcuspatial"
if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
gpuci_conda_retry build conda/recipes/libcuspatial
else
gpuci_conda_retry build --dirty --no-remove-work-dir conda/recipes/libcuspatial
fi
fi

gpuci_logger "Building conda pkg for cuspatial"
gpuci_conda_retry build conda/recipes/cuspatial --python=$PYTHON
if [ "$BUILD_CUSPATIAL" == '1' ]; then
gpuci_logger "Build conda pkg for cuspatial"
if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
gpuci_conda_retry build conda/recipes/cuspatial
else
gpuci_conda_retry build --dirty --no-remove-work-dir \
-c $WORKSPACE/ci/artifacts/cuspatial/cpu/conda-bld/ conda/recipes/cuspatial
fi
fi

################################################################################
# UPLOAD - Conda packages
Expand Down
5 changes: 5 additions & 0 deletions ci/cpu/prebuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,8 @@ else
export UPLOAD_LIBCUSPATIAL=0
fi

if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
#If project flash is not activate, always build both
export BUILD_LIBCUSPATIAL=1
export BUILD_CUSPATIAL=1
fi
6 changes: 2 additions & 4 deletions ci/cpu/upload.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,18 @@ export CUSPATIAL_FILE=`conda build conda/recipes/cuspatial --python=$PYTHON --ou

gpuci_logger "Starting conda uploads"

if [ "$UPLOAD_LIBCUSPATIAL" == "1" ]; then
if [[ "$BUILD_LIBCUSPATIAL" == "1" && "$UPLOAD_LIBCUSPATIAL" == "1" ]]; then
LABEL_OPTION="--label main"
echo "LABEL_OPTION=${LABEL_OPTION}"

test -e ${LIBCUSPATIAL_FILE}
echo "Upload libcuspatial"
echo ${LIBCUSPATIAL_FILE}
gpuci_retry anaconda -t ${MY_UPLOAD_KEY} upload -u ${CONDA_USERNAME:-rapidsai} ${LABEL_OPTION} --skip-existing ${LIBCUSPATIAL_FILE}
fi

if [ "$UPLOAD_CUSPATIAL" == "1" ]; then
if [[ "$BUILD_CUSPATIAL" == "1" && "$UPLOAD_CUSPATIAL" == "1" ]]; then
LABEL_OPTION="--label main"
echo "LABEL_OPTION=${LABEL_OPTION}"

test -e ${CUSPATIAL_FILE}
echo "Upload cuspatial"
echo ${CUSPATIAL_FILE}
Expand Down
2 changes: 2 additions & 0 deletions ci/docs/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ gpuci_logger "Check versions"
python --version
$CC --version
$CXX --version

gpuci_logger "Show conda info"
conda info
conda config --show-sources
conda list --show-channel-urls
Expand Down
96 changes: 76 additions & 20 deletions ci/gpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,15 @@ gpuci_conda_retry install "cudf=${MINOR_VERSION}.*" "cudatoolkit=$CUDA_REL" \
"rapids-build-env=$MINOR_VERSION.*"

# https://docs.rapids.ai/maintainers/depmgmt/
# conda remove -f rapids-build-env
# gpuci_conda_retry remove --force rapids-build-env
# gpuci_conda_retry install "your-pkg=1.0.0"

gpuci_logger "Check versions"
python --version
$CC --version
$CXX --version

gpuci_logger "Check conda environment"
conda info
conda config --show-sources
conda list --show-channel-urls
Expand All @@ -64,41 +66,95 @@ git clone https://github.com/rapidsai/cudf.git -b branch-$MINOR_VERSION ${CUDF_H
cd $CUDF_HOME
git submodule update --init --remote --recursive

################################################################################
# BUILD - Build libcuspatial and cuSpatial from source
################################################################################
if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
################################################################################
# BUILD - Build libcuspatial and cuSpatial from source
################################################################################

gpuci_logger "Build cuSpatial"
cd $WORKSPACE
./build.sh clean libcuspatial cuspatial tests
gpuci_logger "Build cuSpatial"
cd $WORKSPACE
./build.sh clean libcuspatial cuspatial tests

###############################################################################
# TEST - Run libcuspatial and cuSpatial Unit Tests
###############################################################################

if hasArg --skip-tests; then
gpuci_logger "Skipping tests"
else
gpuci_logger "Check GPU usage"
nvidia-smi

gpuci_logger "GoogleTests"
cd $WORKSPACE/cpp/build

for gt in ${WORKSPACE}/cpp/build/gtests/* ; do
test_name=$(basename ${gt})
echo "Running GoogleTest $test_name"
${gt} --gtest_output=xml:${WORKSPACE}/test-results/
done

###############################################################################
# TEST - Run libcuspatial and cuSpatial Unit Tests
###############################################################################
gpuci_logger "Download/Generate Test Data"
#TODO

if hasArg --skip-tests; then
gpuci_logger "Skipping tests"
gpuci_logger "Test cuSpatial"
#TODO

#Python Unit tests for cuSpatial
cd $WORKSPACE/python/cuspatial
py.test --cache-clear --junitxml=${WORKSPACE}/junit-cuspatial.xml -v
fi
else
export LD_LIBRARY_PATH="$WORKSPACE/ci/artifacts/cuspatial/cpu/conda_work/cpp/build:$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"

TESTRESULTS_DIR=${WORKSPACE}/test-results/
mkdir -p ${TESTRESULTS_DIR}
SUITEERROR=0

gpuci_logger "Check GPU usage"
nvidia-smi

gpuci_logger "GoogleTests"
cd $WORKSPACE/cpp/build

for gt in ${WORKSPACE}/cpp/build/gtests/* ; do
gpuci_logger "Running googletests"
# run gtests
cd $WORKSPACE/ci/artifacts/cuspatial/cpu/conda_work/
for gt in cpp/build/gtests/* ; do
test_name=$(basename ${gt})
echo "Running GoogleTest $test_name"
${gt} --gtest_output=xml:${WORKSPACE}/test-results/
${gt} --gtest_output=xml:${TESTRESULTS_DIR}
EXITCODE=$?
if (( ${EXITCODE} != 0 )); then
SUITEERROR=${EXITCODE}
echo "FAILED: GTest ${gt}"
fi
done

cd $WORKSPACE/python

CONDA_FILE=`find $WORKSPACE/ci/artifacts/cuspatial/cpu/conda-bld/ -name "libcuspatial*.tar.bz2"`
CONDA_FILE=`basename "$CONDA_FILE" .tar.bz2` #get filename without extension
CONDA_FILE=${CONDA_FILE//-/=} #convert to conda install
gpuci_logger "Installing $CONDA_FILE"
conda install -c $WORKSPACE/ci/artifacts/cuspatial/cpu/conda-bld/ "$CONDA_FILE"

export LIBCUGRAPH_BUILD_DIR="$WORKSPACE/ci/artifacts/cuspatial/cpu/conda_work/build"

gpuci_logger "Building cuspatial"
"$WORKSPACE/build.sh" -v cuspatial

gpuci_logger "Run pytests"
py.test --cache-clear --junitxml=${WORKSPACE}/junit-cuspatial.xml -v

EXITCODE=$?
if (( ${EXITCODE} != 0 )); then
SUITEERROR=${EXITCODE}
echo "FAILED: 1 or more tests in /cuspatial/python"
fi
gpuci_logger "Download/Generate Test Data"
#TODO

gpuci_logger "Test cuSpatial"
#TODO

#Python Unit tests for cuSpatial
cd $WORKSPACE/python/cuspatial
py.test --cache-clear --junitxml=${WORKSPACE}/junit-cuspatial.xml -v
exit ${SUITEERROR}
fi

2 changes: 1 addition & 1 deletion conda/recipes/cuspatial/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ requirements:
- python
- cudf {{ minor_version }}.*
- rmm {{ minor_version }}.*
- gdal >=3.0.2,<3.1.0a0
- gdal >=3.1.0,<3.2.0a0

test:
commands:
Expand Down
10 changes: 5 additions & 5 deletions conda/recipes/libcuspatial/build.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Copyright (c) 2018-2019, NVIDIA CORPORATION.

# This assumes the script is executed from the root of the repo directory
# show environment
printenv
# build cuspatial with verbose output
cd $WORKSPACE
./build.sh -v libcuspatial
if [[ -z "$PROJECT_FLASH" || "$PROJECT_FLASH" == "0" ]]; then
./build.sh -v libcuspatial
else
./build.sh -v libcuspatial tests
fi
6 changes: 3 additions & 3 deletions conda/recipes/libcuspatial/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ package:
version: {{ version }}

source:
git_url: ../../..
path: ../../..

build:
number: {{ GIT_DESCRIBE_NUMBER }}
Expand All @@ -19,8 +19,8 @@ build:
- CXX
- CUDAHOSTCXX
- PARALLEL_LEVEL
- CUDF_HOME
- VERSION_SUFFIX
- PROJECT_FLASH
run_exports:
- {{ pin_subpackage("libcuspatial", max_pin="x.x") }}

Expand All @@ -31,7 +31,7 @@ requirements:
- libcudf {{ minor_version }}.*
- librmm {{ minor_version }}.*
- cudatoolkit {{ cuda_version }}.*
- gdal >=3.0.2,<3.1.0a0
- gdal >=3.1.0,<3.2.0a0
run:
- {{ pin_compatible('cudatoolkit', max_pin='x.x') }}

Expand Down
2 changes: 1 addition & 1 deletion cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

cmake_minimum_required(VERSION 3.12...3.17 FATAL_ERROR)

project(CUDA_SPATIAL VERSION 0.17.0 LANGUAGES C CXX CUDA)
project(CUDA_SPATIAL VERSION 0.18.0 LANGUAGES C CXX CUDA)

if(NOT CMAKE_CUDA_COMPILER)
message(SEND_ERROR "CMake cannot locate a CUDA compiler")
Expand Down
4 changes: 2 additions & 2 deletions cpp/cmake/thirdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ message("Fetching libcudacxx")

FetchContent_Declare(
libcudacxx
GIT_REPOSITORY https://github.com/rapidsai/thirdparty-freestanding.git
GIT_TAG cudf
GIT_REPOSITORY https://github.com/NVIDIA/libcudacxx.git
GIT_TAG 1.4.0
GIT_SHALLOW true
)

Expand Down
Loading

0 comments on commit c4ff738

Please sign in to comment.