Skip to content

Commit a783bf9

Browse files
committed
Merge branch 'release-2.7.x'
2 parents 6462fd8 + 01ffd55 commit a783bf9

File tree

531 files changed

+3919
-55684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

531 files changed

+3919
-55684
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ readme.pdf
2727
!/modules/simdGeometryExample
2828
!/modules/denoiser
2929
!/modules/mpi
30+
!/modules/multiDevice
3031
*.vim
3132
.idea/
3233
premake.local.*

.gitlab-ci.yml

Lines changed: 74 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@ variables:
4141
- build/*/build/CMakeCache.txt
4242
expire_in: 3 day
4343

44+
.job_template: &build_artifacts_all
45+
artifacts:
46+
paths:
47+
- build/install
48+
- build/CMakeCache.txt
49+
- build/*/build/CMakeCache.txt
50+
expire_in: 3 day
51+
4452
.job_template: &release_job
4553
stage: release
4654
needs: [pdf]
@@ -71,6 +79,12 @@ variables:
7179
script:
7280
- 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
7381

82+
.job_template: &test_job_unix_mpi_avx2
83+
<<: *test_job
84+
tags: [docker, avx2, modules]
85+
script:
86+
- 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
87+
7488
.job_template: &test_job_unix_sanitize
7589
<<: *test_job
7690
tags: [docker, avx512vl]
@@ -137,7 +151,7 @@ build-linux-debug-all:
137151
script:
138152
- export CC=clang
139153
- export CXX=clang++
140-
- 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
154+
- 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
141155
<<: *build_artifacts
142156
only: [schedules]
143157

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

165179
build-centos8:
@@ -198,6 +212,7 @@ build-centos7-mpi-impi:
198212
- module load cmake
199213
- module load intel/2021.2
200214
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON
215+
<<: *build_artifacts
201216

202217
build-centos7-mpi-openmpi:
203218
<<: *build_job_docker_modules
@@ -212,6 +227,7 @@ build-centos7-mpi-mpich:
212227
- module load cmake
213228
- module load mpi/mpich-x86_64
214229
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON
230+
<<: *build_artifacts
215231

216232
build-centos8-mpi-openmpi:
217233
<<: *build_job_docker
@@ -234,7 +250,7 @@ build-mpi-cluster:
234250
- module load cmake
235251
- module load impi
236252
- module load gnu
237-
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON -DOSPRAY_BUILD_GLM=OFF
253+
- scripts/build_gitlab/linux.sh -DBUILD_OSPRAY_MODULE_MPI=ON -DOSPRAY_BUILD_GLM=OFF -DBUILD_OSPRAY_MODULE_MULTIDEVICE=ON
238254
<<: *build_artifacts
239255
only: [schedules]
240256

@@ -253,16 +269,24 @@ build-osx-clang:
253269
- osx
254270
- clang
255271
script:
256-
- scripts/build_gitlab/macosx.sh
272+
- scripts/build_gitlab/macosx.sh -DBUILD_OSPRAY_MODULE_MULTIDEVICE=ON
257273
<<: *build_artifacts
258274

275+
build-osx-arm:
276+
stage: build
277+
tags:
278+
- mac-arm
279+
script:
280+
- scripts/build_gitlab/macosx.sh -DBUILD_TBB_FROM_SOURCE=ON -DBUILD_EMBREE_FROM_SOURCE=ON -DBUILD_OIDN=ON -DBUILD_OIDN_FROM_SOURCE=ON
281+
<<: *build_artifacts_all
282+
259283
build-windows-msvc15:
260284
stage: build
261285
tags:
262286
- win
263287
- msvc15
264288
script:
265-
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Release" "OFF"
289+
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Release" "OFF" "OFF"
266290
<<: *build_artifacts
267291

268292
build-windows-debug-all:
@@ -272,18 +296,18 @@ build-windows-debug-all:
272296
- msvc15
273297
- mpi
274298
script:
275-
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Debug" "ON"
299+
- scripts\build_gitlab\win.ps1 "Visual Studio 15 2017 Win64" "v141" "Debug" "ON" "ON"
276300
<<: *build_artifacts
277301
only: [schedules]
278302

279-
build-windows-msvc16-mpi:
303+
build-windows-msvc16-mpi_and_md:
280304
stage: build
281305
tags:
282306
- win
283307
- msvc16
284308
- mpi
285309
script:
286-
- scripts\build_gitlab\win.ps1 "Visual Studio 16 2019" "v142" "Release" "ON"
310+
- scripts\build_gitlab\win.ps1 "Visual Studio 16 2019" "v142" "Release" "ON" "ON"
287311
<<: *build_artifacts
288312

