krnl v0.1.0: 安全, 可移植, 高性能计算内核
一个安全,可移植且高兴能的计算内核。为了autograph
开发的。
- 与 CUDA 和 OpenCL 类似的功能。
- 支持 GPU 和其他 Vulkan 1.2设备。
- 通过 MoltenVK 支持 MacOS/iOS。
- 内核是内联编写的,完全使用 Rust。
- 主机上的缓冲区可以使用 Vecs 和slices访问。
文章链接,https://www.reddit.com/r/rust/comments/1bra5ep/krnl_v010_safe_portable_high_performance_compute/
Github 链接,https://github.com/charles-r-earp/krnl
autograph v0.2.0: 一个rust的机器学习库
用 krnl 实现的 GPGPU 内核。实现一个神经网络的示例:
#[derive(Layer, Forward)]
#[autograph(forward(Variable4, Output=Variable2))]
struct LeNet5 {
conv1: Conv2,
relu1: Relu,
pool1: MaxPool2,
conv2: Conv2,
relu2: Relu,
pool2: MaxPool2,
flatten: Flatten,
dense1: Dense,
relu3: Relu,
dense2: Dense,
relu4: Relu,
dense3: Dense,
}
impl LeNet5 {
fn new(device: Device, scalar_type: ScalarType) -> Result<Self> {
let conv1 = Conv2::builder()
.device(device.clone())
.scalar_type(scalar_type)
.inputs(1)
.outputs(6)
.filter([5, 5])
.build()?;
let relu1 = Relu;
let pool1 = MaxPool2::builder().filter([2, 2]).build();
let conv2 = Conv2::builder()
.device(device.clone())
.scalar_type(scalar_type)
.inputs(6)
.outputs(16)
.filter([5, 5])
.build()?;
let relu2 = Relu;
let pool2 = MaxPool2::builder().filter([2, 2]).build();
let flatten = Flatten;
let dense1 = Dense::builder()
.device(device.clone())
.scalar_type(scalar_type)
.inputs(16 * 4 * 4)
.outputs(128)
.build()?;
let relu3 = Relu;
let dense2 = Dense::builder()
.device(device.clone())
.scalar_type(scalar_type)
.inputs(128)
.outputs(84)
.build()?;
let relu4 = Relu;
let dense3 = Dense::builder()
.device(device.clone())
.scalar_type(scalar_type)
.inputs(84)
.outputs(10)
.bias(true)
.build()?;
Ok(Self {
conv1,
relu1,
pool1,
conv2,
relu2,
pool2,
flatten,
dense1,
relu3,
dense2,
relu4,
dense3,
})
}
}
let mut model = LeNet5::new(device.clone(), ScalarType::F32)?;
model.init_parameter_grads()?;
let y = model.forward(x)?;
let loss = y.cross_entropy_loss(t)?;
loss.backward()?;
model.update(learning_rate, &optimizer)?;
文章链接,https://www.reddit.com/r/rust/comments/1bra88r/autograph_v020_a_machine_learning_library_for_rust/
Github 链接,https://github.com/charles-r-earp/autograph
str0m 0.5.0 released
我们很高兴地宣布str0m 的0.5.0版本。这个版本是 str0m 日益成熟的证明,包含内部代码改进、 bug 修复和性能改进。
非常感谢来自社区的所有贡献者
文章链接,https://www.reddit.com/r/rust/comments/1bquf2v/str0m_version_050_has_been_released/
Github 链接,https://crates.io/crates/str0m
From 日报小组 TOM
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- [微信公众号:Rust语言中文社区](https://rustcc.cn/article?id=ed7c9379-d681
评论区
写评论还没有评论