Intel® Embree Ray Tracing Kernels
Discussion forum on the open source ray tracing kernels for fast photo-realistic rendering on Intel® CPU(s)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
288 Discussions

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

theigors
Beginner
653 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
653 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
653 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