289313
#build-windows-icc:
@@ -327,14 +351,35 @@ test-ubuntu2004-gcc-avx512skx:
327351
<<: *test_job_unix_avx512skx
328352
image: $DOCKER_REGISTRY/ospray/docker-images:ubuntu20.04
329353
needs: [build-ubuntu2004-gcc]
354+
script:
355+
- 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
356+
357+
test-centos7-gcc-mpi-mpich-avx2:
358+
<<: *test_job_unix_mpi_avx2
359+
image: $DOCKER_REGISTRY/ospray/docker-images:centos7-mod
360+
needs: [build-centos7-mpi-mpich]
361+
before_script:
362+
- module load cmake
363+
- module load mpi/mpich-x86_64
364+
365+
test-centos7-gcc-mpi-impi-avx2:
366+
<<: *test_job_unix_mpi_avx2
367+
image: $DOCKER_REGISTRY/ospray/docker-images:centos7-mod
368+
needs: [build-centos7-mpi-impi]
369+
before_script:
370+
- module load cmake
371+
- module load intel/2021.2
372+
# Note: no omnipath/infiniband/shm comm access for MPI within
373+
# Docker container, just use sockets for running validation test
374+
- export FI_PROVIDER=sockets
330375

331376
test-mpi-cluster:
332377
<<: *test_job_unix_avx512skx
333378
tags: [cluster]
334379
script:
335380
- module load impi
336381
- module load gnu
337-
- 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
382+
- 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
338383
needs: [build-mpi-cluster]
339384
only: [schedules]
340385

@@ -353,6 +398,13 @@ test-osx-clang:
353398
<<: *test_job
354399
tags: [osx]
355400
needs: [build-osx-clang]
401+
script:
402+
- 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
403+
404+
test-osx-arm:
405+
<<: *test_job
406+
tags: [mac-arm]
407+
needs: [build-osx-arm]
356408
script:
357409
- 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
358410

@@ -398,13 +450,19 @@ test-windows-debug-all:
398450
test-windows-msvc16-avx2:
399451
<<: *test_job_windows_avx2
400452
tags: [win, msvc16, avx2]
401-
needs: [build-windows-msvc16-mpi]
453+
needs: [build-windows-msvc16-mpi_and_md]
402454
allow_failure: true
455+
script:
456+
- $env:Path += ";$CI_PROJECT_DIR\build\install\ospray\bin"
457+
- scripts\tests\run_tests.ps1 "$CI_PROJECT_DIR" AVX2 TEST_MULTIDEVICE
403458

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

409467
generate-ci-baseline-avx2:
410468
<<: *test_job_unix_avx2
@@ -536,9 +594,11 @@ release-windows:
536594
kw-build:
537595
stage: scan1
538596
tags: [docker]
539-
image: $DOCKER_REGISTRY/ospray/docker-images:centos7
597+
image: $DOCKER_REGISTRY/ospray/docker-images:centos7-mod
540598
needs: []
541599
script:
600+
- module load cmake
601+
- module load intel/2021.2
542602
- scripts/build_gitlab/kw.sh
543603
- test -s $CI_PROJECT_DIR/klocwork/build.log
544604
- test -s $CI_PROJECT_DIR/klocwork/build_name
@@ -642,7 +702,7 @@ test-release-windows-zip:
642702
<<: *test_job
643703
<<: *release_job
644704
stage: scan3
645-
tags: [win, avx512vl]
705+
tags: [win, mpi, avx512vl]
646706
needs: [release-windows]
647707
script:
648708
- Expand-Archive build_release/*.zip -DestinationPath .
@@ -654,7 +714,7 @@ test-release-windows-msi:
654714
<<: *test_job
655715
<<: *release_job
656716
stage: scan3
657-
tags: [win, avx512vl]
717+
tags: [win, mpi, avx512vl]
658718
needs: [release-windows]
659719
script:
660720
- msiexec.exe /a (Get-ChildItem build_release/*.msi | Select-Object -Expand FullName) /qn TARGETDIR=$CI_PROJECT_DIR

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,46 @@
11
Version History
22
---------------
33

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

646
- Added new `intensityQuantity` type `OSP_INTENSITY_QUANTITY_SCALE`

0 commit comments

Comments
 (0)