Skip to content

Commit f62c2e5

Browse files
committed
TRY gpu build
Signed-off-by: Larry Gritz <[email protected]>
1 parent 05338dd commit f62c2e5

File tree

5 files changed

+140
-7
lines changed

5 files changed

+140
-7
lines changed

.github/workflows/build-steps.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ on:
1818
type: string
1919
container:
2020
type: string
21+
container_options:
22+
type: string
2123
cc_compiler:
2224
type: string
2325
cxx_compiler:
@@ -88,7 +90,7 @@ jobs:
8890
runs-on: ${{ inputs.runner }}
8991
container:
9092
image: ${{ inputs.container }}
91-
93+
options: ${{ inputs.container_options }}
9294
env:
9395
CXX: ${{inputs.cxx_compiler}}
9496
CC: ${{inputs.cc_compiler}}

.github/workflows/ci.yml

Lines changed: 132 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ concurrency:
4545
jobs:
4646

4747
aswf-old:
48-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
48+
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') && ! contains(github.ref, 'gpu-only') }}
4949
name: "VFX${{matrix.vfxyear}} ${{matrix.desc}}"
5050
strategy:
5151
fail-fast: false
@@ -208,13 +208,14 @@ jobs:
208208
209209
210210
linux:
211-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
211+
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') && ! contains(github.ref, 'gpu-only') }}
212212
name: "${{matrix.desc}}"
213213
uses: ./.github/workflows/build-steps.yml
214214
with:
215215
nametag: ${{ matrix.nametag || 'unnamed!' }}
216216
runner: ${{ matrix.runner || 'ubuntu-latest' }}
217217
container: ${{ matrix.container }}
218+
container_options: ${{ matrix.container_options }}
218219
cc_compiler: ${{ matrix.cc_compiler || 'gcc' }}
219220
cxx_compiler: ${{ matrix.cxx_compiler || 'g++' }}
220221
cxx_std: ${{ matrix.cxx_std || '17' }}
@@ -268,7 +269,7 @@ jobs:
268269
setenvs: export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1"
269270
OPTIX_VERSION=7.0.0
270271
OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
271-
- desc: VP2024 gcc11/C++17 llvm17 py3.11 boost1.82 oiio-rel avx2
272+
- desc: VP2024 gcc11/C++17 llvm17 py3.11 oiio-rel avx2
272273
nametag: linux-vfx2024
273274
runner: ubuntu-latest
274275
container: aswftesting/ci-osl:2024-clang17
@@ -490,14 +491,84 @@ jobs:
490491
CLANG_FORMAT_EXE=clang-format-17
491492

492493

