1 个不稳定版本
0.1.0 | 2020年8月19日 |
---|
#102 in #tensor
2MB
2.5K SLoC
包含 (Mach-o exe, 8.5MB) src/glslc
Rust 张量计算
这是一个个人项目,旨在学习 WebGPU 计算,专注于
机器学习应用。
目前功能
- 选择使用哪个 GPU(如果系统中有多个)
- 克隆
- (批处理) 矩阵乘法
- ReLU
- 转置
- 填充
- 比较
- 使连续
- 切片(需要更多设计/工作)
- 索引(需要更多设计/工作)
- 创建视图张量
进行中
逐元素张量 - 张量操作
- 加法
- 减法
- 乘法
标量 - 张量操作
- 加法
- 减法
- 乘法
工作示例
fn main() {
println!("Running in {:?}", GpuStore::get_default().info());
let ma = Tensor::from_data_and_shape(vec![1., 2., 3., 4., 5., 6., 7., 8.], vec![2, 2, 2]);
let mb = Tensor::from_data_and_shape(vec![2., 3., 4., 5.], vec![2, 2]);
let result = ma.matmul(&mb);
println!("{:?}", result);
/*
Running in AdapterInfo { name: "AMD Radeon Pro 560", vendor: 0, device: 0, device_type: DiscreteGpu, backend: Metal }
Shape: [2, 2, 2]
[[[ 10 13 ]
[ 22 29 ]]
[[ 34 45 ]
[ 46 61 ]]]
*/
}
短期目标
- 索引和赋值应该如何工作?
- 完成公共 API 文档
- 更多测试
依赖项
~10–25MB
~373K SLoC