Skip to content

Commit

Permalink
Merge branch 'release-2.7.x'
Browse files Browse the repository at this point in the history
  • Loading branch information
johguenther committed Aug 14, 2021
2 parents 6462fd8 + 01ffd55 commit a783bf9
Show file tree
Hide file tree
Showing 531 changed files with 3,919 additions and 55,684 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ readme.pdf
!/modules/simdGeometryExample
!/modules/denoiser
!/modules/mpi
!/modules/multiDevice
*.vim
.idea/
premake.local.*
Expand Down
88 changes: 74 additions & 14 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ variables:
- build/*/build/CMakeCache.txt
expire_in: 3 day

.job_template: &build_artifacts_all
artifacts:
paths:
- build/install
- build/CMakeCache.txt
- build/*/build/CMakeCache.txt
expire_in: 3 day

.job_template: &release_job
stage: release
needs: [pdf]
Expand Down Expand Up @@ -71,6 +79,12 @@ variables:
script:
- LD_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$LD_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX512SKX

.job_template: &test_job_unix_mpi_avx2
<<: *test_job
tags: [docker, avx2, modules]
script:
- LD_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$LD_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX2 TEST_MPI

.job_template: &test_job_unix_sanitize
<<: *test_job
tags: [docker, avx512vl]
Expand Down Expand Up @@ -137,7 +151,7 @@ build-linux-debug-all:
script:
- export CC=clang
- export CXX=clang++
- scripts/build_gitlab/linux.sh -G Ninja -DCMAKE_BUILD_TYPE=Debug -DDEPENDENCIES_BUILD_TYPE=Debug -DBUILD_GLFW=OFF -DBUILD_OSPRAY_CI_EXTRAS=ON -DBUILD_EMBREE_FROM_SOURCE=ON -DBUILD_OIDN=ON -DBUILD_OIDN_FROM_SOURCE=ON
- scripts/build_gitlab/linux.sh -G Ninja -DCMAKE_BUILD_TYPE=Debug -DDEPENDENCIES_BUILD_TYPE=Debug -DBUILD_GLFW=OFF -DBUILD_OSPRAY_CI_EXTRAS=ON -DBUILD_EMBREE_FROM_SOURCE=ON -DBUILD_OIDN=ON -DBUILD_OIDN_FROM_SOURCE=ON -DBUILD_OSPRAY_MODULE_MPI=ON -DBUILD_OSPRAY_MODULE_MULTIDEVICE=ON
<<: *build_artifacts
only: [schedules]

Expand All @@ -159,7 +173,7 @@ build-ubuntu2004-gcc:
<<: *build_job_docker
image: $DOCKER_REGISTRY/ospray/docker-images:ubuntu20.04
script:
- scripts/build_gitlab/linux.sh -G Ninja -DBUILD_GLFW=OFF
- scripts/build_gitlab/linux.sh -G Ninja -DBUILD_GLFW=OFF -DBUILD_OSPRAY_MODULE_MULTIDEVICE=ON
<<: *build_artifacts

build-centos8:
Expand Down Expand Up @@ -198,6 +212,7 @@ build-centos7-mpi-impi:
- module load cmake
- module load intel/2021.2
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON
<<: *build_artifacts

build-centos7-mpi-openmpi:
<<: *build_job_docker_modules
Expand All @@ -212,6 +227,7 @@ build-centos7-mpi-mpich:
- module load cmake
- module load mpi/mpich-x86_64
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON
<<: *build_artifacts

build-centos8-mpi-openmpi:
<<: *build_job_docker
Expand All @@ -234,7 +250,7 @@ build-mpi-cluster:
- module load cmake
- module load impi
- module load gnu
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON -DOSPRAY_BUILD_GLM=OFF
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON -DOSPRAY_BUILD_GLM=OFF -DBUILD_OSPRAY_MODULE_MULTIDEVICE=ON
<<: *build_artifacts
only: [schedules]

