Intel® Embree Ray Tracing Kernels
Discussion forum on the open source ray tracing kernels for fast photo-realistic rendering on Intel® CPU(s)

Run-time error in optimized build (OSX, ICC 13)

theigors
Beginner
368 Views

Hi All

I've built Embree on OSX via ccmake - all is fine. However I need to debug and to experiment. so I've built it as Xcode project. Intel Compiler was used for both. Under Xcode 4.6.2 the Embree gets run-time error if Optimization Level is set to (-02) (max speed).

Assertion failed: (numLeft + numRight == pinfo.size()), functionAssertion failed: (numLeft + num update_object_split, file /UserRight == pinfo.size()), functions/igorigor/Desktop/XEmbree/XEmbr update_object_split, file /Useree/../../embree-1.1/rtcore/commos/igorigor/Desktop/XEmbree/XEmbrn/heuristic_spatial.cpp, line 220.
Assertion failed: (atomic_set<PrimRefBlock>::block_iterator_unsafe(prims).size() == pinfo.size()), function recurse, file /Users/igorigor/Desktop/XEmbree/XEmbree/../../embree-1.1/rtcore/bvh4/bvh4_builder.cpp, line 120.
ee/../../embree-1.1/rtcore/common/heuristic_spatial.cpp, line 220.
(lldb)

My settings are:
- OSX 10.7.5
- Xcode 4.6.2
- Intel Compiler 13.0 (2013.3.171)

Any Idea?

Thanks

0 Kudos
2 Replies
SvenW_Intel
Moderator
368 Views

Do you experience that problem also with -O1? If so, the compiler might do some unsafe floating point optimizations that cause issues with the spatial split builder. Simply ignore the assertion if you do not see any scene artifacts, or use the object split builder.

0 Kudos
theigors
Beginner
368 Views

Hi, Sven

-O1 works fine, the prob appears only with -O2 and spatial splitting. If I ignore this assert then other asserts appears immediately. Yes, it works if I set "Floating point model" to "Precise" (instead of default Fast"). I tried to set it selectively. via #praga float_control, but no luck

Thx

0 Kudos
Reply