[package] name = "mwa_hyperbeam" version = "0.10.0" authors = [ "Christopher H. Jordan ", "Jack L. B. Line ", "Marcin Sokolowski ", "Dev Null ", ] edition = "2021" rust-version = "1.80" license = "MPL-2.0" readme = "README.md" description = "Primary beam code for the Murchison Widefield Array (MWA) radio telescope." repository = "https://github.com/MWATelescope/mwa_hyperbeam" homepage = "https://github.com/MWATelescope/mwa_hyperbeam" exclude = [".github/*", "fee_pols.pdf"] [package.metadata.docs.rs] features = ["hdf5-static"] targets = ["x86_64-unknown-linux-gnu"] # Make a rust library, as well as static and C-compatible dynamic libraries # available as "libmwa_hyperbeam.a" and "libmwa_hyperbeam.so". [lib] crate-type = ["rlib", "staticlib", "cdylib"] [features] default = [] hdf5-static = ["hdf5-metno-sys"] cuda-static = [] all-static = ["hdf5-static", "cuda-static"] python = ["pyo3", "numpy"] # Provide beam functionality with CUDA, double precision. cuda = ["cuda-runtime-sys", "cc"] # Provide beam functionality with HIP, double precision. hip = ["hip-sys", "cc"] # Opt-out of GPU double precision, use only single precision (faster on desktop # GPUs). gpu-single = [] [profile.release] lto = "thin" codegen-units = 1 # Set this to 1 in Cargo.toml to allow for maximum size reduction optimizations [dependencies] cfg-if = "1.0.0" hdf5-metno = "0.9.2" marlu = { version = "0.15.0", default-features = false } # don't forget dev-dependencies ndarray = "0.16.0" num-complex = "0.4.1" panic-message = "0.3.0" parking_lot = "0.12.0" rayon = "1.5.0" thiserror = "1.0.2" hdf5-metno-sys = { version = "0.9.1", features = [ "static", "threadsafe", ], optional = true } cuda-runtime-sys = { version = "0.3.0-alpha.1", optional = true } hip-sys = { version = "0.1.0", optional = true } pyo3 = { version = "0.22.0", features = ["extension-module"], optional = true } numpy = { version = "0.22.1", optional = true } [dev-dependencies] approx = { version = "0.5.0", features = ["num-complex"] } criterion = "0.5.1" marlu = { version = "0.15.0", default-features = false, features = ["approx"] } serial_test = "2.0.0" ndarray = { version = "0.16.0", features = ["approx"] } [build-dependencies] cbindgen = { version = "0.25.0", default-features = false } cfg-if = "1.0.0" cc = { version = "1.0.0", features = ["parallel"], optional = true } hip-sys = { version = "0.1.0", optional = true } [[bench]] name = "bench" harness = false [[example]] name = "fee_cuda" required-features = ["cuda"] [[example]] name = "fee_hip" required-features = ["hip"] [[example]] name = "analytic_cuda" required-features = ["cuda"] [[example]] name = "analytic_hip" required-features = ["hip"] [patch.crates-io] # marlu = { path = "../Marlu" }