Files
project_6/cccl_upstream/ci/install_cccl.sh
muh-bot 2a7ca101d7 feat(cccl): integrate missing CCCL directories — python/, ci/, .agent/, docs/, test/
Sparse-checkout from NVIDIA/cccl main branch to complete cccl_upstream:

Added:
- python/cuda_cccl/ (226 files) — Python bindings for device-level algorithms
  Critical for muh toolchain: cuda.compute.reduce_into, scan, radix_sort, etc.
  Includes 204 .py files with full test coverage for all 27 algorithms
- ci/ (163 files) — Build/test infrastructure
  build_cub.sh, test_cub.sh, build_and_test_targets.sh, matrix.yaml
  Directly maps to our [INFRA-CI] and [INFRA-BUILD] items
- .agent/skills/ (7 files) — NVIDIA's own agent skills for CCCL
  cccl-style/SKILL.md, cccl-test/SKILL.md, sass-diff/SKILL.md
- docs/ (491 files) — Official CCCL documentation
  CI references, CMake guides, Python compute docs, libcudacxx PTX docs
- test/ (12 files) — Top-level integration tests (cuda_smoke, stdpar)
- Root configs: .clang-format, .clang-tidy, CONTRIBUTING.md, pyproject.toml
- CLAUDE.md symlink → AGENTS.md (NVIDIA's standard)

cccl_upstream now mirrors full NVIDIA/cccl structure:
  Before: 42M (cub + thrust + libcudacxx + cudax + c + examples + benchmarks)
  After:  53M (+python +ci +docs +.agent +test +configs)

This completes the CCCL base needed for:
- [muh-bench] items: ci/util/build_and_test_targets.sh for targeted builds
- [CCCL-verify] items: python/cuda_cccl/tests/ as reference implementations
- [CCCL-test] items: ci/test_cub.sh, ci/test_thrust.sh
- Agent workflow: .agent/skills/ for consistent style and test patterns
2026-08-07 02:34:33 +00:00

50 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
target_dir=$(realpath "$1")
mkdir -p "$target_dir"
# Move script to the root directory of the project
cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )";
source ./pretty_printing.sh
# Check if the correct number of arguments has been provided
function usage {
echo "Usage: $0 [OPTIONS] dir"
echo
echo "Installs CCCL to the provided directory"
echo "Options:"
echo " -v/-verbose: Enable shell echo for debugging"
echo
echo "Examples:"
echo " $ $0 ~/my/prefix"
exit 1
}
while [[ "$#" -gt 0 ]]; do
case "$1" in
--verbose) VERBOSE=true; ;;
-v) VERBOSE=true; ;;
*) break ;;
esac
shift
done
if [[ -n "$VERBOSE" ]]; then
set -x
fi
# Move to cccl/ dir
pushd ".." > /dev/null
GROUP_NAME="🛠️ CMake Configure CCCL - Install"
run_command "$GROUP_NAME" cmake -G "Unix Makefiles" --preset install -DCMAKE_INSTALL_PREFIX="${target_dir}"
status=$?
GROUP_NAME="🏗️ Install CCCL"
run_command "$GROUP_NAME" cmake --build --preset install --target install
status=$?
popd > /dev/null