Coder Social home page Coder Social logo

Comments (7)

syoyo avatar syoyo commented on June 2, 2024

The issue only happens when EMBREE_RAY_PACKETS=On

from embree-aarch64.

maikschulze avatar maikschulze commented on June 2, 2024

I can confirm that NEON.update used to work and now fails.

For no particular reason, I've selected to track the introduction of FAILED for
std::vector<std::string> arguments = { "", "--no-colors", "--run .*SSE2.update.dynamic.DynamicFast.LowQuality.Intersect4.*", "--sequential" };
, which is 1 of 120 update tests now failing.

I can confirm that:
8246a54 PASSED
4ecf706 PASSED
9133976 PASSED
d6185d1 PASSED
5f3350f FAILED
ba6d997 FAILED

I briefly debugged into the failure but could not pinpoint the cause. There are minute numerical differences compared to SSE2 that eventually lead to different branching, but nothing particular stands point.

Any idea what might cause it?

from embree-aarch64.

maikschulze avatar maikschulze commented on June 2, 2024

I was able to pin-point the failure to a single line of code that was introduced with 5f3350f

I ran the 'verify' suite before with 316c2fb (left) and after (right) the reversal with packets enabled:
image

verify_before_sse2_with_packets.txt
verify_before_avx2_with_packets.crashlog.txt

verify_after_sse2__with_packets.txt
verify_after_avx2__with_packets.crashlog.txt

For SSE2 / NEON, all tests will pass.

Since the reversal will impact performance to a significant degree, I refrain from making such a merge request right away. I suggest to investigate the numerical behavior over the next days. Maybe we come up with a better solution.

I believe the "AVX2 emulation"-related crashes are caused by access to functions that are not present because of the absence of the "AVX" code path. We may have to improve the function dispatch for NEON2X in this regard. I will debug into this more closely.

from embree-aarch64.

Developer-Ecosystem-Engineering avatar Developer-Ecosystem-Engineering commented on June 2, 2024

Patch incoming

Fixed in #41

from embree-aarch64.

syoyo avatar syoyo commented on June 2, 2024

PR #44 has been merged and update test in verify all passes for every ISA configuration(NEON, AVX). So I think its ready to close this issue.

from embree-aarch64.

maikschulze avatar maikschulze commented on June 2, 2024

I agree, I also think this issue has been fixed. Many thanks to @Developer-Ecosystem-Engineering !

from embree-aarch64.

syoyo avatar syoyo commented on June 2, 2024

@maikschulze @Developer-Ecosystem-Engineering 🎉

I have updated README: 54a6ebc

from embree-aarch64.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.