Skip to content

Commit 64aa298

Browse files
committed
enable build cluster
1 parent 1f63796 commit 64aa298

6 files changed

Lines changed: 131 additions & 7 deletions

File tree

.devcontainer/llvm20-cuda12.0/devcontainer.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,26 @@
55

66
"initializeCommand": ["/bin/bash", "-c", "mkdir -p .cache/.{aws,cache,config}"],
77

8+
"postCreateCommand": [
9+
"/bin/bash",
10+
"-c",
11+
"if test -z \"${DISABLE_SCCACHE:+x}\"; then echo \"export SCCACHE_DIST_URL='https://$(dpkg --print-architecture).$(uname -s | tr '[:upper:]' '[:lower:]').sccache.rapids.nvidia.com'\" >> /home/coder/.bashrc; fi"
12+
],
13+
814
"containerEnv": {
915
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs",
1016
"DEVCONTAINER_UTILS_ENABLE_SCCACHE_DIST": "true",
1117
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
18+
"NVCC_APPEND_FLAGS": "-t=100",
19+
"SCCACHE_DIST_CONNECT_TIMEOUT": "${localEnv:SCCACHE_DIST_CONNECT_TIMEOUT:30}",
20+
"SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE": "${localEnv:SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE:true}",
21+
"SCCACHE_DIST_KEEPALIVE_ENABLED": "${localEnv:SCCACHE_DIST_KEEPALIVE_ENABLED:true}",
22+
"SCCACHE_DIST_KEEPALIVE_INTERVAL": "${localEnv:SCCACHE_DIST_KEEPALIVE_INTERVAL:20}",
23+
"SCCACHE_DIST_KEEPALIVE_TIMEOUT": "${localEnv:SCCACHE_DIST_KEEPALIVE_TIMEOUT:600}",
24+
"SCCACHE_DIST_MAX_RETRIES": "${localEnv:SCCACHE_DIST_MAX_RETRIES:2}",
25+
"SCCACHE_DIST_REWRITE_INCLUDES_ONLY": "${localEnv:SCCACHE_DIST_REWRITE_INCLUDES_ONLY:true}",
26+
"SCCACHE_DIST_REQUEST_TIMEOUT": "${localEnv:SCCACHE_DIST_REQUEST_TIMEOUT:7140}",
27+
"SCCACHE_IDLE_TIMEOUT": "${localEnv:SCCACHE_IDLE_TIMEOUT:7200}",
1228
"SCCACHE_BUCKET": "rapids-sccache-devs",
1329
"SCCACHE_REGION": "us-east-2",
1430
"SCCACHE_S3_KEY_PREFIX": "nvidia-stdexec-dev",

.devcontainer/llvm20-cuda12.9/devcontainer.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,26 @@
55

66
"initializeCommand": ["/bin/bash", "-c", "mkdir -p .cache/.{aws,cache,config}"],
77

8+
"postCreateCommand": [
9+
"/bin/bash",
10+
"-c",
11+
"if test -z \"${DISABLE_SCCACHE:+x}\"; then echo \"export SCCACHE_DIST_URL='https://$(dpkg --print-architecture).$(uname -s | tr '[:upper:]' '[:lower:]').sccache.rapids.nvidia.com'\" >> /home/coder/.bashrc; fi"
12+
],
13+
814
"containerEnv": {
915
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs",
1016
"DEVCONTAINER_UTILS_ENABLE_SCCACHE_DIST": "true",
1117
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
18+
"NVCC_APPEND_FLAGS": "-t=100",
19+
"SCCACHE_DIST_CONNECT_TIMEOUT": "${localEnv:SCCACHE_DIST_CONNECT_TIMEOUT:30}",
20+
"SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE": "${localEnv:SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE:true}",
21+
"SCCACHE_DIST_KEEPALIVE_ENABLED": "${localEnv:SCCACHE_DIST_KEEPALIVE_ENABLED:true}",
22+
"SCCACHE_DIST_KEEPALIVE_INTERVAL": "${localEnv:SCCACHE_DIST_KEEPALIVE_INTERVAL:20}",
23+
"SCCACHE_DIST_KEEPALIVE_TIMEOUT": "${localEnv:SCCACHE_DIST_KEEPALIVE_TIMEOUT:600}",
24+
"SCCACHE_DIST_MAX_RETRIES": "${localEnv:SCCACHE_DIST_MAX_RETRIES:2}",
25+
"SCCACHE_DIST_REWRITE_INCLUDES_ONLY": "${localEnv:SCCACHE_DIST_REWRITE_INCLUDES_ONLY:true}",
26+
"SCCACHE_DIST_REQUEST_TIMEOUT": "${localEnv:SCCACHE_DIST_REQUEST_TIMEOUT:7140}",
27+
"SCCACHE_IDLE_TIMEOUT": "${localEnv:SCCACHE_IDLE_TIMEOUT:7200}",
1228
"SCCACHE_BUCKET": "rapids-sccache-devs",
1329
"SCCACHE_REGION": "us-east-2",
1430
"SCCACHE_S3_KEY_PREFIX": "nvidia-stdexec-dev",

.devcontainer/llvm20-cuda13.0/devcontainer.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,26 @@
55

66
"initializeCommand": ["/bin/bash", "-c", "mkdir -p .cache/.{aws,cache,config}"],
77

8+
"postCreateCommand": [
9+
"/bin/bash",
10+
"-c",
11+
"if test -z \"${DISABLE_SCCACHE:+x}\"; then echo \"export SCCACHE_DIST_URL='https://$(dpkg --print-architecture).$(uname -s | tr '[:upper:]' '[:lower:]').sccache.rapids.nvidia.com'\" >> /home/coder/.bashrc; fi"
12+
],
13+
814
"containerEnv": {
915
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs",
1016
"DEVCONTAINER_UTILS_ENABLE_SCCACHE_DIST": "true",
1117
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
18+
"NVCC_APPEND_FLAGS": "-t=100",
19+
"SCCACHE_DIST_CONNECT_TIMEOUT": "${localEnv:SCCACHE_DIST_CONNECT_TIMEOUT:30}",
20+
"SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE": "${localEnv:SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE:true}",
21+
"SCCACHE_DIST_KEEPALIVE_ENABLED": "${localEnv:SCCACHE_DIST_KEEPALIVE_ENABLED:true}",
22+
"SCCACHE_DIST_KEEPALIVE_INTERVAL": "${localEnv:SCCACHE_DIST_KEEPALIVE_INTERVAL:20}",
23+
"SCCACHE_DIST_KEEPALIVE_TIMEOUT": "${localEnv:SCCACHE_DIST_KEEPALIVE_TIMEOUT:600}",
24+
"SCCACHE_DIST_MAX_RETRIES": "${localEnv:SCCACHE_DIST_MAX_RETRIES:2}",
25+
"SCCACHE_DIST_REWRITE_INCLUDES_ONLY": "${localEnv:SCCACHE_DIST_REWRITE_INCLUDES_ONLY:true}",
26+
"SCCACHE_DIST_REQUEST_TIMEOUT": "${localEnv:SCCACHE_DIST_REQUEST_TIMEOUT:7140}",
27+
"SCCACHE_IDLE_TIMEOUT": "${localEnv:SCCACHE_IDLE_TIMEOUT:7200}",
1228
"SCCACHE_BUCKET": "rapids-sccache-devs",
1329
"SCCACHE_REGION": "us-east-2",
1430
"SCCACHE_S3_KEY_PREFIX": "nvidia-stdexec-dev",

.devcontainer/nvhpc25.7/devcontainer.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,26 @@
55

66
"initializeCommand": ["/bin/bash", "-c", "mkdir -p .cache/.{aws,cache,config}"],
77

8+
"postCreateCommand": [
9+
"/bin/bash",
10+
"-c",
11+
"if test -z \"${DISABLE_SCCACHE:+x}\"; then echo \"export SCCACHE_DIST_URL='https://$(dpkg --print-architecture).$(uname -s | tr '[:upper:]' '[:lower:]').sccache.rapids.nvidia.com'\" >> /home/coder/.bashrc; fi"
12+
],
13+
814
"containerEnv": {
915
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs",
1016
"DEVCONTAINER_UTILS_ENABLE_SCCACHE_DIST": "true",
1117
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
18+
"NVCC_APPEND_FLAGS": "-t=100",
19+
"SCCACHE_DIST_CONNECT_TIMEOUT": "${localEnv:SCCACHE_DIST_CONNECT_TIMEOUT:30}",
20+
"SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE": "${localEnv:SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE:true}",
21+
"SCCACHE_DIST_KEEPALIVE_ENABLED": "${localEnv:SCCACHE_DIST_KEEPALIVE_ENABLED:true}",
22+
"SCCACHE_DIST_KEEPALIVE_INTERVAL": "${localEnv:SCCACHE_DIST_KEEPALIVE_INTERVAL:20}",
23+
"SCCACHE_DIST_KEEPALIVE_TIMEOUT": "${localEnv:SCCACHE_DIST_KEEPALIVE_TIMEOUT:600}",
24+
"SCCACHE_DIST_MAX_RETRIES": "${localEnv:SCCACHE_DIST_MAX_RETRIES:2}",
25+
"SCCACHE_DIST_REWRITE_INCLUDES_ONLY": "${localEnv:SCCACHE_DIST_REWRITE_INCLUDES_ONLY:false}",
26+
"SCCACHE_DIST_REQUEST_TIMEOUT": "${localEnv:SCCACHE_DIST_REQUEST_TIMEOUT:7140}",
27+
"SCCACHE_IDLE_TIMEOUT": "${localEnv:SCCACHE_IDLE_TIMEOUT:7200}",
1228
"SCCACHE_BUCKET": "rapids-sccache-devs",
1329
"SCCACHE_REGION": "us-east-2",
1430
"SCCACHE_S3_KEY_PREFIX": "nvidia-stdexec-dev",

.github/workflows/ci.cpu.yml

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,22 @@ jobs:
5050
persist-credentials: false
5151
- name: Setup environment
5252
run: |
53-
echo "ARTIFACT_PREFIX=${{runner.os}}-${{matrix.tag}}-${{matrix.arch}}" >> "${GITHUB_ENV}"
53+
echo "ARTIFACT_PREFIX=${{runner.os}}-${{matrix.tag}}-amd64" >> "${GITHUB_ENV}"
5454
echo "ARTIFACT_SUFFIX=${{github.run_id}}-${{github.run_attempt}}-$RANDOM" >> "${GITHUB_ENV}"
55+
- id: sccache-preprocessor-cache
56+
name: Setup sccache preprocessor cache
57+
uses: actions/cache@v4
58+
with:
59+
path: /home/coder/.cache/sccache/preprocessor
60+
restore-keys: sccache-preprocessor-cache-${{env.ARTIFACT_PREFIX}}
61+
key: sccache-preprocessor-cache-${{env.ARTIFACT_PREFIX}}-${{env.ARTIFACT_SUFFIX}}
62+
- id: sccache-dist-toolchains-cache
63+
name: Setup sccache-dist client toolchains cache
64+
uses: actions/cache@v4
65+
with:
66+
path: /home/coder/.cache/sccache-dist-client
67+
restore-keys: sccache-toolchains-cache-${{env.ARTIFACT_PREFIX}}
68+
key: sccache-toolchains-cache-${{env.ARTIFACT_PREFIX}}-${{env.ARTIFACT_SUFFIX}}
5569
- if: github.repository_owner == 'NVIDIA'
5670
name: Get AWS credentials for sccache bucket
5771
uses: aws-actions/configure-aws-credentials@v4
@@ -60,11 +74,27 @@ jobs:
6074
role-duration-seconds: 28800 # 8 hours
6175
role-to-assume: arn:aws:iam::279114543810:role/gha-oidc-NVIDIA
6276
- name: Build and test CPU schedulers
77+
env:
78+
NVCC_APPEND_FLAGS: "-t=100"
79+
SCCACHE_DIST_URL: "https://amd64.linux.sccache.rapids.nvidia.com"
80+
SCCACHE_DIST_CONNECT_TIMEOUT: "30"
81+
SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE: "true"
82+
SCCACHE_DIST_KEEPALIVE_ENABLED: "true"
83+
SCCACHE_DIST_KEEPALIVE_INTERVAL: "20"
84+
SCCACHE_DIST_KEEPALIVE_TIMEOUT: "600"
85+
SCCACHE_DIST_MAX_RETRIES: "2"
86+
SCCACHE_DIST_REWRITE_INCLUDES_ONLY: ${{ contains(matrix.tag, 'llvm') && 'true' || 'false' }}
87+
SCCACHE_DIST_REQUEST_TIMEOUT: "7140"
88+
SCCACHE_IDLE_TIMEOUT: "7200"
6389
run: |
6490
set -ex;
6591
6692
devcontainer-utils-install-sccache --repo rapidsai/sccache --version rapids;
67-
devcontainer-utils-start-sccache;
93+
devcontainer-utils-init-sccache-dist \
94+
--enable-sccache-dist - <<< " \
95+
--auth-type 'token' \
96+
--auth-token '${{ secrets.STDEXEC_BUILD_CLUSTER_SECRET }}' \
97+
";
6898
6999
# Copy source folder into ~/stdexec
70100
cp -r "${GITHUB_WORKSPACE}"/stdexec ~/;
@@ -81,13 +111,13 @@ jobs:
81111
;
82112
83113
# Compile
84-
cmake --build build -v -j 64;
114+
cmake --build build -v -j 512;
85115
86116
# Print sccache stats
87117
sccache -s;
88118
89119
# Tests
90-
ctest --test-dir build --verbose --output-on-failure --timeout 60;
120+
ctest --test-dir build --verbose --output-on-failure --timeout 300;
91121
- if: ${{ !cancelled() }}
92122
name: Upload sccache logs
93123
uses: actions/upload-artifact@v4

.github/workflows/ci.gpu.yml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,20 @@ jobs:
5454
run: |
5555
echo "ARTIFACT_PREFIX=${{runner.os}}-cuda${{matrix.cuda}}-${{matrix.tag}}-${{matrix.arch}}" >> "${GITHUB_ENV}"
5656
echo "ARTIFACT_SUFFIX=${{github.run_id}}-${{github.run_attempt}}-$RANDOM" >> "${GITHUB_ENV}"
57+
- id: sccache-preprocessor-cache
58+
name: Setup sccache preprocessor cache
59+
uses: actions/cache@v4
60+
with:
61+
path: /home/coder/.cache/sccache/preprocessor
62+
restore-keys: sccache-preprocessor-cache-${{env.ARTIFACT_PREFIX}}
63+
key: sccache-preprocessor-cache-${{env.ARTIFACT_PREFIX}}-${{env.ARTIFACT_SUFFIX}}
64+
- id: sccache-dist-toolchains-cache
65+
name: Setup sccache-dist client toolchains cache
66+
uses: actions/cache@v4
67+
with:
68+
path: /home/coder/.cache/sccache-dist-client
69+
restore-keys: sccache-toolchains-cache-${{env.ARTIFACT_PREFIX}}
70+
key: sccache-toolchains-cache-${{env.ARTIFACT_PREFIX}}-${{env.ARTIFACT_SUFFIX}}
5771
- if: github.repository_owner == 'NVIDIA'
5872
name: Get AWS credentials for sccache bucket
5973
uses: aws-actions/configure-aws-credentials@v4
@@ -62,6 +76,18 @@ jobs:
6276
role-duration-seconds: 28800 # 8 hours
6377
role-to-assume: arn:aws:iam::279114543810:role/gha-oidc-NVIDIA
6478
- name: Build and test GPU schedulers
79+
env:
80+
NVCC_APPEND_FLAGS: "-t=100"
81+
SCCACHE_DIST_URL: "https://${{ matrix.arch }}.linux.sccache.rapids.nvidia.com"
82+
SCCACHE_DIST_CONNECT_TIMEOUT: "30"
83+
SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE: "true"
84+
SCCACHE_DIST_KEEPALIVE_ENABLED: "true"
85+
SCCACHE_DIST_KEEPALIVE_INTERVAL: "20"
86+
SCCACHE_DIST_KEEPALIVE_TIMEOUT: "600"
87+
SCCACHE_DIST_MAX_RETRIES: "2"
88+
SCCACHE_DIST_REWRITE_INCLUDES_ONLY: ${{ matrix.cxx == 'clang++' && 'true' || 'false' }}
89+
SCCACHE_DIST_REQUEST_TIMEOUT: "7140"
90+
SCCACHE_IDLE_TIMEOUT: "7200"
6591
run: |
6692
set -e;
6793
@@ -76,7 +102,11 @@ jobs:
76102
set -x;
77103
78104
devcontainer-utils-install-sccache --repo rapidsai/sccache --version rapids;
79-
devcontainer-utils-start-sccache;
105+
devcontainer-utils-init-sccache-dist \
106+
--enable-sccache-dist - <<< " \
107+
--auth-type 'token' \
108+
--auth-token '${{ secrets.STDEXEC_BUILD_CLUSTER_SECRET }}' \
109+
";
80110
81111
# Copy source folder into ~/stdexec
82112
cp -r "${GITHUB_WORKSPACE}"/stdexec ~/;
@@ -94,13 +124,13 @@ jobs:
94124
;
95125
96126
# Compile
97-
cmake --build build -v;
127+
cmake --build build -v -j 512;
98128
99129
# Print sccache stats
100130
sccache -s;
101131
102132
# Tests
103-
ctest --test-dir build --verbose --output-on-failure --timeout 60;
133+
ctest --test-dir build --verbose --output-on-failure --timeout 300;
104134
105135
# Examples
106136
./build/examples/nvexec/maxwell_cpu_st --iterations=1000 --N=512 --run-cpp --run-inline-scheduler;

0 commit comments

Comments
 (0)