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

Add arm 64 build #8

Merged
merged 13 commits into from
Mar 4, 2024
Merged

Add arm 64 build #8

merged 13 commits into from
Mar 4, 2024

Commits on Aug 7, 2023

  1. Add simde as submodule

    k-dominik committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    098bbd4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4d65d1b View commit details
    Browse the repository at this point in the history
  3. remove pybind11 submodule

    k-dominik committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    eb7ee49 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7a112ea View commit details
    Browse the repository at this point in the history
  5. prepare for compilation on arm

    added USE_SIMDE_ON_ARM variable, that activates SIMDE headers if set
    k-dominik committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    6057f8a View commit details
    Browse the repository at this point in the history
  6. More preparation for arm builds

    * conditional execution of compilation flags for non-simde builds
    * only include the most "advanced" instruction variants on arm
      (so exclude anything avx if avx2 or avx+fma is there.
    * cpu.c variants for intel (arm will be added later) copied dynamically
    k-dominik committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    a8764f4 View commit details
    Browse the repository at this point in the history
  7. added cpu_arm.c

    with "fake" functions that all return true if queried for cpu features.
    With SIMDE we want to use the most "advanced" versions always, so all
    features are enabled at runtime.
    k-dominik committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    b6d90ec View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2023

  1. fix compilation with simde

    for arm we can omit all the magic that compiles for different kinds of
    simd instruction sets like avx, avx2 is done for intel. For arm we use
    simde with the avx2 instruction set versions.
    
    Hence, this commit adds two switches to the cmake interface:
    * `USE_SIMDE_ON_ARM`: to activate using SIMDE to translate to whatever
      target architecture (that is supported)
    * `APPLE_ARM64`: for explicit clang targeting m1/m2 compilation flags
      foreseeing that it might be slightly different for arch64
    
    Then, throughout the code, there are now splattered `_USE_SIMDE_ON_ARM_`
    conditionals. E.g., the various `*_init` functions that would check for
    certain processor capabilities at runtime to activate the most effective
    code path. These all point to the avx2 versions when SIMDE is active.
    
    All in all not very pretty - might want to clean this up a bit in the
    future...
    k-dominik committed Aug 9, 2023
    Configuration menu
    Copy the full SHA
    123b7c6 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Configuration menu
    Copy the full SHA
    f1c9ef5 View commit details
    Browse the repository at this point in the history
  2. win: specify include path

    k-dominik committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    4376662 View commit details
    Browse the repository at this point in the history
  3. py37 is eol

    k-dominik committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    d863743 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c4c1f07 View commit details
    Browse the repository at this point in the history
  5. define ssize_t on win

    k-dominik committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    d231d14 View commit details
    Browse the repository at this point in the history