494+
# linux-optix:
495+
# if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
496+
# name: "${{matrix.desc}}"
497+
# uses: ./.github/workflows/build-steps.yml
498+
# with:
499+
# nametag: ${{ matrix.nametag || 'unnamed!' }}
500+
# runner: ${{ matrix.runner || 'ubuntu-latest' }}
501+
# container: ${{ matrix.container }}
502+
# container_args: ${{ matrix.container_args }}
503+
# cc_compiler: ${{ matrix.cc_compiler || 'gcc' }}
504+
# cxx_compiler: ${{ matrix.cxx_compiler || 'g++' }}
505+
# cxx_std: ${{ matrix.cxx_std || '17' }}
506+
# build_type: ${{ matrix.build_type || 'Release' }}
507+
# depcmds: ${{ matrix.depcmds }}
508+
# extra_artifacts: ${{ matrix.extra_artifacts }}
509+
# fmt_ver: ${{ matrix.fmt_ver }}
510+
# opencolorio_ver: ${{ matrix.opencolorio_ver }}
511+
# openexr_ver: ${{ matrix.openexr_ver }}
512+
# openimageio_ver: ${{ matrix.openimageio_ver }}
513+
# pybind11_ver: ${{ matrix.pybind11_ver }}
514+
# python_ver: ${{ matrix.python_ver }}
515+
# setenvs: ${{ matrix.setenvs }}
516+
# simd: ${{ matrix.simd }}
517+
# batched: ${{ matrix.batched }}
518+
# skip_build: ${{ matrix.skip_build }}
519+
# skip_tests: ${{ matrix.skip_tests }}
520+
# abi_check: ${{ matrix.abi_check }}
521+
# build_docs: ${{ matrix.build_docs }}
522+
# generator: ${{ matrix.generator }}
523+
# ctest_args: ${{ matrix.ctest_args }}
524+
# ctest_test_timeout: ${{ matrix.ctest_test_timeout || '800' }}
525+
# coverage: ${{ matrix.coverage || 0 }}
526+
# sonar: ${{ matrix.sonar || 0 }}
527+
# llvm_action_ver: ${{ matrix.llvm_action_ver }}
528+
# clang_format: ${{ matrix.clang_format }}
529+
# strategy:
530+
# fail-fast: false
531+
# matrix:
532+
# include:
533+
# # - desc: VP2023 GPU Cuda11 gcc11/C++17 llvm15 py3.10 OIIO-main avx2
534+
# # nametag: linux-optix7-2023
535+
# # runner: ubuntu-latest
536+
# # container: aswftesting/ci-osl:2023-clang15
537+
# # cxx_std: 17
538+
# # openimageio_ver: main
539+
# # python_ver: "3.10"
540+
# # pybind11_ver: v2.10.0
541+
# # simd: avx2,f16c
542+
# # skip_tests: 1
543+
# # setenvs: export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1"
544+
# # OPTIX_VERSION=7.0.0
545+
# # OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
546+
# - desc: VP2025 gcc11/C++17 llvm19 py3.11 oiio-rel avx2
547+
# nametag: linux-optix-vfx2025
548+
# runner: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-gpu-t4-4c-16g-176h') || 'ubuntu-latest' }}
549+
# # runner: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-22.04-8c-32g-300h') || 'ubuntu-latest' }}
550+
# container: aswf/ci-osl:2025
551+
# # container_options: --gpus all,capabilities=compute,utility
552+
# cxx_std: 17
553+
# # openimageio_ver: release
554+
# python_ver: "3.11"
555+
# pybind11_ver: v2.11.1
556+
# simd: avx2,f16c
557+
# setenvs: export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1"
558+
# OPTIX_VERSION=9.0.0
559+
# OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0
560+
# # setenvs: export CONAN_PACKAGES="ptex/2.4.2@aswf/vfx2024"
561+
562+
493563
macos:
494-
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'linux-only') }}
564+
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'gpu-only') }}
495565
name: "${{matrix.desc}}"
496566
uses: ./.github/workflows/build-steps.yml
497567
with:
498568
nametag: ${{ matrix.nametag || 'unnamed!' }}
499569
runner: ${{ matrix.runner }}
500570
container: ${{ matrix.container }}
571+
container_options: ${{ matrix.container_options }}
501572
cc_compiler: ${{ matrix.cc_compiler || 'clang' }}
502573
cxx_compiler: ${{ matrix.cxx_compiler || 'clang++' }}
503574
cxx_std: ${{ matrix.cxx_std || '17' }}
@@ -560,13 +631,14 @@ jobs:
560631

561632

