#simd-vector #matrix #generic #hagane

nightly hagane-simd

通用的 SIMD 向量/矩阵库

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年2月21日

#841硬件支持

MIT 许可证

235KB
7.5K SLoC

Hagane SIMD 向量库

这是一个为 Rust 提供SIMD向量库的crate,特别是为ObjC桥接 hagane,它远不如Clang / OpenCL对语言的支持那样精致或完整,但它的目的是为我们提供一个起点,至少能够让我们开始并高效地工作。

主要目标是与苹果标准库 simd 兼容的ABI,用于在macOS和iOS上使用。目前它仅在苹果平台上构建,因为我们依赖于 libSystem,但目标是尽快替换这些部分。

构建源代码

目前您可以通过 rake 从Ruby脚本重新生成源代码,这是一个临时措施,直到我对输出满意并尝试编写优化。然后我们将冻结代码并移除生成器。

待办事项

这是一个待办事项列表,勾选表示已完成。

  • 向量
    • half 类型(取决于编译器)
    • rint 函数(取决于标准库)
    • 向量和标量构造函数(取决于编译器)
    • 向量和向量构造函数(取决于编译器)
    • 任意混合构造函数(取决于编译器)
    • Swizzling(部分取决于编译器)
      • xyzw 指定器
      • rgba 指定器
      • s0123456789abcdef 指定器
      • s0123456789ABCDEF 指定器
    • 常量
    • 扩展数学函数(来自OpenCL)
      • acos
      • acosh
      • acospi
      • asin
      • asinh
      • asinpi
      • atan
      • atan2
      • atanh
      • atanpi
      • atan2pi
      • cbrt
      • cosh
      • cospi
      • erfc
      • erf
      • exp
      • exp2
      • exp10
      • expm1
      • fabs
      • fdim
      • fma
      • fmod
      • fract
      • frexp
      • frexp(向量/标量)
      • hypot
      • ilogb
      • ldexp
      • lgamma
      • lgamma_r
      • log
      • log2
      • log10
      • log1p
      • logb
      • maxmag
      • minmag
      • modf
      • nan
      • nextafter
      • pow
      • pown
      • powr
      • remainder
      • remquo
      • rootn
      • rsqrt
      • sincos
      • sinh
      • sinpi
      • tan
      • tanh
      • tanpi
      • tgamma
  • 矩阵
    • 构造函数
      • 基本
      • 从列
      • 从行
      • 从对角线
    • 函数
      • equal
      • almost_equal_elements
      • almost_equal_elements_relative

无运行时依赖