From 2e43813e5a9f98d48cf443c930af17d2e3adc76c Mon Sep 17 00:00:00 2001 From: Michael Demoret Date: Fri, 22 Apr 2022 10:49:44 -0700 Subject: [PATCH 01/10] Ensure the cache directories exist --- ci/conda/recipes/cudf/build.sh | 3 +++ ci/conda/recipes/libcudf/build.sh | 3 +++ ci/conda/recipes/morpheus/morpheus_build.sh | 3 +++ ci/conda/recipes/run_conda_build.sh | 11 ++++------- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ci/conda/recipes/cudf/build.sh b/ci/conda/recipes/cudf/build.sh index 9120baeda5..fe932d0333 100644 --- a/ci/conda/recipes/cudf/build.sh +++ b/ci/conda/recipes/cudf/build.sh @@ -23,6 +23,9 @@ export CCACHE_DEBUGDIR=${SRC_DIR}/ccache_debug export CCACHE_SLOPPINESS="system_headers" export CCACHE_NOHASHDIR=1 +# Double check that the cache dir has been created +mkdir -p ${CCACHE_DIR} + # CMake with nvcc uses -isystem=/path instead of -isystem /path which ccache doesnt like. Replace that REPLACE_ISYSTEM="ARGS=()\nfor i in \"\${@}\"; do\n ARGS+=(\${i/\"-isystem=/\"/\"-isystem /\"})\ndone\n" diff --git a/ci/conda/recipes/libcudf/build.sh b/ci/conda/recipes/libcudf/build.sh index 29e424cab6..2b2d57c100 100644 --- a/ci/conda/recipes/libcudf/build.sh +++ b/ci/conda/recipes/libcudf/build.sh @@ -26,6 +26,9 @@ export CCACHE_SLOPPINESS="system_headers" export CC=${GCC} export CXX=${GXX} +# Double check that the cache dir has been created +mkdir -p ${CCACHE_DIR} + # CMake with nvcc uses -isystem=/path instead of -isystem /path which ccache doesnt like. Replace that REPLACE_ISYSTEM="ARGS=()\nfor i in \"\${@}\"; do\n ARGS+=(\${i/\"-isystem=/\"/\"-isystem /\"})\ndone\n" diff --git a/ci/conda/recipes/morpheus/morpheus_build.sh b/ci/conda/recipes/morpheus/morpheus_build.sh index 698acea329..cc0528ad9f 100644 --- a/ci/conda/recipes/morpheus/morpheus_build.sh +++ b/ci/conda/recipes/morpheus/morpheus_build.sh @@ -26,6 +26,9 @@ export CCACHE_BASEDIR=$(realpath ${SRC_DIR}/..) if [[ -n "${MORPHEUS_CACHE_DIR}" ]]; then # Set the cache variable, then set the Staging prefix to allow for host searching CMAKE_ARGS="-DMORPHEUS_CACHE_DIR=${MORPHEUS_CACHE_DIR} ${CMAKE_ARGS}" + + # Double check that the cache dir has been created + mkdir -p ${MORPHEUS_CACHE_DIR} fi CMAKE_ARGS="-DCMAKE_MESSAGE_CONTEXT_SHOW=ON ${CMAKE_ARGS}" diff --git a/ci/conda/recipes/run_conda_build.sh b/ci/conda/recipes/run_conda_build.sh index 927bfda0e8..cf1498fcab 100755 --- a/ci/conda/recipes/run_conda_build.sh +++ b/ci/conda/recipes/run_conda_build.sh @@ -48,13 +48,6 @@ echo "" # Export variables for the cache export MORPHEUS_CACHE_DIR=${MORPHEUS_CACHE_DIR:-"${MORPHEUS_ROOT}/.cache"} -# Ensure the build directory exists -export CONDA_BLD_DIR=${CONDA_BLD_DIR:-"${MORPHEUS_CACHE_DIR}/conda-build"} -mkdir -p ${CONDA_BLD_DIR} - -# Where the conda packages are saved to outside of the conda environment -CONDA_BLD_OUTPUT=${CONDA_BLD_OUTPUT:-"${MORPHEUS_ROOT}/.conda-bld"} - # Export CCACHE variables export CCACHE_DIR="${MORPHEUS_CACHE_DIR}/ccache" export CCACHE_NOHASHDIR=1 @@ -63,6 +56,10 @@ export CMAKE_C_COMPILER_LAUNCHER="ccache" export CMAKE_CXX_COMPILER_LAUNCHER="ccache" export CMAKE_CUDA_COMPILER_LAUNCHER="ccache" +# Ensure the necessary folders exist before continuing +mkdir -p ${MORPHEUS_CACHE_DIR} +mkdir -p ${CCACHE_DIR} + # Holds the arguments in an array to allow for complex json objects CONDA_ARGS_ARRAY=() From 72b3d2bb1535ea0f35cfe700e4782685fa18e4a4 Mon Sep 17 00:00:00 2001 From: Michael Demoret Date: Fri, 22 Apr 2022 13:20:13 -0700 Subject: [PATCH 02/10] Updating build_conda_packages to specify which packages to build --- docker/build_conda_packages.sh | 58 +++++++++++++++++++++++++++---- docker/build_container.sh | 3 -- docker/build_container_release.sh | 2 +- docker/run_container_dev.sh | 2 ++ 4 files changed, 55 insertions(+), 10 deletions(-) diff --git a/docker/build_conda_packages.sh b/docker/build_conda_packages.sh index 0a439f7228..d3756be022 100755 --- a/docker/build_conda_packages.sh +++ b/docker/build_conda_packages.sh @@ -16,6 +16,13 @@ set -e +NUMARGS=$# +ARGS=$* + +function hasArg { + (( ${NUMARGS} != 0 )) && (echo " ${ARGS} " | grep -q " $1 ") +} + SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" # Need to build the development docker container to setup git safe.directory @@ -30,15 +37,54 @@ echo "Building container" ${SCRIPT_DIR}/build_container_dev.sh # Now run the container with the volume mount to build the packages -export DOCKER_EXTRA_ARGS="" +CONDA_ARGS=() +CONDA_ARGS+=("--output-folder" "/workspace/.conda-bld") +CONDA_ARGS+=("--skip-existing") -echo "Running conda build" +DOCKER_EXTRA_ARGS=() + +if hasArg libneo; then + # If libneo is specified, you must set NEO_GIT_URL + DOCKER_EXTRA_ARGS+=("--env" "NEO_GIT_URL=${NEO_GIT_URL:?"Cannot build libneo. Must set NEO_GIT_URL to git repo location to allow checkout of neo repository"}") + + url=${NEO_GIT_URL} + + # Remove the http/https/ssh + url="${url#http://}" + url="${url#https://}" + url="${url#ssh://}" + + # Remove git@ + url="${url#git@}" -CONDA_ARGS="--output-folder=/workspace/.conda-bld" -export DOCKER_EXTRA_ARGS="--env CONDA_ARGS=${CONDA_ARGS} --env NEO_GIT_URL=${NEO_GIT_URL:?"Cannot build libneo. Must set NEO_GIT_URL to git repo location to allow checkout of neo repository"}" + # Remove username/password + url="${url#*:*@}" + url="${url#*@}" + + # Remove remaining + url=${url%%/*} + + port=${url##*:} + url=${url%%:*} + + # Add the command to auto accept this url/port combo + if [[ -n "${port}" ]]; then + BUILD_SCRIPT="${BUILD_SCRIPT:+${BUILD_SCRIPT}\n}mkdir -p \$HOME/.ssh && ssh-keyscan -t rsa -p ${port} ${url} > ~/.ssh/known_hosts" + else + BUILD_SCRIPT="${BUILD_SCRIPT:+${BUILD_SCRIPT}\n}mkdir -p \$HOME/.ssh && ssh-keyscan -t rsa ${url} > ~/.ssh/known_hosts" + fi +fi + +# Build the script to execute inside of the container (needed to set multiple statements in CONDA_ARGS) +BUILD_SCRIPT="${BUILD_SCRIPT} +export CONDA_ARGS=\"${CONDA_ARGS[@]}\" +./ci/conda/recipes/run_conda_build.sh "$@" +" + +echo "Running conda build" # Run with an output folder that is mounted and skip existing to avoid repeated builds -${SCRIPT_DIR}/run_container_dev.sh ./ci/conda/recipes/run_conda_build.sh libneo libcudf cudf +DOCKER_EXTRA_ARGS="${DOCKER_EXTRA_ARGS[@]}" ${SCRIPT_DIR}/run_container_dev.sh bash -c "${BUILD_SCRIPT}" echo "Conda packages have been built. Use the following to install into an environment:" -echo " mamba install -c file://$(realpath ${MORPHEUS_ROOT}/.conda-bld) -c nvidia -c rapidsai -c conda-forge neo cudf" +echo " mamba install -c file://$(realpath ${MORPHEUS_ROOT}/.conda-bld) -c nvidia -c rapidsai -c conda-forge $@" diff --git a/docker/build_container.sh b/docker/build_container.sh index 4f4a5c1d87..da7fc0e946 100755 --- a/docker/build_container.sh +++ b/docker/build_container.sh @@ -29,7 +29,6 @@ LINUX_VER=${LINUX_VER:-20.04} RAPIDS_VER=${RAPIDS_VER:-21.10} PYTHON_VER=${PYTHON_VER:-3.8} TENSORRT_VERSION=${TENSORRT_VERSION:-8.2.1.3} -NEO_GIT_URL=${NEO_GIT_URL:-UNKNOWN} DOCKER_ARGS="-t ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}" DOCKER_ARGS="${DOCKER_ARGS} --target ${DOCKER_TARGET}" @@ -40,7 +39,6 @@ DOCKER_ARGS="${DOCKER_ARGS} --build-arg LINUX_VER=${LINUX_VER}" DOCKER_ARGS="${DOCKER_ARGS} --build-arg RAPIDS_VER=${RAPIDS_VER}" DOCKER_ARGS="${DOCKER_ARGS} --build-arg PYTHON_VER=${PYTHON_VER}" DOCKER_ARGS="${DOCKER_ARGS} --build-arg TENSORRT_VERSION=${TENSORRT_VERSION}" -DOCKER_ARGS="${DOCKER_ARGS} --build-arg NEO_GIT_URL=${NEO_GIT_URL}" DOCKER_ARGS="${DOCKER_ARGS} --network=host" if [[ "${DOCKER_BUILDKIT}" = "1" ]]; then @@ -62,7 +60,6 @@ echo " LINUX_VER : ${LINUX_VER}" echo " RAPIDS_VER : ${RAPIDS_VER}" echo " PYTHON_VER : ${PYTHON_VER}" echo " TENSORRT_VERSION: ${TENSORRT_VERSION}" -echo " NEO_GIT_URL : ${NEO_GIT_URL}" echo "" echo " COMMAND: docker buildx build ${DOCKER_ARGS} -f docker/Dockerfile ." echo " Note: add '--progress plain' to DOCKER_ARGS to show all container build output" diff --git a/docker/build_container_release.sh b/docker/build_container_release.sh index bc7a21692c..275e9e0c48 100755 --- a/docker/build_container_release.sh +++ b/docker/build_container_release.sh @@ -18,7 +18,7 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" export DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-"nvcr.io/nvidia/morpheus/morpheus"} -export DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG:-"latest"} +export DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG:-"runtime-$(git describe --tags --abbrev=0)"} export DOCKER_TARGET=${DOCKER_TARGET:-"runtime"} # Call the general build script diff --git a/docker/run_container_dev.sh b/docker/run_container_dev.sh index 167f9bec98..d85d102d62 100755 --- a/docker/run_container_dev.sh +++ b/docker/run_container_dev.sh @@ -39,4 +39,6 @@ fi echo -e "${g}Launching ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}...${x}" +set -x docker run --rm -ti ${DOCKER_ARGS} ${DOCKER_EXTRA_ARGS} ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG} "${@:-bash}" +set +x From d62d5b7b6a2df34a96e478e43c3e8c9e012e67e2 Mon Sep 17 00:00:00 2001 From: David Gardner Date: Fri, 22 Apr 2022 16:03:22 -0700 Subject: [PATCH 03/10] Add missing nodejs dep --- docker/conda/environments/cuda11.4_dev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/conda/environments/cuda11.4_dev.yml b/docker/conda/environments/cuda11.4_dev.yml index e2fc5aee5d..1a7252f9d6 100644 --- a/docker/conda/environments/cuda11.4_dev.yml +++ b/docker/conda/environments/cuda11.4_dev.yml @@ -52,6 +52,7 @@ dependencies: - myst-parser==0.17 - neo 22.04.* - ninja=1.10 + - nodejs=17.4.0 - pandas=1.3 - pip - protobuf=3.19 From 078cd4284323c578a3ebe3bee0ab1c96c7942b86 Mon Sep 17 00:00:00 2001 From: David Gardner Date: Fri, 22 Apr 2022 16:03:56 -0700 Subject: [PATCH 04/10] Create dirs ahead of time to prevent them from being owned by root --- docker/build_conda_packages.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/build_conda_packages.sh b/docker/build_conda_packages.sh index d3756be022..a84dd16c57 100755 --- a/docker/build_conda_packages.sh +++ b/docker/build_conda_packages.sh @@ -31,6 +31,8 @@ export DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG:-"conda_build"} export DOCKER_TARGET=${DOCKER_TARGET:-"development"} MORPHEUS_ROOT=${MORPHEUS_ROOT:-$(git rev-parse --show-toplevel)} +mkdir -p ${MORPHEUS_ROOT}/.cache/ccache +mkdir -p ${MORPHEUS_ROOT}/.cache/cpm echo "Building container" # Call the build script to get a container ready to build conda packages From c126dd70a62a518b03ea1eea65bd4020089219dd Mon Sep 17 00:00:00 2001 From: David Gardner Date: Fri, 22 Apr 2022 16:04:10 -0700 Subject: [PATCH 05/10] Update instructions --- CONTRIBUTING.md | 52 ++++++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5f85439ab2..c4d78f8f4e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -55,13 +55,17 @@ The following instructions are for developers who are getting started with the M All of the following instructions assume several variables have been set: - `MORPHEUS_ROOT`: The Morpheus repository has been checked out at a location specified by this variable. Any non-absolute paths are relative to `MORPHEUS_ROOT`. - `PYTHON_VER`: The desired Python version. Minimum required is 3.8 - - `RAPIDS_VER`: The desired RAPIDS version for all RAPIDS libraries including cuDF and RMM. This is also used for Triton. - - `CUDA_VER`: The desired CUDA version to use. + - `RAPIDS_VER`: The desired RAPIDS version for all RAPIDS libraries including cuDF and RMM. This is also used for Triton. If in doubt use `21.10` + - `CUDA_VER`: The desired CUDA version to use. If in doubt use `11.4` + ### Clone the repository and pull large file data from Git LFS ```bash -MORPHEUS_ROOT=$(pwd)/morpheus +export PYTHON_VER=3.8 +export RAPIDS_VER=21.10 +export CUDA_VER=11.4 +export MORPHEUS_ROOT=$(pwd)/morpheus git clone https://github.com/NVIDIA/Morpheus.git $MORPHEUS_ROOT cd $MORPHEUS_ROOT ``` @@ -153,38 +157,46 @@ Note: These instructions assume the user is using `mamba` instead of `conda` sin 1. Create a new Conda environment ```bash - export CUDAToolkit_ROOT=/usr/local/cuda-{CUDA_VER} - mamba env create -n morpheus -f ./docker/conda/environments/cuda${CUDA_VER}_dev.yml + mamba create -n morpheus python=${PYTHON_VER} conda activate morpheus ``` - This creates an environment named `morpheus` with all necessary dependencies, and activates that environment. -2. Build cuDF + + This creates a new environment named `morpheus`, and activates that environment. +1. Build cuDF ```bash - # Clone cuDF - git clone -b branch-${RAPIDS_VER} --depth 1 https://github.com/rapidsai/cudf ${MORPHEUS_ROOT}/.cache/cudf - cd ${MORPHEUS_ROOT}/.cache/cudf - # Apply the Morpheus cuDF patch - git apply --whitespace=fix ${MORPHEUS_ROOT}/cmake/deps/patches/cudf.patch - # Build cuDF libraries - ./build.sh --ptds libcudf cudf libcudf_kafka cudf_kafka - cd ${MORPHEUS_ROOT} + ./docker/build_conda_packages.sh libcudf cudf + mamba install -c file:///${MORPHEUS_ROOT}/.conda-bld -c nvidia -c rapidsai -c conda-forge libcudf cudf ``` This will checkout, patch, build and install cuDF with the necessary fixes to allow Morpheus to work smoothly with cuDF DataFrames in C++. -3. Build Morpheus +1. Install remaining Morpheus dependencies + ```bash + mamba env update -n morpheus -f ./docker/conda/environments/cuda${CUDA_VER}_dev.yml + ``` +1. Build Morpheus ```bash ./scripts/compile.sh ``` This script will run both CMake Configure with default options and CMake build. -4. Install Morpheus +1. Install Morpheus ```bash pip install -e ${MORPHEUS_ROOT} ``` Once Morpheus has been built, it can be installed into the current virtual environment. -5. Install camouflage, needed for the unittests +1. Test the build (Note: some tests will be skipped) + ```bash + pytest + ``` +1. Optional: Run full end-to-end tests + - Our end-to-end tests require the [camouflage](https://testinggospels.github.io/camouflage/) testing framework. Install camouflage with: + ```bash + npm install -g camouflage-server + ``` + + Run all tests: ```bash - npm install -g camouflage-server + pytest --run_slow ``` -6. Run Morpheus +1. Run Morpheus ```bash morpheus run pipeline-nlp ... ``` From 0336a689a1f1dd8dbf26a723a63fffaa561bbd14 Mon Sep 17 00:00:00 2001 From: David Gardner Date: Mon, 25 Apr 2022 10:52:15 -0700 Subject: [PATCH 06/10] Set user/group ownership of the .cache dir back to the originating user so it won't be owned by root --- CONTRIBUTING.md | 13 +++++++++++-- docker/build_conda_packages.sh | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c4d78f8f4e..a357f4929e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -144,9 +144,9 @@ Note: These instructions assume the user is using `mamba` instead of `conda` sin - Pascal architecture or better - NVIDIA driver `450.80.02` or higher - [CUDA 11.0+](https://developer.nvidia.com/cuda-downloads) -- `conda` or `mamba` +- `conda` and `mamba` - See the [Getting Started Guide](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) if `conda` is not already installed - - [Optional] Install `mamba` to speed up the package solver (highly recommended): + - Install `mamba`: ```bash conda activate base @@ -155,6 +155,15 @@ Note: These instructions assume the user is using `mamba` instead of `conda` sin - **Note:** `mamba` should only be installed once in the base environment +1. Setup env variables and clone the repo: + ```bash + export PYTHON_VER=3.8 + export RAPIDS_VER=21.10 + export CUDA_VER=11.4 + export MORPHEUS_ROOT=$(pwd)/morpheus + git clone https://github.com/NVIDIA/Morpheus.git $MORPHEUS_ROOT + cd $MORPHEUS_ROOT + ``` 1. Create a new Conda environment ```bash mamba create -n morpheus python=${PYTHON_VER} diff --git a/docker/build_conda_packages.sh b/docker/build_conda_packages.sh index a84dd16c57..508b8873b7 100755 --- a/docker/build_conda_packages.sh +++ b/docker/build_conda_packages.sh @@ -30,6 +30,9 @@ export DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-"morpheus"} export DOCKER_IMAGE_TAG=${DOCKER_IMAGE_TAG:-"conda_build"} export DOCKER_TARGET=${DOCKER_TARGET:-"development"} +CUR_UID=$(id -u ${LOGNAME}) +CUR_GID=$(id -g ${LOGNAME}) + MORPHEUS_ROOT=${MORPHEUS_ROOT:-$(git rev-parse --show-toplevel)} mkdir -p ${MORPHEUS_ROOT}/.cache/ccache mkdir -p ${MORPHEUS_ROOT}/.cache/cpm @@ -87,6 +90,7 @@ echo "Running conda build" # Run with an output folder that is mounted and skip existing to avoid repeated builds DOCKER_EXTRA_ARGS="${DOCKER_EXTRA_ARGS[@]}" ${SCRIPT_DIR}/run_container_dev.sh bash -c "${BUILD_SCRIPT}" +DOCKER_EXTRA_ARGS="${DOCKER_EXTRA_ARGS[@]}" ${SCRIPT_DIR}/run_container_dev.sh bash -c "chown -R ${CUR_UID}:${CUR_GID} .cache" echo "Conda packages have been built. Use the following to install into an environment:" echo " mamba install -c file://$(realpath ${MORPHEUS_ROOT}/.conda-bld) -c nvidia -c rapidsai -c conda-forge $@" From 190b1b6aaba29d590f7edb942503ac1c66e7bc58 Mon Sep 17 00:00:00 2001 From: David Gardner Date: Mon, 25 Apr 2022 12:12:57 -0700 Subject: [PATCH 07/10] Add instructions for setting up ssh-agent prior to running ./docker/build_conda_packages.sh --- CONTRIBUTING.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a357f4929e..4882439946 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -171,6 +171,11 @@ Note: These instructions assume the user is using `mamba` instead of `conda` sin ``` This creates a new environment named `morpheus`, and activates that environment. +1. Set up `ssh-agent` to allow container to pull from private repos + ```bash + eval `ssh-agent -s` + ssh-add + ``` 1. Build cuDF ```bash ./docker/build_conda_packages.sh libcudf cudf From b0ce0fa2d34d660c66baf62c8487bf479de11a1c Mon Sep 17 00:00:00 2001 From: David Gardner Date: Mon, 25 Apr 2022 12:20:08 -0700 Subject: [PATCH 08/10] Keep the mkdirs --- docker/build_conda_packages.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/build_conda_packages.sh b/docker/build_conda_packages.sh index 6d125a1ae0..508b8873b7 100755 --- a/docker/build_conda_packages.sh +++ b/docker/build_conda_packages.sh @@ -34,6 +34,8 @@ CUR_UID=$(id -u ${LOGNAME}) CUR_GID=$(id -g ${LOGNAME}) MORPHEUS_ROOT=${MORPHEUS_ROOT:-$(git rev-parse --show-toplevel)} +mkdir -p ${MORPHEUS_ROOT}/.cache/ccache +mkdir -p ${MORPHEUS_ROOT}/.cache/cpm echo "Building container" # Call the build script to get a container ready to build conda packages From b098bd0fbf272b2d0460bfebc775cfe752f2c9c1 Mon Sep 17 00:00:00 2001 From: David Gardner <96306125+dagardner-nv@users.noreply.github.com> Date: Mon, 25 Apr 2022 16:20:40 -0700 Subject: [PATCH 09/10] Update CONTRIBUTING.md Co-authored-by: Michael Demoret <42954918+mdemoret-nv@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4882439946..7ba71595e1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -176,7 +176,7 @@ Note: These instructions assume the user is using `mamba` instead of `conda` sin eval `ssh-agent -s` ssh-add ``` -1. Build cuDF +1. Build and install cuDF conda package ```bash ./docker/build_conda_packages.sh libcudf cudf mamba install -c file:///${MORPHEUS_ROOT}/.conda-bld -c nvidia -c rapidsai -c conda-forge libcudf cudf From ad9bd64fec2d335486fd2bb7a2f9983e4072762d Mon Sep 17 00:00:00 2001 From: David Gardner Date: Mon, 25 Apr 2022 17:08:41 -0700 Subject: [PATCH 10/10] Move chown into the docker build and chown the conda-bld dir --- docker/build_conda_packages.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/build_conda_packages.sh b/docker/build_conda_packages.sh index 508b8873b7..ba21de89a9 100755 --- a/docker/build_conda_packages.sh +++ b/docker/build_conda_packages.sh @@ -84,13 +84,13 @@ fi BUILD_SCRIPT="${BUILD_SCRIPT} export CONDA_ARGS=\"${CONDA_ARGS[@]}\" ./ci/conda/recipes/run_conda_build.sh "$@" +chown -R ${CUR_UID}:${CUR_GID} .cache .conda-bld " echo "Running conda build" # Run with an output folder that is mounted and skip existing to avoid repeated builds DOCKER_EXTRA_ARGS="${DOCKER_EXTRA_ARGS[@]}" ${SCRIPT_DIR}/run_container_dev.sh bash -c "${BUILD_SCRIPT}" -DOCKER_EXTRA_ARGS="${DOCKER_EXTRA_ARGS[@]}" ${SCRIPT_DIR}/run_container_dev.sh bash -c "chown -R ${CUR_UID}:${CUR_GID} .cache" echo "Conda packages have been built. Use the following to install into an environment:" echo " mamba install -c file://$(realpath ${MORPHEUS_ROOT}/.conda-bld) -c nvidia -c rapidsai -c conda-forge $@"