一种高效的 C++20 GPU 数值计算库,具有类似 Python 的语法
MatX 是一款用于在 NVIDIA GPU 和 CPU 上进行通用数值计算的 C++20 库。想象一下 具有原生 C++ 控制和速度的 NumPy 风格的数组编程:创建任意秩张量、组合懒加载表达式,并在工作运行时选择优化的 GPU 或多线程 CPU 执行器。
这是普通的数组代码:批量矩阵乘法、广播和元素级激活。同一个表达式模型可用于切片、重塑、生成器、归约、卷积、稀疏张量、线性代数、求解器、随机数和FFT。更改执行器以在支持的情况下将目标设置为 CUDA、JIT融合或优化的 CPU 执行。
| 熟悉 NumPy 思想 | MatX 模型 | --- | --- | ndarray 和视图 | 任意维张量、非所有权视图、切片、重塑和排序 | 数组创建 | zeros、ones、eye、linspace、随机生成器和自定义生成器 | 向量化表达式 | 懒加载元素运算、自动广播和批量转换 | 减法和数值例程 | 减法、BLAS、稀疏操作、FFT、分解和求解器 | CPU/
暂无开放 Issues,或尚未同步最近议题。