Skip to content

Commit 67a6f40

Browse files
authored
rebase release branch into devel (#2553)
* changed mac release package compiler to clang * fix mac release runs-on * updated docs
1 parent aad183b commit 67a6f40

21 files changed

+1227
-53
lines changed

.github/workflows/release.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ jobs:
2626
python scripts/test.py build
2727
python scripts/test.py test
2828
29-
release-macosx-x64-Release-ICX2023_0_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP:
29+
release-macosx-x64-Release-CLANG-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP:
3030
secrets: inherit
3131
uses: intel-innersource/libraries.devops.renderkit.workflows/.github/workflows/macos.yml@main
3232
with:
3333
runs-on: '[ "macOS", "sign", "avx2", "x86_64" ]'
3434
artifact-out: release-macosx-x64-Release-ICX2023_0_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
3535
artifact-path: ./build/*.zip
3636
cmd: |
37-
scripts/test.py configure platform:x64 build:Release compiler:ICX2023.0.0 ispc:ispc1.19.0 isas:SSE2-SSE42-AVX-AVX2 tasking:TBB2021.9.0 intensity:4 package:ZIP
37+
scripts/test.py configure platform:x64 build:Release compiler:CLANG ispc:ispc1.19.0 isas:SSE2-SSE42-AVX-AVX2 tasking:TBB2021.9.0 intensity:4 package:ZIP
3838
scripts/test.py build
3939
scripts/test.py test
4040
@@ -106,28 +106,28 @@ jobs:
106106
binary-analysis:
107107
needs:
108108
- release-windows-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
109-
- release-macosx-x64-Release-ICX2023_0_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
109+
- release-macosx-x64-Release-CLANG-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
110110
- release-linux-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
111111
secrets: inherit
112112
uses: intel-innersource/libraries.devops.renderkit.workflows/.github/workflows/binary_analysis.yml@main
113113
with:
114114
project: embree
115115
artifact-in-windows: release-windows-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
116-
artifact-in-macos: release-macosx-x64-Release-ICX2023_0_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
116+
artifact-in-macos: release-macosx-x64-Release-CLANG-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
117117
artifact-in-linux: release-linux-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
118118
path: "build/*.zip build/*.gz"
119119

120120
antivirus-scan:
121121
needs:
122122
- release-windows-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
123-
- release-macosx-x64-Release-ICX2023_0_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
123+
- release-macosx-x64-Release-CLANG-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
124124
- release-linux-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
125125
secrets: inherit
126126
uses: intel-innersource/libraries.devops.renderkit.workflows/.github/workflows/antivirus_scan.yml@main
127127
with:
128128
project: embree
129129
artifact-in-windows: release-windows-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
130-
artifact-in-macos: release-macosx-x64-Release-ICX2023_0_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
130+
artifact-in-macos: release-macosx-x64-Release-CLANG-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
131131
artifact-in-linux: release-linux-x64-Release-ICX2023_1_0-ISPC1_19_0-TBB2021_9_0-PACKAGE-ZIP
132132
path: "build/*.zip build/*.gz"
133133

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
Version History
22
---------------
33

4+
### Embree 4.1.0
5+
- Added support for Intel® Data Center GPU Max Series.
6+
- Added ARM64 Linux support.
7+
- Added EMBREE_BACKFACE_CULLING_SPHERES cmake option. The new cmake option defaults to OFF.
8+
49
### Embree 4.0.1
510
- Improved performance for Tiger Lake, Comet Lake, Cannon Lake, Kaby Lake,
611
and Skylake client CPUs by using 256 bit SIMD instructions by default.

README.md

+45-47
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
% Embree: High Performance Ray Tracing Kernels 4.0.1
1+
% Embree: High Performance Ray Tracing Kernels 4.1.0
22
% Intel Corporation
33

44
Intel® Embree Overview
@@ -7,8 +7,8 @@ Intel® Embree Overview
77
Intel® Embree is a high-performance ray tracing library developed at
88
Intel, which is released as open source under the [Apache 2.0
99
license](http://www.apache.org/licenses/LICENSE-2.0). Intel® Embree
10-
supports x86 CPUs under Linux, macOS, and Windows; ARM CPUs on macOS;
11-
as well as Intel® GPUs under Linux and Windows.
10+
supports x86 CPUs under Linux, macOS, and Windows; ARM CPUs on Linux
11+
and macOS; as well as Intel® GPUs under Linux and Windows.
1212

1313
Intel® Embree targets graphics application developers to improve the
1414
performance of photo-realistic rendering applications. Embree is
@@ -63,24 +63,14 @@ Supported Platforms
6363

6464
Embree supports Windows (32-bit and 64-bit), Linux (64-bit), and macOS
6565
(64-bit). Under Windows, Linux and macOS x86 based CPUs are supported,
66-
while ARM CPUs are currently only supported under macOS (e.g. Apple
67-
M1). ARM support for Windows and Linux is experimental.
66+
while ARM CPUs are currently only supported under Linux and macOS (e.g.
67+
Apple M1). ARM support for Windows experimental.
6868

6969
Embree supports Intel GPUs based on the Xe HPG microarchitecture
7070
(Intel® Arc™ GPU) under Linux and Windows and Xe HPC microarchitecture
7171
(Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max
7272
Series) under Linux.
7373

74-
Currently the following products are supported and further products
75-
will get enabled soon:
76-
77-
- Intel® Arc™ A770 Graphics
78-
- Intel® Arc™ A750 Graphics
79-
- Intel® Arc™ A770M Graphics
80-
- Intel® Arc™ A730M Graphics
81-
- Intel® Arc™ A550M Graphics
82-
- Intel® Data Center GPU Flex 170
83-
8474
The code compiles with the Intel® Compiler, Intel® oneAPI DPC++
8575
Compiler, GCC, Clang, and the Microsoft Compiler. To use Embree on the
8676
GPU the Intel® oneAPI DPC++ Compiler must be used. Please see section
@@ -110,7 +100,7 @@ Windows Installation
110100
--------------------
111101

112102
Embree linked against Visual Studio 2015 are provided as a ZIP file
113-
[embree-4.0.1.x64.vc14.windows.zip](https://github.com/embree/embree/releases/download/v4.0.1/embree-4.0.1.x64.vc14.windows.zip). After
103+
[embree-4.1.0.x64.vc14.windows.zip](https://github.com/embree/embree/releases/download/v4.1.0/embree-4.1.0.x64.vc14.windows.zip). After
114104
unpacking this ZIP file, you should set the path to the `lib` folder
115105
manually to your `PATH` environment variable for applications to find
116106
Embree.
@@ -120,13 +110,13 @@ Linux Installation
120110
------------------
121111

122112
The Linux version of Embree is also delivered as a `tar.gz` file:
123-
[embree-4.0.1.x86_64.linux.tar.gz](https://github.com/embree/embree/releases/download/v4.0.1/embree-4.0.1.x86_64.linux.tar.gz). Unpack
113+
[embree-4.1.0.x86_64.linux.tar.gz](https://github.com/embree/embree/releases/download/v4.1.0/embree-4.1.0.x86_64.linux.tar.gz). Unpack
124114
this file using `tar` and source the provided `embree-vars.sh` (if you
125115
are using the bash shell) or `embree-vars.csh` (if you are using the C
126116
shell) to set up the environment properly:
127117

128-
tar xzf embree-4.0.1.x86_64.linux.tar.gz
129-
source embree-4.0.1.x86_64.linux/embree-vars.sh
118+
tar xzf embree-4.1.0.x86_64.linux.tar.gz
119+
source embree-4.1.0.x86_64.linux/embree-vars.sh
130120

131121
We recommend adding a relative `RPATH` to your application that points
132122
to the location where Embree (and TBB) can be found, e.g. `$ORIGIN/../lib`.
@@ -136,12 +126,12 @@ macOS Installation
136126
------------------
137127

138128
The macOS version of Embree is also delivered as a ZIP file:
139-
[embree-4.0.1.x86_64.macosx.zip](https://github.com/embree/embree/releases/download/v4.0.1/embree-4.0.1.x86_64.macosx.zip). Unpack
129+
[embree-4.1.0.x86_64.macosx.zip](https://github.com/embree/embree/releases/download/v4.1.0/embree-4.1.0.x86_64.macosx.zip). Unpack
140130
this file using `tar` and source the provided `embree-vars.sh` (if you
141131
are using the bash shell) or `embree-vars.csh` (if you are using the C
142132
shell) to set up the environment properly:
143133

144-
unzip embree-4.0.1.x64.macosx.zip source embree-4.0.1.x64.macosx/embree-vars.sh
134+
unzip embree-4.1.0.x64.macosx.zip source embree-4.1.0.x64.macosx/embree-vars.sh
145135

146136
If you want to ship Embree with your application, please use the Embree
147137
library of the provided ZIP file. The library name of that Embree
@@ -166,7 +156,7 @@ set the `TBB_DIR` variable to the path containing `TBB-config.cmake` of a local
166156
TBB install, in case you do not have TBB installed globally on your system,
167157
e.g:
168158

169-
cmake -D embree_DIR=path_to_embree_package/lib/cmake/embree-4.0.1/ \
159+
cmake -D embree_DIR=path_to_embree_package/lib/cmake/embree-4.1.0/ \
170160
-D TBB_DIR=path_to_tbb_package/lib/cmake/tbb/ \
171161
..
172162

@@ -278,15 +268,17 @@ C++11. Embree is tested with the following compilers:
278268

279269
Linux
280270

271+
- Intel® oneAPI DPC++/C++ Compiler 2023.1.0
281272
- Intel® oneAPI DPC++/C++ Compiler 2023.0.0
282-
- oneAPI DPC++/C++ Compiler 2022-12-14
273+
- oneAPI DPC++/C++ Compiler 2023-04-17
283274
- Clang 5.0.0
284275
- Clang 4.0.0
285276
- GCC 10.0.1 (Fedora 32) AVX512 support
286277
- GCC 8.3.1 (Fedora 28) AVX512 support
287278
- GCC 7.3.1 (Fedora 27) AVX2 support
288279
- GCC 7.3.1 (Fedora 26) AVX2 support
289280
- GCC 6.4.1 (Fedora 25) AVX2 support
281+
- Intel® Implicit SPMD Program Compiler 1.19.0
290282
- Intel® Implicit SPMD Program Compiler 1.18.1
291283
- Intel® Implicit SPMD Program Compiler 1.17.0
292284
- Intel® Implicit SPMD Program Compiler 1.16.1
@@ -297,6 +289,7 @@ Linux
297289

298290
macOS x86
299291

292+
- Intel® C++ Classic Compiler 2023.1.0
300293
- Intel® C++ Classic Compiler 2023.0.0
301294
- Apple Clang 12.0.5 (macOS 11.7.1)
302295

@@ -402,13 +395,13 @@ The "oneAPI DPC++ Compiler" is more up-to-date than the "Intel(R) oneAPI
402395
DPC++/C++ Compiler" but less stable. The current tested version of the "oneAPI
403396
DPC++ compiler is
404397

405-
- [oneAPI DPC++ Compiler 2022-12-14](https://github.com/intel/llvm/releases/download/sycl-nightly%2F20221214/dpcpp-compiler.tar.gz)
398+
- [oneAPI DPC++ Compiler 2023-04-17](https://github.com/intel/llvm/releases/download/sycl-nightly%2F20230417/dpcpp-compiler.tar.gz)
406399

407400
The compiler can be downloaded and simply extracted. The oneAPI DPC++ compiler
408401
2022-12-14 can be set up executing the following command in a Linux (bash)
409402
shell:
410403

411-
wget https://github.com/intel/llvm/releases/download/sycl-nightly%2F20221214/dpcpp-compiler.tar.gz
404+
wget https://github.com/intel/llvm/releases/download/sycl-nightly%2F20230417/dpcpp-compiler.tar.gz
412405
tar xzf dpcpp-compiler.tar.gz
413406
source ./dpcpp_compiler/startup.sh
414407

@@ -432,7 +425,7 @@ through `EMBREE_SYCL_SUPPORT=ON`.
432425

433426
Alternatively, you can download and run the installer of the
434427

435-
- [Intel(R) oneAPI DPC++/C++ Compiler 2023.0.0](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#dpcpp-cpp).
428+
- [Intel(R) oneAPI DPC++/C++ Compiler 2023.1.0](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#dpcpp-cpp).
436429

437430
After installation, you can set up the compiler by sourcing the
438431
`vars.sh` script in the `env` directory of the compiler install directory, for example,
@@ -476,7 +469,7 @@ We tested Embree with the latest GPGPU driver Devel Release from
476469
and OpenCL(TM) Driver from that release is too old for Embree to work
477470
properly. Thus if no newer version of the GPGPU driver is available,
478471
you need to additionally install the latest compute runtime from here
479-
[22.43.24595](https://github.com/intel/compute-runtime/releases/tag/22.43.24595.30).
472+
[23.09.25812.14](https://github.com/intel/compute-runtime/releases/tag/23.09.25812.14).
480473

481474
Unfortunately, these compute runtime packages are only available for
482475
Ubuntu 22.04. You can also install a newer version of the compute
@@ -488,11 +481,13 @@ Windows
488481
489482
Embree is tested using the following compilers under Windows:
490483

484+
- Intel® oneAPI DPC++/C++ Compiler 2023.1.0
491485
- Intel® oneAPI DPC++/C++ Compiler 2023.0.0
492-
- oneAPI DPC++/C++ Compiler 2022-12-14
486+
- oneAPI DPC++/C++ Compiler 2023-04-17
493487
- Visual Studio 2019
494488
- Visual Studio 2017
495489
- Visual Studio 2015 (Update 1)
490+
- Intel® Implicit SPMD Program Compiler 1.19.0
496491
- Intel® Implicit SPMD Program Compiler 1.18.1
497492
- Intel® Implicit SPMD Program Compiler 1.17.0
498493
- Intel® Implicit SPMD Program Compiler 1.16.1
@@ -617,7 +612,7 @@ The "oneAPI DPC++ Compiler" is more up-to-date than the "Intel(R) oneAPI
617612
DPC++/C++ Compiler" but less stable. The current tested version of the oneAPI
618613
DPC++ compiler is
619614

620-
- [oneAPI DPC++ Compiler 2022-12-14](https://github.com/intel/llvm/releases/download/sycl-nightly%2F20221214/dpcpp-compiler-win.tar.gz)
615+
- [oneAPI DPC++ Compiler 2023-04-17](https://github.com/intel/llvm/releases/download/sycl-nightly%2F20230417/dpcpp-compiler-win.tar.gz)
621616

622617
Download and unpack the archive and open the "x64 Native Tools Command Prompt"
623618
of Visual Studio and execute the following lines to properly configure the
@@ -703,9 +698,9 @@ your application with such an Embree package.
703698
### Windows Graphics Driver Installation
704699

705700
In order to run the SYCL tutorials on HPG hardware, you first need to
706-
install the proper graphics drivers for your graphics card from
707-
[https://www.intel.com](https://www.intel.com). Embree will work with
708-
graphics driver version 101.4027 or later.
701+
install the graphics drivers for your graphics card from
702+
[https://www.intel.com](https://www.intel.com). Please make sure to
703+
have installed version 31.0.101.4314 or newer.
709704

710705

711706
CMake Configuration
@@ -774,6 +769,14 @@ parameters that can be configured in CMake:
774769
surfaces facing a ray can be hit. This option is turned OFF by
775770
default.
776771

772+
+ `EMBREE_BACKFACE_CULLING_CURVES`: Enables backface culling for curves,
773+
i.e. only surfaces facing a ray can be hit. This option is turned OFF
774+
by default.
775+
776+
+ `EMBREE_BACKFACE_CULLING_SPHERES`: Enables backface culling for spheres,
777+
i.e. only surfaces facing a ray can be hit. This option is turned OFF
778+
by default.
779+
777780
+ `EMBREE_COMPACT_POLYS`: Enables compact tris/quads, i.e. only
778781
geomIDs and primIDs are stored inside the leaf nodes.
779782

@@ -1315,21 +1318,6 @@ Embree SYCL Known Issues
13151318
quality, and GPU performance may not reflect that of the final
13161319
product.
13171320

1318-
- Currently only the following Intel® Arc™ GPUs are support:
1319-
1320-
- Intel® Arc™ A770 Graphics
1321-
- Intel® Arc™ A750 Graphics
1322-
- Intel® Arc™ A770M Graphics
1323-
- Intel® Arc™ A730M Graphics
1324-
- Intel® Arc™ A550M Graphics
1325-
1326-
- Intel® Data Center GPU Max Series is currently not supported.
1327-
1328-
- Ahead of time compilation is currently not working properly and you
1329-
will get this error during compilation:
1330-
1331-
llvm-foreach: Floating point exception (core dumped)
1332-
13331321
- Compilation with build configuration "debug" is currently not
13341322
working on Windows.
13351323

@@ -1842,6 +1830,16 @@ Possible properties to query are:
18421830
back face culling is enabled. This is only the case if Embree is
18431831
compiled with `EMBREE_BACKFACE_CULLING` enabled.
18441832

1833+
- `RTC_DEVICE_PROPERTY_BACKFACE_CULLING_CURVES_ENABLED`: Queries
1834+
whether back face culling for curves is enabled. This is only the
1835+
case if Embree is compiled with `EMBREE_BACKFACE_CULLING_CURVES`
1836+
enabled.
1837+
1838+
- `RTC_DEVICE_PROPERTY_BACKFACE_CULLING_SPHERES_ENABLED`: Queries
1839+
whether back face culling for spheres is enabled. This is only the
1840+
case if Embree is compiled with `EMBREE_BACKFACE_CULLING_SPHERES`
1841+
enabled.
1842+
18451843
- `RTC_DEVICE_PROPERTY_COMPACT_POLYS_ENABLED`: Queries whether
18461844
compact polys is enabled. This is only the case if Embree is
18471845
compiled with `EMBREE_COMPACT_POLYS` enabled.

0 commit comments

Comments
 (0)