Expand All @@ -253,16 +269,24 @@ build-osx-clang:
- osx
- clang
script:
- scripts/build_gitlab/macosx.sh
- scripts/build_gitlab/macosx.sh -DBUILD_OSPRAY_MODULE_MULTIDEVICE=ON
<<: *build_artifacts

build-osx-arm:
stage: build
tags:
- mac-arm
script:
- scripts/build_gitlab/macosx.sh -DBUILD_TBB_FROM_SOURCE=ON -DBUILD_EMBREE_FROM_SOURCE=ON -DBUILD_OIDN=ON -DBUILD_OIDN_FROM_SOURCE=ON
<<: *build_artifacts_all

build-windows-msvc15:
stage: build
tags:
- win
- msvc15
script:
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Release" "OFF"
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Release" "OFF" "OFF"
<<: *build_artifacts

build-windows-debug-all:
Expand All @@ -272,18 +296,18 @@ build-windows-debug-all:
- msvc15
- mpi
script:
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Debug" "ON"
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Debug" "ON" "ON"
<<: *build_artifacts
only: [schedules]

build-windows-msvc16-mpi:
build-windows-msvc16-mpi_and_md:
stage: build
tags:
- win
- msvc16
- mpi
script:
- scripts\build_gitlab\win.ps1 "Visual Studio 16 2019" "v142" "Release" "ON"
- scripts\build_gitlab\win.ps1 "Visual Studio 16 2019" "v142" "Release" "ON" "ON"
<<: *build_artifacts

#build-windows-icc:
Expand Down Expand Up @@ -327,14 +351,35 @@ test-ubuntu2004-gcc-avx512skx:
<<: *test_job_unix_avx512skx
image: $DOCKER_REGISTRY/ospray/docker-images:ubuntu20.04
needs: [build-ubuntu2004-gcc]
script:
- LD_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$LD_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX512SKX TEST_MULTIDEVICE

test-centos7-gcc-mpi-mpich-avx2:
<<: *test_job_unix_mpi_avx2
image: $DOCKER_REGISTRY/ospray/docker-images:centos7-mod
needs: [build-centos7-mpi-mpich]
before_script:
- module load cmake
- module load mpi/mpich-x86_64

test-centos7-gcc-mpi-impi-avx2:
<<: *test_job_unix_mpi_avx2
image: $DOCKER_REGISTRY/ospray/docker-images:centos7-mod
needs: [build-centos7-mpi-impi]
before_script:
- module load cmake
- module load intel/2021.2
# Note: no omnipath/infiniband/shm comm access for MPI within
# Docker container, just use sockets for running validation test
- export FI_PROVIDER=sockets

test-mpi-cluster:
<<: *test_job_unix_avx512skx
tags: [cluster]
script:
- module load impi
- module load gnu
- LD_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$LD_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX512SKX
- LD_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$LD_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX512SKX TEST_MPI TEST_MULTIDEVICE
needs: [build-mpi-cluster]
only: [schedules]

Expand All @@ -353,6 +398,13 @@ test-osx-clang:
<<: *test_job
tags: [osx]
needs: [build-osx-clang]
script:
- DYLD_FALLBACK_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$DYLD_FALLBACK_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE

test-osx-arm:
<<: *test_job
tags: [mac-arm]
needs: [build-osx-arm]
script:
- DYLD_FALLBACK_LIBRARY_PATH="$CI_PROJECT_DIR/build/install/ospray/lib:$DYLD_FALLBACK_LIBRARY_PATH" PATH="$CI_PROJECT_DIR/build/install/ospray/bin:$PATH" scripts/tests/run_tests.sh "$CI_PROJECT_DIR" AVX2

Expand Down Expand Up @@ -398,13 +450,19 @@ test-windows-debug-all:
test-windows-msvc16-avx2:
<<: *test_job_windows_avx2
tags: [win, msvc16, avx2]
needs: [build-windows-msvc16-mpi]
needs: [build-windows-msvc16-mpi_and_md]
allow_failure: true
script:
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE

