Skip to content

Commit fa70d64

Browse files
committed
enable build cluster
1 parent 1f63796 commit fa70d64

6 files changed

Lines changed: 129 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: 33 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,26 @@ 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_REWRITE_INCLUDES_ONLY: ${{ contains(matrix.tag, 'llvm') && 'true' || 'false' }}
86+
SCCACHE_DIST_REQUEST_TIMEOUT: "7140"
87+
SCCACHE_IDLE_TIMEOUT: "7200"
6388
run: |
6489
set -ex;
6590
6691
devcontainer-utils-install-sccache --repo rapidsai/sccache --version rapids;
67-
devcontainer-utils-start-sccache;
92+
devcontainer-utils-init-sccache-dist \
93+
--enable-sccache-dist - <<< " \
94+
--auth-type 'token' \
95+
--auth-token '${{ secrets.STDEXEC_BUILD_CLUSTER_SECRET }}' \
96+
";
6897
6998
# Copy source folder into ~/stdexec
7099
cp -r "${GITHUB_WORKSPACE}"/stdexec ~/;
@@ -81,13 +110,13 @@ jobs:
81110
;
82111
83112
# Compile
84-
cmake --build build -v -j 64;
113+
cmake --build build -v -j 512;
85114
86115
# Print sccache stats
87116
sccache -s;
88117
89118
# Tests
90-
ctest --test-dir build --verbose --output-on-failure --timeout 60;
119+
ctest --test-dir build --verbose --output-on-failure --timeout 300;
91120
- if: ${{ !cancelled() }}
92121
name: Upload sccache logs
93122
uses: actions/upload-artifact@v4

.github/workflows/ci.gpu.yml

Lines changed: 32 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,17 @@ 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_REWRITE_INCLUDES_ONLY: ${{ matrix.cxx == 'clang++' && 'true' || 'false' }}
88+
SCCACHE_DIST_REQUEST_TIMEOUT: "7140"
89+
SCCACHE_IDLE_TIMEOUT: "7200"
6590
run: |
6691
set -e;
6792
@@ -76,7 +101,11 @@ jobs:
76101
set -x;
77102
78103
devcontainer-utils-install-sccache --repo rapidsai/sccache --version rapids;
79-
devcontainer-utils-start-sccache;
104+
devcontainer-utils-init-sccache-dist \
105+
--enable-sccache-dist - <<< " \
106+
--auth-type 'token' \
107+
--auth-token '${{ secrets.STDEXEC_BUILD_CLUSTER_SECRET }}' \
108+
";
80109
81110
# Copy source folder into ~/stdexec
82111
cp -r "${GITHUB_WORKSPACE}"/stdexec ~/;
@@ -94,13 +123,13 @@ jobs:
94123
;
95124
96125
# Compile
97-
cmake --build build -v;
126+
cmake --build build -v -j 512;
98127
99128
# Print sccache stats
100129
sccache -s;
101130
102131
# Tests
103-
ctest --test-dir build --verbose --output-on-failure --timeout 60;
132+
ctest --test-dir build --verbose --output-on-failure --timeout 300;
104133
105134
# Examples
106135
./build/examples/nvexec/maxwell_cpu_st --iterations=1000 --N=512 --run-cpp --run-inline-scheduler;

0 commit comments

Comments
 (0)