4个版本 (破坏性更新)
0.12.0 | 2023年11月1日 |
---|---|
0.11.0 | 2022年12月24日 |
0.9.0 | 2021年7月7日 |
0.8.0 | 2021年5月28日 |
#55 in 科学
2MB
30K SLoC
libceed:高效、可扩展的离散化
此包提供了一个到libCEED的接口,libCEED是一个用于可扩展的基于元素的偏微分方程和相关计算问题的性能可移植库。该公式是代数的,旨在轻量级且易于在高级抽象中实现。有关libCEED用户手册中接口概念和大量示例的详细信息。
使用方法
要从Rust包调用libCEED,可以使用以下Cargo.toml
。
[dependencies]
libceed = "0.12.0"
对于libCEED Rust绑定的开发版本,使用以下Cargo.toml
。
[dependencies]
libceed = { git = "https://github.com/CEED/libCEED", branch = "main" }
extern crate libceed;
fn main() -> libceed::Result<()> {
let ceed = libceed::Ceed::init("/cpu/self/ref");
let xc = ceed.vector_from_slice(&[0., 0.5, 1.0])?;
let xs = xc.view()?;
assert_eq!(xs[..], [0., 0.5, 1.0]);
Ok(())
}
此包为每个对象提供模块,但它们通常像上面的向量一样从Ceed
对象创建。传递给Ceed::init
的资源字符串用于识别“后端”,包括算法策略和硬件,如NVIDIA和AMD GPU。有关更多信息,请参阅libCEED文档。
示例
libCEED的示例可以在libCEED仓库下的examples/rust
目录中找到。
文档
此包使用katexit
在文档中渲染方程。要启用katexit
并本地构建文档,请使用
cargo doc --features=katexit
许可证:BSD-2-Clause
贡献
依赖关系
~1.2–3MB
~69K SLoC