-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
107 lines (88 loc) · 2.89 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
[package]
name = "mwa_hyperbeam"
version = "0.9.4"
authors = [
"Christopher H. Jordan <[email protected]>",
"Jack L. B. Line <[email protected]>",
"Marcin Sokolowski <[email protected]>",
"Dev Null <[email protected]",
"Sammy McSweeney <[email protected]>",
]
edition = "2021"
rust-version = "1.64"
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-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 = "0.8.0"
marlu = { version = "0.11.0", default-features = false }
ndarray = "0.15.4"
num-complex = "0.4.1"
panic-message = "0.3.0"
parking_lot = "0.12.0"
rayon = "1.5.0"
thiserror = "1.0.2"
hdf5-sys = { version = "0.8.0", 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.19.1", features = ["extension-module"], optional = true }
numpy = { version = "0.19.0", optional = true }
[dev-dependencies]
approx = { version = "0.5.0", features = ["num-complex"] }
criterion = "0.5.1"
marlu = { version = "0.11.0", default-features = false, features = ["approx"] }
serial_test = "2.0.0"
ndarray = { version = "0.15.4", features = ["approx-0_5"] }
[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" }
# marlu = { git = "https://github.com/MWATelescope/Marlu", branch = "DUT1" }