1
- % Embree: High Performance Ray Tracing Kernels 4.0.1
1
+ % Embree: High Performance Ray Tracing Kernels 4.1.0
2
2
% Intel Corporation
3
3
4
4
Intel® Embree Overview
@@ -7,8 +7,8 @@ Intel® Embree Overview
7
7
Intel® Embree is a high-performance ray tracing library developed at
8
8
Intel, which is released as open source under the [ Apache 2.0
9
9
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.
12
12
13
13
Intel® Embree targets graphics application developers to improve the
14
14
performance of photo-realistic rendering applications. Embree is
@@ -63,24 +63,14 @@ Supported Platforms
63
63
64
64
Embree supports Windows (32-bit and 64-bit), Linux (64-bit), and macOS
65
65
(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.
68
68
69
69
Embree supports Intel GPUs based on the Xe HPG microarchitecture
70
70
(Intel® Arc™ GPU) under Linux and Windows and Xe HPC microarchitecture
71
71
(Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max
72
72
Series) under Linux.
73
73
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
-
84
74
The code compiles with the Intel® Compiler, Intel® oneAPI DPC++
85
75
Compiler, GCC, Clang, and the Microsoft Compiler. To use Embree on the
86
76
GPU the Intel® oneAPI DPC++ Compiler must be used. Please see section
@@ -110,7 +100,7 @@ Windows Installation
110
100
--------------------
111
101
112
102
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
114
104
unpacking this ZIP file, you should set the path to the ` lib ` folder
115
105
manually to your ` PATH ` environment variable for applications to find
116
106
Embree.
@@ -120,13 +110,13 @@ Linux Installation
120
110
------------------
121
111
122
112
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
124
114
this file using ` tar ` and source the provided ` embree-vars.sh ` (if you
125
115
are using the bash shell) or ` embree-vars.csh ` (if you are using the C
126
116
shell) to set up the environment properly:
127
117
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
130
120
131
121
We recommend adding a relative ` RPATH ` to your application that points
132
122
to the location where Embree (and TBB) can be found, e.g. ` $ORIGIN/../lib ` .
@@ -136,12 +126,12 @@ macOS Installation
136
126
------------------
137
127
138
128
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
140
130
this file using ` tar ` and source the provided ` embree-vars.sh ` (if you
141
131
are using the bash shell) or ` embree-vars.csh ` (if you are using the C
142
132
shell) to set up the environment properly:
143
133
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
145
135
146
136
If you want to ship Embree with your application, please use the Embree
147
137
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
166
156
TBB install, in case you do not have TBB installed globally on your system,
167
157
e.g:
168
158
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 / \
170
160
-D TBB_DIR=path_to_tbb_package/lib/cmake/tbb/ \
171
161
..
172
162
@@ -278,15 +268,17 @@ C++11. Embree is tested with the following compilers:
278
268
279
269
Linux
280
270
271
+ - Intel® oneAPI DPC++/C++ Compiler 2023.1.0
281
272
- Intel® oneAPI DPC++/C++ Compiler 2023.0.0
282
- - oneAPI DPC++/C++ Compiler 2022-12-14
273
+ - oneAPI DPC++/C++ Compiler 2023-04-17
283
274
- Clang 5.0.0
284
275
- Clang 4.0.0
285
276
- GCC 10.0.1 (Fedora 32) AVX512 support
286
277
- GCC 8.3.1 (Fedora 28) AVX512 support
287
278
- GCC 7.3.1 (Fedora 27) AVX2 support
288
279
- GCC 7.3.1 (Fedora 26) AVX2 support
289
280
- GCC 6.4.1 (Fedora 25) AVX2 support
281
+ - Intel® Implicit SPMD Program Compiler 1.19.0
290
282
- Intel® Implicit SPMD Program Compiler 1.18.1
291
283
- Intel® Implicit SPMD Program Compiler 1.17.0
292
284
- Intel® Implicit SPMD Program Compiler 1.16.1
@@ -297,6 +289,7 @@ Linux
297
289
298
290
macOS x86
299
291
292
+ - Intel® C++ Classic Compiler 2023.1.0
300
293
- Intel® C++ Classic Compiler 2023.0.0
301
294
- Apple Clang 12.0.5 (macOS 11.7.1)
302
295
@@ -402,13 +395,13 @@ The "oneAPI DPC++ Compiler" is more up-to-date than the "Intel(R) oneAPI
402
395
DPC++/C++ Compiler" but less stable. The current tested version of the "oneAPI
403
396
DPC++ compiler is
404
397
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 )
406
399
407
400
The compiler can be downloaded and simply extracted. The oneAPI DPC++ compiler
408
401
2022-12-14 can be set up executing the following command in a Linux (bash)
409
402
shell:
410
403
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
412
405
tar xzf dpcpp-compiler.tar.gz
413
406
source ./dpcpp_compiler/startup.sh
414
407
@@ -432,7 +425,7 @@ through `EMBREE_SYCL_SUPPORT=ON`.
432
425
433
426
Alternatively, you can download and run the installer of the
434
427
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 ) .
436
429
437
430
After installation, you can set up the compiler by sourcing the
438
431
` 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
476
469
and OpenCL(TM) Driver from that release is too old for Embree to work
477
470
properly. Thus if no newer version of the GPGPU driver is available,
478
471
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 ) .
480
473
481
474
Unfortunately, these compute runtime packages are only available for
482
475
Ubuntu 22.04. You can also install a newer version of the compute
@@ -488,11 +481,13 @@ Windows
488
481
489
482
Embree is tested using the following compilers under Windows:
490
483
484
+ - Intel® oneAPI DPC++/C++ Compiler 2023.1.0
491
485
- Intel® oneAPI DPC++/C++ Compiler 2023.0.0
492
- - oneAPI DPC++/C++ Compiler 2022-12-14
486
+ - oneAPI DPC++/C++ Compiler 2023-04-17
493
487
- Visual Studio 2019
494
488
- Visual Studio 2017
495
489
- Visual Studio 2015 (Update 1)
490
+ - Intel® Implicit SPMD Program Compiler 1.19.0
496
491
- Intel® Implicit SPMD Program Compiler 1.18.1
497
492
- Intel® Implicit SPMD Program Compiler 1.17.0
498
493
- 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
617
612
DPC++/C++ Compiler" but less stable. The current tested version of the oneAPI
618
613
DPC++ compiler is
619
614
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 )
621
616
622
617
Download and unpack the archive and open the "x64 Native Tools Command Prompt"
623
618
of Visual Studio and execute the following lines to properly configure the
@@ -703,9 +698,9 @@ your application with such an Embree package.
703
698
### Windows Graphics Driver Installation
704
699
705
700
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 .
709
704
710
705
711
706
CMake Configuration
@@ -774,6 +769,14 @@ parameters that can be configured in CMake:
774
769
surfaces facing a ray can be hit. This option is turned OFF by
775
770
default.
776
771
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
+
777
780
+ ` EMBREE_COMPACT_POLYS ` : Enables compact tris/quads, i.e. only
778
781
geomIDs and primIDs are stored inside the leaf nodes.
779
782
@@ -1315,21 +1318,6 @@ Embree SYCL Known Issues
1315
1318
quality, and GPU performance may not reflect that of the final
1316
1319
product.
1317
1320
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
-
1333
1321
- Compilation with build configuration "debug" is currently not
1334
1322
working on Windows.
1335
1323
@@ -1842,6 +1830,16 @@ Possible properties to query are:
1842
1830
back face culling is enabled. This is only the case if Embree is
1843
1831
compiled with ` EMBREE_BACKFACE_CULLING ` enabled.
1844
1832
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
+
1845
1843
- ` RTC_DEVICE_PROPERTY_COMPACT_POLYS_ENABLED ` : Queries whether
1846
1844
compact polys is enabled. This is only the case if Embree is
1847
1845
compiled with ` EMBREE_COMPACT_POLYS ` enabled.
0 commit comments