Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/build-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,9 @@ jobs:
runs-on: ${{ inputs.runner }}
container:
image: ${{ inputs.container }}

options: ${{ (contains(inputs.runner, 'gpu') && '-e NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility --gpus all') || '-e A=x' }}
# ^^ need extra options on the GPU runners to ensure OptiX is visible
# in the container.
env:
CXX: ${{inputs.cxx_compiler}}
CC: ${{inputs.cc_compiler}}
Expand Down
79 changes: 61 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ permissions: read-all
jobs:

aswf-old:
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') && ! contains(github.ref, 'optix-only') }}
name: "VFX${{matrix.vfxyear}} ${{matrix.desc}}"
strategy:
fail-fast: false
Expand Down Expand Up @@ -203,7 +203,7 @@ jobs:


linux:
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') && ! contains(github.ref, 'optix-only') }}
name: "${{matrix.desc}}"
uses: ./.github/workflows/build-steps.yml
with:
Expand Down Expand Up @@ -250,20 +250,7 @@ jobs:
pybind11_ver: v2.9.0
simd: avx2,f16c
batched: b8_AVX2
- desc: VP2023 GPU Cuda11 gcc11/C++17 llvm15 py3.10 OIIO-main avx2
nametag: linux-optix7-2023
runner: ubuntu-latest
container: aswftesting/ci-osl:2023-clang15
cxx_std: 17
openimageio_ver: main
python_ver: "3.10"
pybind11_ver: v2.10.0
simd: avx2,f16c
skip_tests: 1
setenvs: export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1"
OPTIX_VERSION=7.0.0
OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
- desc: VP2024 gcc11/C++17 llvm17 py3.11 boost1.82 oiio-rel avx2
- desc: VP2024 gcc11/C++17 llvm17 py3.11 oiio-rel avx2
nametag: linux-vfx2024
runner: ubuntu-latest
container: aswftesting/ci-osl:2024-clang17
Expand Down Expand Up @@ -486,7 +473,7 @@ jobs:


macos:
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'linux-only') }}
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'optix-only') }}
name: "${{matrix.desc}}"
uses: ./.github/workflows/build-steps.yml
with:
Expand Down Expand Up @@ -555,7 +542,7 @@ jobs:


windows:
if: ${{ ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'macos-only') }}
if: ${{ ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'macos-only') && ! contains(github.ref, 'optix-only') }}
name: "${{matrix.desc}}"
uses: ./.github/workflows/build-steps.yml
with:
Expand Down Expand Up @@ -620,3 +607,59 @@ jobs:
OSL_CMAKE_FLAGS="-DUSE_LLVM_BTCODE=ON"
PUGIXML_VERSION=v1.14
OpenImageIO_BUILD_MISSING_DEPS="Freetype;TIFF;libdeflate;libjpeg-turbo"


optix-gpu:
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
name: "${{matrix.desc}}"
uses: ./.github/workflows/build-steps.yml
with:
nametag: ${{ matrix.nametag || 'unnamed!' }}
runner: ${{ matrix.runner || 'ubuntu-latest' }}
container: ${{ matrix.container }}
cc_compiler: ${{ matrix.cc_compiler || 'gcc' }}
cxx_compiler: ${{ matrix.cxx_compiler || 'g++' }}
cxx_std: ${{ matrix.cxx_std || '17' }}
build_type: ${{ matrix.build_type || 'Release' }}
depcmds: ${{ matrix.depcmds }}
extra_artifacts: ${{ matrix.extra_artifacts }}
fmt_ver: ${{ matrix.fmt_ver }}
opencolorio_ver: ${{ matrix.opencolorio_ver }}
openexr_ver: ${{ matrix.openexr_ver }}
openimageio_ver: ${{ matrix.openimageio_ver }}
pybind11_ver: ${{ matrix.pybind11_ver }}
python_ver: ${{ matrix.python_ver }}
setenvs: ${{ matrix.setenvs }}
simd: ${{ matrix.simd }}
batched: ${{ matrix.batched }}
skip_build: ${{ matrix.skip_build }}
skip_tests: ${{ matrix.skip_tests }}
abi_check: ${{ matrix.abi_check }}
build_docs: ${{ matrix.build_docs }}
generator: ${{ matrix.generator }}
ctest_args: ${{ matrix.ctest_args }}
ctest_test_timeout: ${{ matrix.ctest_test_timeout || '800' }}
coverage: ${{ matrix.coverage || 0 }}
sonar: ${{ matrix.sonar || 0 }}
llvm_action_ver: ${{ matrix.llvm_action_ver }}
clang_format: ${{ matrix.clang_format }}
strategy:
fail-fast: false
matrix:
include:
- desc: OptiX ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'GPU') || 'build only' }} VP2025 gcc11/C++17 llvm18 py3.11 oiio-rel avx2
# ^^ This will run on GPU when on the ASWF account, but is a
# "build only" test on user accounts. Similar conditionals below
# select the right runner type and whether tests are run.
nametag: linux-optix-vfx2025
runner: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-gpu-t4-4c-16g-176h') || 'ubuntu-latest' }}
container: aswf/ci-osl:2025-clang18
cxx_std: 17
python_ver: "3.11"
pybind11_ver: v2.11.1
simd: avx2,f16c
skip_tests: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && '0') || '1' }}
setenvs: export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1"
OPTIX_VERSION=8.0.0
OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
CTEST_EXCLUSIONS="broken|render-microfacet|example-cuda|python-oslquery"
3 changes: 3 additions & 0 deletions src/build-scripts/gh-installdeps.bash
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,9 @@ if [[ "$OPTIX_VERSION" != "" ]] ; then
echo "Requested OPTIX_VERSION = '${OPTIX_VERSION}' from ${OPTIXREPO}"
export OptiX_ROOT=$LOCAL_DEPS_DIR/dist/optix-dev
git clone -b v${OPTIX_VERSION} ${OPTIXREPO} ${OptiX_ROOT}
export PATH=$PATH:/usr/local/cuda-12/bin
export LD_LIBRARY_PATH=/usr/local/cuda-12/lib64:$LD_LIBRARY_PATH
find / -name "*nv*so" -print || true
fi


Expand Down
1 change: 1 addition & 0 deletions src/cmake/externalpackages.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ if (OSL_USE_OPTIX)
target_link_libraries (${TARGET} PRIVATE ${CUDA_LIBRARIES} ${CUDA_EXTRA_LIBS} ${OPTIX_LIBRARIES} ${OPTIX_EXTRA_LIBS})
endfunction()
else ()
message(STATUS "CUDA/OptiX support disabled")
function (osl_optix_target TARGET)
endfunction()
endif ()
Expand Down
2 changes: 1 addition & 1 deletion testsuite/render-mx-generalized-schlick/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

failthresh = 0.01
failpercent = 1
allowfailures = 2
allowfailures = 5
idiff_program = "idiff"

outputs = [ "out.exr" ]
Expand Down
Loading