Skip to content
  1. Jan 15, 2024
  2. Jan 10, 2024
  3. Jan 09, 2024
  4. Jan 08, 2024
  5. Dec 13, 2023
    • Joe Ramsay's avatar
      Support parallel builds with make (#491) · ba403c0e
      Joe Ramsay authored
      Individual COMMANDS in define_custom_command are not guaranteed to
      execute sequentially, meaning that the inline headers may be broken if
      doing a parallel build with make. Each command is extracted into its
      own custom_command (some are merged, such as subsequent sed calls) so
      that CMake can properly make sense of the dependencies and generate
      consistent headers in parallel.
      
      * Atomise creation of inline header, alias, dispscalar, simd disp, sleefquad header and build
      * Reuse existing atomic inline libm header generation for CUDA
      
      Now that custom_commands are atomic, parallel builds should be
      supported with make.
      
      * Use CMake cat instead of shell cat
      
      This requires minimum CMake 3.18, which is not particularly
      recent. This provides a better cross-platform way of concatenating
      files.
      ba403c0e
  6. Dec 12, 2023
  7. Dec 08, 2023
  8. Nov 21, 2023
  9. Nov 20, 2023
    • Ludovic Henry's avatar
      Integrate RISC-V support (#477) · cea44342
      Ludovic Henry authored
      
      
      * Add support for the RISC-V Vector ISA
      - RISC-V V 1.0 with (latest) intrinsics >=0.12.
      - Enable bit manip extensions on RISC-V.
      - Add RVVM*NOFMA configurations for determinism/bit-reproducibility across all architectures.
      
      * Not supported yet
      - DFT, QUAD, and GNUABI.
      - Only upcoming versions of gcc (14+) have support for latest intrinsics. Will be supported when available in release version of gcc.
      
      * CI Updates
      - Add riscv64 CI on GitHub Actions.
      - Add gcc (11 - #483) and llvm (17) builds on all architectures.
      - Disable a few failing test variants, tracked in #484 and #485.
      - Use same compiler versions across all builds.
      - Add sysroot for dependencies.
      - Nit: Reorder build-cross targets to group gcc/llvm per-arch together.
      
      ---------
      
      Co-authored-by: default avatarGlassOfWhiskey <iacopo.c92@gmail.com>
      Co-authored-by: default avatarEric Love <eric.love@sifive.com>
      cea44342
  10. Nov 10, 2023
    • Ludovic Henry's avatar
      Add CI on Github Actions for x86_64, aarch64, arm, ppc64 and s390x (#476) · 69cfa713
      Ludovic Henry authored
      * Add CI on Github Actions for x86_64, aarch64, armhf, ppc64 and s390x
      * Disable -march=native for testervecabi - fails when compiling on a host CPU with AVX512f (#478)
      * Enable qemu features for s390x, ppc64, and arm
      * Add some architecture-specific cmake flags
      * Use job dependencies to avoid duplicating building native
      * Fix permissions in downloaded artifacts
      * Disable arm inline headers - don't work (#480)
      * Document why DISABLE_VXE2 on s390x
      69cfa713
  11. Apr 05, 2021
  12. Mar 12, 2021
    • friendlyanon's avatar
      CMake package config (#412) · eb3d9778
      friendlyanon authored
      
      
      * Use variables from GNUInstallDirs everywhere
      
      * Componentize the install rules
      
      * Add headers to the interface include path
      
      * Add install rules for CMake package config
      
      * Associate inline headers to a target
      
      Previously inline_headers was a UTILITY target, which cannot be
      installed, so it was renamed to inline_headers_util and a new
      inline_headers INTERFACE library target is introduced instead.
      
      Co-authored-by: default avatarfriendlyanon <friendlyanon@users.noreply.github.com>
      eb3d9778
  13. Feb 13, 2021
  14. Feb 10, 2021
    • Naoki Shibata's avatar
      Yet another cleanup (#407) · 6725c54b
      Naoki Shibata authored
      This is yet another patch for cleaning up the code.
      It mainly removes warning messages generated when compiling gnuabi_compatibility.c.
      It unifies the code for detecting availability of vector extensions.
      It removes unused variables.
      It adds mveclibtest.c that tests if substitution of mveclib with sleefgnuabi works.
      6725c54b
  15. Feb 07, 2021
  16. Feb 05, 2021
    • Naoki Shibata's avatar
      Add functionality to replace libm and libquadmath functions (#405) · 65f0e7cb
      Naoki Shibata authored
      With this patch, libm functions and libquadmath functions can be replaced with sleef functions by defining SLEEF_REPLACE_LIBM_FUNCS and SLEEF_REPLACE_LIBQUADMATH_FUNCS macros before including sleef.h and sleefquad.h, respectively. The replaced libm functions can be automatically vectorized with gcc on x86_64.
      65f0e7cb
  17. Feb 04, 2021
    • Naoki Shibata's avatar
      Add OpenMP SIMD pragma to function declarations in sleef.h (#404) · 6f1189c8
      Naoki Shibata authored
      This patch adds vector ABI aliases to the vector functions.
      It also adds "omp declare simd" pragma to the declaration of scalar functions in sleef.h.
      This pragma is only enabled if SLEEF_ENABLE_OMP_SIMD is defined.
      By the modifications above, the auto-vectorizer in gcc can convert calls to sleef scalar functions to the corresponding vector functions.
      6f1189c8
  18. Feb 02, 2021
    • Naoki Shibata's avatar
      Separate scalar lib (#403) · 263098d9
      Naoki Shibata authored
      With this patch, the scalar functions implemented in sleefdp.c and sleefsp.c will be included in libsleefscalar.
      The functions with the same names in libsleef will be aliases to the dispatcher added in PR #402.
      By modifying like this, the scalar functions will run faster on computers with FMA support.
      263098d9
  19. Feb 01, 2021
  20. Jan 30, 2021
  21. Jan 27, 2021
  22. Jan 26, 2021
  23. Jan 25, 2021
  24. Jan 19, 2021
  25. Jan 18, 2021
    • Naoki Shibata's avatar
      [Quad] Define constants (#395) · 49703959
      Naoki Shibata authored
      This is a combined patch including the following items.
      
      * Define quad-precision constants in the header files
      * Add macros for libquadmath compatibility
      * Remove unions from helperpurec_scalar.h. Unions are removed from sleefquadinline_cuda.h, as a result.
      49703959
  26. Jan 17, 2021
  27. Jan 14, 2021
  28. Jan 13, 2021
  29. Jan 12, 2021
  30. Jan 08, 2021
  31. Jan 07, 2021
  32. Jan 03, 2021
  33. Jan 02, 2021
  34. Jan 01, 2021
Loading