Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic alignment computation for SIMD error functions #90

Closed
wants to merge 1 commit into from

Commits on Oct 1, 2024

  1. Fix memory alignment checks in SIMD error functions (#90)

    Summary:
    
    Previously, a static alignment value of 32 was used for AVX in SIMD implementations. This diff modifies this approach to dynamically determine the correct alignment value via DrJit at compile-time, ensuring compatibility across different SIMD instruction sets.
    
    Detailed changes:
    
    - Add constants for packet sizes and alignment sizes for both DrJit and AVX versions, rather than using magic numbers
    - Centralize `checkAlignment()`
    - Fix `getJacobianSize()` for both DrJit and AVX versions, correctly utilizing the package size
    - Update tests to check around the number of constraints around the package size to ensure the new `getJacobianSize()` works
    - Update GitHub CI to test both SIMD-enabled and disabled
    
    NOTE: This Diff the second trial of D47103616
    
    Differential Revision: D63658278
    jeongseok-meta authored and facebook-github-bot committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    a2f34cc View commit details
    Browse the repository at this point in the history