#matrix-operations #matrix #opencl #deep-learning #cuda #array

无需 std custos-math

使用 custos 进行矩阵运算

10 个版本 (4 个重大更新)

0.6.3 2023 年 2 月 11 日
0.6.2 2023 年 2 月 10 日
0.5.0 2022 年 9 月 10 日
0.4.6 2022 年 8 月 16 日
0.1.4 2022 年 7 月 26 日

机器学习 类别中排名第 350

每月下载量 49
gradients 中使用

MIT 许可证

145KB
3.5K SLoC

custos-math

Crates.io version Docs

此软件包提供基于 CUDA、OpenCL、CPU(和 Stack)的矩阵运算,使用 custos

安装

将 "custos-math" 添加为依赖项:如果您想运行示例,还需要 custos

[dependencies]
custos-math = "0.6.3"

# to disable the default features (cuda, opencl) and use an own set of features:
#custos-math = { version="0.6.3", default-features = false, features=["opencl"]}

custos-math 通过 no-std 功能支持无需 std。这激活了 "stack" 功能,提供 Stack 设备。

custos 通过 custos_math::custos::{..} 访问

示例

use custos_math::{Matrix, custos::CPU};

fn main() {
    let device = CPU::new();

    let a = Matrix::from((&device, (2, 3), [1., 2., 3., 4., 5., 6.,]));
    let b = Matrix::from((&device, (3, 2), [6., 5., 4., 3., 2., 1.,]));

    let c = a.gemm(&b);

    assert_eq!(c.read(), vec![20., 14., 56., 41.,]);
}

更多示例可以在测试和示例文件夹中找到。

依赖项

~0.6–1.2MB
~28K SLoC