| [package] | |
| name = "htm_rust" | |
| version = "0.1.0" | |
| edition = "2021" | |
| authors = ["Feather/HYDRA"] | |
| description = "Numenta BAMI-spec Hierarchical Temporal Memory (Spatial Pooler + Temporal Memory) with pyo3 bindings" | |
| license = "MIT" | |
| [lib] | |
| name = "htm_rust" | |
| crate-type = ["cdylib", "rlib"] | |
| [dependencies] | |
| pyo3 = { version = "0.22", features = ["extension-module"] } | |
| numpy = "0.22" | |
| ndarray = "0.16" | |
| rand = "0.8" | |
| rand_xoshiro = { version = "0.6", features = ["serde1"] } | |
| serde = { version = "1", features = ["derive"] } | |
| bincode = "1.3" | |
| # cudarc: CUDA Rust bindings with dynamic-loading (no link-time dep on libcuda). | |
| # Kernels are embedded as PTX and JIT-compiled at runtime. | |
| cudarc = { version = "0.12", default-features = false, features = ["dynamic-linking", "driver", "cuda-12010"], optional = true } | |
| [build-dependencies] | |
| # Only required when building with --features gpu. We shell to nvcc directly | |
| # so we don't need cc's cuda support (which drags in extra deps). | |
| [features] | |
| default = [] | |
| # `gpu` adds the HTMRegionGPU class, compiles .cu kernels to PTX at build time, | |
| # and links cudarc. Without this feature the crate is pure-CPU and has no | |
| # CUDA dependency at build or run time. | |
| gpu = ["cudarc"] | |
| [profile.release] | |
| opt-level = 3 | |
| lto = "thin" | |
| codegen-units = 1 | |