562633
windows:
563-
if: ${{ ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'macos-only') }}
634+
if: ${{ ! contains(github.ref, 'linux-only') && ! contains(github.ref, 'macos-only') && ! contains(github.ref, 'gpu-only') }}
564635
name: "${{matrix.desc}}"
565636
uses: ./.github/workflows/build-steps.yml
566637
with:
567638
nametag: ${{ matrix.nametag || 'unnamed!' }}
568639
runner: ${{ matrix.runner }}
569640
container: ${{ matrix.container }}
641+
container_options: ${{ matrix.container_options }}
570642
cc_compiler: ${{ matrix.cc_compiler }}
571643
cxx_compiler: ${{ matrix.cxx_compiler }}
572644
cxx_std: ${{ matrix.cxx_std || '17' }}
@@ -639,3 +711,58 @@ jobs:
639711
OSL_CMAKE_FLAGS="-DUSE_LLVM_BTCODE=ON"
640712
PUGIXML_VERSION=v1.14
641713
OpenImageIO_BUILD_MISSING_DEPS="Freetype;TIFF;libdeflate;libjpeg-turbo"
714+
715+
716+
717+
718+
linux-optix:
719+
if: ${{ ! contains(github.ref, 'windows-only') && ! contains(github.ref, 'macos-only') }}
720+
name: "${{matrix.desc}}"
721+
uses: ./.github/workflows/build-steps.yml
722+
with:
723+
nametag: ${{ matrix.nametag || 'unnamed!' }}
724+
runner: ${{ matrix.runner || 'ubuntu-latest' }}
725+
container: ${{ matrix.container }}
726+
container_options: ${{ matrix.container_options }}
727+
cc_compiler: ${{ matrix.cc_compiler || 'gcc' }}
728+
cxx_compiler: ${{ matrix.cxx_compiler || 'g++' }}
729+
cxx_std: ${{ matrix.cxx_std || '17' }}
730+
build_type: ${{ matrix.build_type || 'Release' }}
731+
depcmds: ${{ matrix.depcmds }}
732+
extra_artifacts: ${{ matrix.extra_artifacts }}
733+
fmt_ver: ${{ matrix.fmt_ver }}
734+
opencolorio_ver: ${{ matrix.opencolorio_ver }}
735+
openexr_ver: ${{ matrix.openexr_ver }}
736+
openimageio_ver: ${{ matrix.openimageio_ver }}
737+
pybind11_ver: ${{ matrix.pybind11_ver }}
738+
python_ver: ${{ matrix.python_ver }}
739+
setenvs: ${{ matrix.setenvs }}
740+
simd: ${{ matrix.simd }}
741+
batched: ${{ matrix.batched }}
742+
skip_build: ${{ matrix.skip_build }}
743+
skip_tests: ${{ matrix.skip_tests }}
744+
abi_check: ${{ matrix.abi_check }}
745+
build_docs: ${{ matrix.build_docs }}
746+
generator: ${{ matrix.generator }}
747+
ctest_args: ${{ matrix.ctest_args }}
748+
ctest_test_timeout: ${{ matrix.ctest_test_timeout || '800' }}
749+
coverage: ${{ matrix.coverage || 0 }}
750+
sonar: ${{ matrix.sonar || 0 }}
751+
llvm_action_ver: ${{ matrix.llvm_action_ver }}
752+
clang_format: ${{ matrix.clang_format }}
753+
strategy:
754+
fail-fast: false
755+
matrix:
756+
include:
757+
- desc: OptiX VP2025 gcc11/C++17 llvm19 py3.11 oiio-rel avx2
758+
nametag: linux-optix-vfx2025
759+
runner: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-gpu-t4-4c-16g-176h') || 'ubuntu-latest' }}
760+
container: aswf/ci-osl:2025
761+
container_options: -e NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility --gpus all
762+
cxx_std: 17
763+
python_ver: "3.11"
764+
pybind11_ver: v2.11.1
765+
simd: avx2,f16c
766+
setenvs: export OSL_CMAKE_FLAGS="-DOSL_USE_OPTIX=1"
767+
OPTIX_VERSION=8.0.0
768+
OPENIMAGEIO_CMAKE_FLAGS=-DBUILD_FMT_VERSION=9.1.0

src/build-scripts/gh-installdeps.bash

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,9 @@ if [[ "$OPTIX_VERSION" != "" ]] ; then
152152
echo "Requested OPTIX_VERSION = '${OPTIX_VERSION}' from ${OPTIXREPO}"
153153
export OptiX_ROOT=$LOCAL_DEPS_DIR/dist/optix-dev
154154
git clone -b v${OPTIX_VERSION} ${OPTIXREPO} ${OptiX_ROOT}
155+
export PATH=$PATH:/usr/local/cuda-12/bin
156+
export LD_LIBRARY_PATH=/usr/local/cuda-12/lib64:$LD_LIBRARY_PATH
157+
find / -name "*nv*so" -print || true
155158
fi
156159

157160

src/cmake/externalpackages.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ if (OSL_USE_OPTIX)
201201
target_link_libraries (${TARGET} PRIVATE ${CUDA_LIBRARIES} ${CUDA_EXTRA_LIBS} ${OPTIX_LIBRARIES} ${OPTIX_EXTRA_LIBS})
202202
endfunction()
203203
else ()
204+
message(STATUS "CUDA/OptiX support disabled")
204205
function (osl_optix_target TARGET)
205206
endfunction()
206207
endif ()

testsuite/render-mx-generalized-schlick/run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
failthresh = 0.01
88
failpercent = 1
9-
allowfailures = 2
9+
allowfailures = 5
1010
idiff_program = "idiff"
1111

1212
outputs = [ "out.exr" ]

0 commit comments

Comments
 (0)