#望远镜 #天文学 #API 绑定

bin+lib crseo

Cuda 引擎光学 Rust 接口

20 个不稳定版本 (7 个破坏性版本)

0.9.4 2024 年 3 月 18 日
0.9.0 2024 年 1 月 27 日
0.8.0 2023 年 12 月 2 日
0.7.1 2023 年 9 月 7 日
0.1.0 2021 年 12 月 17 日

#94 in 科学


4 工具 中使用

MIT 许可证

3MB
60K SLoC

Rust 23K SLoC // 0.0% comments C++ 17K SLoC // 0.0% comments CUDA 14K SLoC // 0.1% comments Objective-C 2.5K SLoC Python 2K SLoC // 0.2% comments C 816 SLoC // 0.0% comments VB6 136 SLoC Cython 6 SLoC

CRSEO: Cuda 引擎光学 Rust 封装器

安装

  1. CEO 安装

安装 CUDANoweb,然后

git clone -b rust https://github.com/rconan/ceo.git
cd ceo
make all
sudo make install
cd ..
  1. GMT M1 和 M2 模式
mkdir data
cd data
wget https://s3.us-west-2.amazonaws.com/gmto.modeling/ceo-modes.tar
tar xvf ceo-modes.tar
export GMT_MODES_PATH=`pwd`
cd ..
  1. 安装 Clang

lib.rs:

CEO 封装器包

CEO 封装器是 CEO CUDA API 的接口。使用每个元素关联的构建器创建 CEO 元素。

例如,默认的 CEO 元素 GmtSource 使用

use crseo::ceo;
let mut gmt = ceo!(Gmt);
let mut src = ceo!(Source);
src.through(&mut gmt).xpupil();
println!("WFE RMS: {:?}nm",src.wfe_rms_10e(-9));

ceo! 是一个宏,它包含创建 CEO 元素所需的必要样板代码。

依赖关系

~7–17MB
~235K SLoC