Skip to content

Add cuda 13.2 to arm64 via jetson using the forward compatibility for jetpack 6.x #449

Add cuda 13.2 to arm64 via jetson using the forward compatibility for jetpack 6.x

Add cuda 13.2 to arm64 via jetson using the forward compatibility for jetpack 6.x #449

name: CMake on Windows (x64)
on:
#push:
# branches: [ $default-branch ]
pull_request:
branches: ["LTS-C*"]
jobs:
build:
runs-on: [self-hosted, windows, x64]
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
include:
- host_compiler: "cl"
msvc_env_version: "14.44"
cuda_version: "12.9"
- host_compiler: "cl"
msvc_env_version: "14.44"
cuda_version: "13.0"
- host_compiler: "cl"
msvc_env_version: "14.50"
cuda_version: "13.2"
- host_compiler: "clang-cl"
msvc_env_version: "14.44"
cuda_version: "12.9"
- host_compiler: "clang-cl"
msvc_env_version: "14.44"
cuda_version: "13.0"
- host_compiler: "clang-cl"
msvc_env_version: "14.50"
cuda_version: "13.2"
steps:
- uses: actions/checkout@v4
- name: Set reusable strings
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
id: strings
run: |
echo "build-output-dir=${{github.workspace}}/build" >> "$env:GITHUB_OUTPUT"
echo "D:/clang+llvm-21.1.0-x86_64-pc-windows-msvc/bin/" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "CUDACXX=${env:ProgramFiles}\NVIDIA GPU Computing Toolkit\CUDA\v${{matrix.cuda_version}}\bin\nvcc.exe" >> "$env:GITHUB_ENV"
echo "CC=${{matrix.host_compiler}}" >> "$env:GITHUB_ENV"
echo "CXX=${{matrix.host_compiler}}" >> "$env:GITHUB_ENV"
- name: Detect visual studio installation
run: |
$vsWhere = "${Env:ProgramFiles(x86)}/Microsoft Visual Studio/Installer/vswhere.exe"
$vsInstallationPath = & $vsWhere -products * -latest -property installationPath
echo "VS_INSTALLATION_PATH=$vsInstallationPath" >> "$env:GITHUB_ENV"
echo "DEV_ARGS=-arch=x64 -vcvars_ver=${{matrix.msvc_env_version}}" >> "$env:GITHUB_ENV"
- name: Configure CMake
run: |
Import-Module (Get-ChildItem $env:VS_INSTALLATION_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName
Enter-VsDevShell -VsInstallPath $env:VS_INSTALLATION_PATH -SkipAutomaticLocation -DevCmdArguments $env:DEV_ARGS
cmake -G "Ninja" -B ${{steps.strings.outputs.build-output-dir}} -DCMAKE_BUILD_TYPE=Release -S ${{github.workspace}};
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
#workaround for rules.ninja generating empty path
(Get-Content ${{steps.strings.outputs.build-output-dir}}\CMakeFiles\rules.ninja) -replace "\\nvcc\\bin\\nvcc.exe", "$env:CUDACXX" | Set-Content ${{steps.strings.outputs.build-output-dir}}\CMakeFiles\rules.ninja
- name: Build
run: |
Import-Module (Get-ChildItem $env:VS_INSTALLATION_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName
Enter-VsDevShell -VsInstallPath $env:VS_INSTALLATION_PATH -SkipAutomaticLocation -DevCmdArguments $env:DEV_ARGS
cmake --build ${{ steps.strings.outputs.build-output-dir }} --config Release
- name: Test
working-directory: ${{ steps.strings.outputs.build-output-dir }}
run: ctest --build-config Release --output-junit test_results.xml