test-windows-msvc16-avx512skx:
<<: *test_job_windows_avx512skx
tags: [win, msvc16, avx512vl]
needs: [build-windows-msvc16-mpi]
needs: [build-windows-msvc16-mpi_and_md]
script:
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX512SKX TEST_MULTIDEVICE

generate-ci-baseline-avx2:
<<: *test_job_unix_avx2
Expand Down Expand Up @@ -536,9 +594,11 @@ release-windows:
kw-build:
stage: scan1
tags: [docker]
image: $DOCKER_REGISTRY/ospray/docker-images:centos7
image: $DOCKER_REGISTRY/ospray/docker-images:centos7-mod
needs: []
script:
- module load cmake
- module load intel/2021.2
- scripts/build_gitlab/kw.sh
- test -s $CI_PROJECT_DIR/klocwork/build.log
- test -s $CI_PROJECT_DIR/klocwork/build_name
Expand Down Expand Up @@ -642,7 +702,7 @@ test-release-windows-zip:
<<: *test_job
<<: *release_job
stage: scan3
tags: [win, avx512vl]
tags: [win, mpi, avx512vl]
needs: [release-windows]
script:
- Expand-Archive build_release/*.zip -DestinationPath .
Expand All @@ -654,7 +714,7 @@ test-release-windows-msi:
<<: *test_job
<<: *release_job
stage: scan3
tags: [win, avx512vl]
tags: [win, mpi, avx512vl]
needs: [release-windows]
script:
- msiexec.exe /a (Get-ChildItem build_release/*.msi | Select-Object -Expand FullName) /qn TARGETDIR=$CI_PROJECT_DIR
Expand Down
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,46 @@
Version History
---------------

### Changes in v2.7.0:

- Add support for transformation and camera Motion Blur (with the path
tracer) via `shutter` parameter of the camera and `motion.transform`
array and `time` parameter of the instance and camera
- OSPRay can now be built for ARM64 CPUs with NEON (e.g., Apple M1)
using the superbuild. Thus, new minimum versions are for ISPC
1.16.0, for Embree 3.13.1 and for rkcommon 1.7.0
- OSPRay now requires minimum Open VKL v1.0.0 to bring the
following improvements:
- Configurable `background` values for all volume types (default
`NaN`), defining region outside the volume domain
- Better default sampling rate for scaled VDB volumes, improved
robustness
- Structured regular volumes now support tricubic filtering and
more accurate gradient computations as well as more robust
isosurfaces
- The multidevice module contains a new OSPRay device implementation
that delegates work to any number of subdevices. This is an
experimental feature in this release but we invite feedback
- SciVis Renderer now ignores normal/albedo/depth hits on surfaces
that are fully transmissive (material `d = 0`)
- Changed the behavior of background rendering in SciVis renderer to
more closely reflect that of the path tracer: Background hits are
rendered in background color in the albedo buffer and black in the
normal buffer
- The SciVis renderer does not compute depth of field (DoF) anymore,
as this effect does not align with the SciVis renderer definition
and exposed artifacts
- Fixed crash on exit when using the MPI device
- Fixed rendering of depth buffer in the example application
- The first argument to material constructor `ospNewMaterial`, i.e.,
`renderer_type`, is now deprecated and will be removed in a future
release. AO and SciVis renderers still assume "obj" like behavior
for all material types
- Deprecated the `xfm` parameter of the instance, use `transform`
instead
- Dependencies Google Benchmark, GoggleTest, and Snappy moved
out-of-source to superbuild ExternalProjects

### Changes in v2.6.0:

- Added new `intensityQuantity` type `OSP_INTENSITY_QUANTITY_SCALE`
Expand Down
Loading

0 comments on commit a783bf9

Please sign in to comment.