Skip to content

Commit bc1c7c4

Browse files
Merge branch 'main' into sphere
2 parents 37074d6 + c803b71 commit bc1c7c4

File tree

6 files changed

+1411
-0
lines changed

6 files changed

+1411
-0
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,32 @@ at your option.
171171
This project is inspired by [Extropic's THRML](https://github.com/extropic-ai/thrml) library.
172172
THRML-RS is an independent Rust implementation providing the same functionality with native
173173
GPU acceleration.
174+
175+
## Experimental: Hyperspherical Navigation (`sphere` branch)
176+
177+
The `sphere` branch contains an experimental crate for hyperspherical embedding optimization and multi-cone EBM navigation:
178+
179+
| Crate | Description |
180+
|-------|-------------|
181+
| [`thrml-sphere`](https://github.com/SashimiSaketoro/thrml-rs/tree/sphere/crates/thrml-sphere) | Langevin dynamics sphere optimization, ROOTS indexing, multi-cone navigation |
182+
183+
### Features (sphere branch)
184+
185+
- **Sphere Optimization**: Water-filling Langevin dynamics for embedding placement
186+
- **ROOTS Index**: Compressed inner-shell index with 3000:1 compression
187+
- **Multi-Cone Navigation**: Budget-allocated parallel EBM navigation
188+
- **Advanced Training**: Hard negative mining, PCD, curriculum learning
189+
- **Substring Coupling**: Byte-level structure for code/text clustering
190+
191+
### Using the sphere branch
192+
193+
```bash
194+
# Clone with sphere branch
195+
git clone -b sphere https://github.com/SashimiSaketoro/thrml-rs.git
196+
197+
# Or add as git dependency
198+
[dependencies]
199+
thrml-sphere = { git = "https://github.com/SashimiSaketoro/thrml-rs", branch = "sphere" }
200+
```
201+
202+
See the [sphere branch documentation](https://github.com/SashimiSaketoro/thrml-rs/tree/sphere/docs/api/sphere.md) for full API reference.

crates/thrml-core/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ pub mod block;
6666
pub mod blockspec;
6767
pub mod compute;
6868
pub mod config;
69+
pub mod metrics;
6970
pub mod node;
71+
pub mod text;
7072

7173
// GPU-dependent modules (require gpu feature)
7274
#[cfg(feature = "gpu")]
@@ -85,7 +87,13 @@ pub use block::*;
8587
pub use blockspec::*;
8688
pub use compute::*;
8789
pub use config::*;
90+
pub use metrics::*;
8891
pub use node::*;
92+
pub use text::*;
93+
94+
// Re-export GpuInfo only when gpu feature is enabled
95+
#[cfg(feature = "gpu")]
96+
pub use backend::GpuInfo;
8997

9098
// Re-export GpuInfo only when gpu feature is enabled
9199
#[cfg(feature = "gpu")]

0 commit comments

Comments
 (0)