Skip to content

Commit cbe14f7

Browse files
committed
Merge remote-tracking branch 'origin/dev' into feat/guppy-qec
2 parents e978843 + bedc24e commit cbe14f7

File tree

127 files changed

+8122
-2990
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+8122
-2990
lines changed

Cargo.lock

Lines changed: 34 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ rand_core = "0.9"
9898
rand_xoshiro = "0.7"
9999
rapidhash = { version = "4", features = ["rng"] }
100100

101+
# Concurrency
102+
crossbeam-channel = "0.5"
103+
101104
# Windows workaround: Disable zstd-sys legacy feature to avoid MSVC ICE
102105
# MSVC 14.43 has an internal compiler error (C1001) when compiling zstd_v06.c
103106
# The legacy feature compiles old zstd formats (v0.1-v0.7) that PECOS doesn't need
@@ -117,8 +120,7 @@ pecos-qec = { version = "0.1.1", path = "crates/pecos-qec" }
117120
pecos-rng = { version = "0.1.1", path = "crates/pecos-rng" }
118121
pecos-qis-ffi = { version = "0.1.1", path = "crates/pecos-qis-ffi" }
119122
pecos-qis-ffi-types = { version = "0.1.1", path = "crates/pecos-qis-ffi-types" }
120-
pecos-qis-selene = { version = "0.1.1", path = "crates/pecos-qis-selene" }
121-
pecos-qis-core = { version = "0.1.1", path = "crates/pecos-qis-core" }
123+
pecos-qis = { version = "0.1.1", path = "crates/pecos-qis" }
122124
pecos-hugr-qis = { version = "0.1.1", path = "crates/pecos-hugr-qis" }
123125
pecos-hugr = { version = "0.1.1", path = "crates/pecos-hugr" }
124126
pecos-llvm = { version = "0.1.1", path = "crates/pecos-llvm" }

crates/benchmarks/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ license.workspace = true
99
keywords.workspace = true
1010
categories.workspace = true
1111
publish = false
12-
readme = "../../README.md"
12+
description = "Performance benchmarks for PECOS (internal)"
13+
readme = "README.md"
1314

1415
[dev-dependencies]
1516
criterion.workspace = true

crates/pecos-build/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "pecos-build"
33
version.workspace = true
44
edition.workspace = true
55
description = "PECOS build utilities - dependency management, LLVM setup, and build script helpers"
6-
readme.workspace = true
6+
readme = "README.md"
77
authors.workspace = true
88
homepage.workspace = true
99
repository.workspace = true

crates/pecos-build/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# pecos-build
2+
3+
Build utilities and dependency management for PECOS.
4+
5+
## Purpose
6+
7+
Used by build scripts (`build.rs`) to manage external dependencies. Handles downloading, caching, and locating libraries.
8+
9+
## Key Features
10+
11+
- **LLVM 14 management**: Install, configure, and find LLVM 14
12+
- **Dependency downloads**: QuEST, Qulacs, Stim, Eigen, etc.
13+
- **Tool finding**: `find_tool("llvm-as")`, `find_llvm_14()`
14+
- **Manifest parsing**: Load `pecos.toml` for dependency versions
15+
16+
## PECOS Home Directory
17+
18+
All dependencies managed under `~/.pecos/`:
19+
20+
```
21+
~/.pecos/
22+
├── cache/ # Downloaded archives
23+
├── deps/ # Extracted source trees
24+
├── llvm/ # LLVM installation
25+
└── tmp/ # Temporary files
26+
```
27+
28+
## Usage
29+
30+
```rust
31+
// In build.rs
32+
use pecos_build::{ensure_dep_ready, Manifest, find_tool};
33+
34+
let manifest = Manifest::find_and_load_validated()?;
35+
let quest_path = ensure_dep_ready("quest", &manifest)?;
36+
let llvm_as = find_tool("llvm-as");
37+
```

crates/pecos-chromobius/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
name = "pecos-chromobius"
33
version.workspace = true
44
edition.workspace = true
5-
readme.workspace = true
5+
readme = "README.md"
66
authors.workspace = true
77
homepage.workspace = true
88
repository.workspace = true
99
license.workspace = true
1010
keywords.workspace = true
1111
categories.workspace = true
12-
description = "Chromobius decoder wrapper for PECOS"
12+
description = "Chromobius color code decoder for PECOS"
1313

1414
[dependencies]
1515
pecos-decoder-core.workspace = true

crates/pecos-chromobius/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# pecos-chromobius
2+
3+
Chromobius color code decoder for PECOS.
4+
5+
## Purpose
6+
7+
Wraps the Chromobius decoder for color code quantum error correction. Uses Mobius matching for efficient syndrome decoding.
8+
9+
## Key Types
10+
11+
- `ChromobiusDecoder` - Main decoder interface
12+
- `ChromobiusConfig` - Decoder configuration
13+
14+
## Acknowledgements
15+
16+
This crate wraps [Chromobius](https://github.com/quantumlib/chromobius), a color code decoder developed by Craig Gidney and Cody Jones at Google Quantum AI.
17+
18+
**Paper:**
19+
- Gidney, C. & Jones, C. (2023). "New circuits and an open source decoder for the color code." [arXiv:2312.08813](https://arxiv.org/abs/2312.08813)

crates/pecos-core/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ repository.workspace = true
88
license.workspace = true
99
keywords.workspace = true
1010
categories.workspace = true
11-
description = "Provides core definitions and functions for PECOS simulations."
12-
readme = "../../README.md"
11+
description = "Core types and utilities for PECOS"
12+
readme = "README.md"
1313

1414
[dependencies]
1515
bitvec.workspace = true

crates/pecos-core/README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# pecos-core
22

3-
`pecos-core` is an **internal crate** to provide core functionality.
3+
Core types and utilities for PECOS.
44

5-
This is not intended for external use.
5+
## Purpose
6+
7+
Provides fundamental types used across the PECOS ecosystem.
8+
9+
## Key Types
10+
11+
- `QubitId` - Qubit identifier
12+
- `Gate` - Gate representation
13+
- `Pauli`, `PauliString` - Pauli operators
14+
- `Bit`, `BitSet`, `BitVec` - Bit manipulation
15+
- `Angle` - Angle representations
16+
- `Phase`, `Sign` - Phase utilities
17+
18+
This is an internal crate. Most users should use the `pecos` meta-crate.

crates/pecos-decoder-core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "pecos-decoder-core"
33
version.workspace = true
44
edition.workspace = true
5-
readme.workspace = true
5+
readme = "README.md"
66
authors.workspace = true
77
homepage.workspace = true
88
repository.workspace = true

0 commit comments

Comments
 (0)