7 个版本
0.1.9 | 2023年8月17日 |
---|---|
0.1.7 | 2023年8月8日 |
0.1.5 | 2023年7月22日 |
#409 在 机器学习
每月54次 下载
25KB
476 行
Spindle
Spindle 是一个Rust库,简化了GPGPU多线程执行无内部依赖的并行和数据并行任务。
#[spindle::map]
fn _i32_to_f64(x: i32) -> f64 {
x as f64
}
fn main() -> Result<(), spindle::error::Error> {
spindle::spin!(U, i32, f64);
let nums: Vec<i32> = (0..10).collect();
let spindle: spindle::DevSpindle<U, i32> = nums.try_into()?;
let spindle: spindle::DevSpindle<U, f64> = unsafe { spindle.i32_to_f64() }?;
let spindle: spindle::HostSpindle<U, f64> = spindle.try_to_host()?;
for (i, x) in spindle.iter().enumerate() {
assert_eq!(*x, i as f64);
}
Ok(())
}
贡献
欢迎,有想法的人!
- 你有功能或语法建议吗?
- 想分享关于位操作实现的想法吗?
- 你知道如何修复bug吗?
请浏览贡献指南并打招呼!
感谢你的贡献!
许可
双许可以兼容Rust项目。
在您的选择下,根据Apache许可证第2版或MIT许可证许可。此文件可能不得复制、修改或分发,除非符合这些条款。
致谢
(合作者,请自由扩展)
我们的工作受到了许多优秀库的启发!这包括但不限于:
Alex 个人感谢
- 2023年Rust科学计算会议
- 当我的第一个GPGPU项目在一天内达到约
1_000_000_000_000_000
次迭代时的喜悦 - Rust社区对以下内容的承诺:
- 欢迎每个人,
- 解决开发者的人体工程学问题,
- 教我们正确性和安全性,以及
- 为我们提供工具以推动语言的发展。
依赖关系
~50MB
~1M SLoC