Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
35d2aae
Testing for push github
May 27, 2024
3920266
copying dual_modual_parallel.rs from fusion blossom to mwpf
Jun 6, 2024
b1ec1ac
copying and modifying dual_module_parallel.rs, need to think over the…
Jun 10, 2024
5ef3553
modifying mwpm_solver to add SolverParallel, need to debug DualModule…
Jun 13, 2024
6a662a7
Merge branch 'yuewuo:main' into main
YangLiuWillow Jun 13, 2024
e3a7531
worked on dual_module_parallel.rs, decided to start from a clean code
Jun 13, 2024
c773155
reworked util.rs and dual_module.rs with ArcRwLock
Jun 14, 2024
4065d31
worked on dual_module_parallel.rs
Jun 14, 2024
ade2a52
worked on dual_module_parallel.rs , need to think over the Partition …
Jun 14, 2024
3d5fbb3
consulted Yue on virtual_vertices, the mirrored_vertices are generate…
Jun 17, 2024
c1ec2c7
make changes
Jun 18, 2024
c04b930
modified dual_module_parallel.rs
Jun 19, 2024
835aee5
changed dual_module_paralle.rs
Jun 20, 2024
85d8259
modifying GroupMaxUpdateLength
Jun 21, 2024
d678929
simple demo works
Jul 14, 2024
4792c5f
maintain the original version
Jul 14, 2024
aafecf9
last version of parallel, create a new branch to avoid using parallel
Jul 18, 2024
ac37f86
pointer with hashset
Aug 12, 2024
0fd398f
remove decoding_graph in suggestion
Aug 16, 2024
c9e58ba
trying to fix the panic at relaxer_forest_require_multiple test
Aug 16, 2024
518e062
fixing panic at relaxer_forest.rs
Aug 16, 2024
45e96a0
change to btreeset, panic resolved
Aug 17, 2024
e321d31
random panic resolved, but resolve time extensively varies for seed 131
Aug 18, 2024
62f3c0e
implementing parallel for pointer version of dual_module_pq.rs
Aug 19, 2024
ea1c20f
trying to accommodate for vertices with discontinuous indices
Aug 20, 2024
3849b56
parallel implementation with continuous vertices
Aug 20, 2024
815d433
fixed growing into other units, but now grows too much, assert fails
Aug 21, 2024
6278c90
bug: final subgraph is wrong
Aug 22, 2024
b1cadf1
add get_vertex_neighbor() for EdgePtr, seem to solve the previous bug…
Aug 22, 2024
e036bb1
fixed modifying mirrored_vertices of vertex_ptr of different units, d…
Aug 22, 2024
1871dc6
test for split-into-4 on hypergraph circuit level noise
Aug 23, 2024
9172bd3
works for split-into-4 hypergraph circuit level noise in dual_module_…
Aug 23, 2024
1543556
added parallel implementation for bfs_compute_max_update_length using…
Aug 23, 2024
72438fb
starting to work on primal_module_parallel.rs
Aug 23, 2024
1c92d32
run cargo test for all test cases, some of them fail, but passes when…
Aug 23, 2024
7c9e918
continue to work on primal_module_parallel.rs, need to modify paralle…
Aug 25, 2024
fcd63ac
primal_module_parallel.rs runs, but needs to perhaps load the defect …
Aug 25, 2024
87e61ec
need to fix subgraph and subgraph_range()
Aug 26, 2024
d38dd7b
pass cluster_ptr around instead of cluster_index, need to perhaps rep…
Aug 26, 2024
d855722
primal_module_parallel.rs works partially. It, however, can only grow…
Aug 26, 2024
9c74073
fix visualization
yuewuo Aug 26, 2024
17fa6bd
added pointer to global_time in edge
Aug 26, 2024
c2619ef
perhaps found the reason why primal_module_parallel.rs can only grow …
Aug 27, 2024
dddb213
primal_module_parallel.rs seems to be working, needs to parallelize m…
Aug 27, 2024
db15979
generate primal_module_parallel.rs animation
Aug 27, 2024
8508eba
thread_pool in parallel_solve_step_callback
Aug 27, 2024
cea0f2e
needs to fix split_num = 8 panic of growth larger than weight
Aug 27, 2024
4ecb7cc
changed nm to 18 for circuit level noise
Aug 30, 2024
863781f
found a bug when there are multiple defect nodes on the boundary unit
Aug 31, 2024
31435f5
trying to figure out bug on defect vertices on boundary unit
Aug 31, 2024
8833c27
change growth of edge-in-fusion to half of its original value
Sep 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 27 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mwpf"
version = "0.0.4"
version = "0.1.1"
authors = ["Yue Wu <wuyue16pku@gmail.com>"]
edition = "2021"
license = "MIT"
Expand Down Expand Up @@ -36,16 +36,21 @@ debug = true

[features]
# to enable a feature, use `--features xxx`
default = ["cli"]
default = ["f64_weight", "cli", "qecp_integrate", "slp", "pq"]
old_default = ["cli", "slp"]
cli = ["pbr"]
r64_weight = [] # use Rational64 instead of BigRational as weight type
f64_weight = [] # use f64 instead of BigRational as weight type
u32_index = [] # use u32 instead of usize as index type, to save memory
python_binding = ["pyo3"] # bind to Python
wasm_binding = ["wasm-bindgen"] # bind to wasm
colorful = [] # enable colorful output in case terminal exists
r64_weight = [] # use Rational64 instead of BigRational as weight type
f64_weight = ["float_lp"] # use f64 instead of BigRational as weight type
f32_weight = ["float_lp"] # use f64 instead of BigRational as weight type
u32_index = [] # use u32 instead of usize as index type, to save memory
python_binding = ["pyo3"] # bind to Python
wasm_binding = ["wasm-bindgen"] # bind to wasm
colorful = [] # enable colorful output in case terminal exists
qecp_integrate = ["qecp"]
float_lp = ["highs"]
incr_lp = []
pq = [] # use edge/vertex definitions in dual_module_pq
non-pq = [] # use edge/vertex definitions in dual_module_serial

[dependencies]
pyo3 = { version = "0.19.2", features = [
Expand All @@ -67,25 +72,34 @@ parking_lot = { version = "0.12.1", features = ["hardware-lock-elision"] }
num-rational = "0.4.1"
num-traits = "0.2.15"
more-asserts = "0.3.1"
rand = "0.8.5"
rand = { version = "0.8.5", features = ["small_rng"] }
prettytable-rs = "0.10.0"
itertools = "0.11.0"
cfg-if = "1.0.0"
getrandom = { version = "0.2", features = ["js"] }
wasm-bindgen = { version = "0.2.86", optional = true }
lazy_static = "1.4.0"
slp = "0.1.11"
highs = { version = "1.6.1", optional = true }
slp = { path = "src/slp", optional = true }
highs = { path = "src/highs", optional = true }
sugar = "0.2.0"
maplit = "1.0.2"
qecp = { version = "0.2.4", optional = true, default-features = false, features = [
qecp = { version = "0.2.5", optional = true, default-features = false, features = [
"fusion_blossom",
] }
serde_variant = "0.1.3"
priority-queue = "2.0.3"
heapz = { path = "src/heapz" }
hashbrown = "0.14.5"
pheap = { path = "src/pheap" }
rayon = "1.7.0"
weak-table = "0.3.2"
petgraph = { version = "0.6.0", features = ["serde-1"] }
core_affinity = "0.8.0"
color-print = "0.3.6"

[dev-dependencies]
test-case = "3.1.0"

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "katex-header.html"]
# to run locally: `RUSTDOCFLAGS="--html-in-header katex-header.html" cargo doc --no-deps`
rustdoc-args = ["--html-in-header", "katex-header.html"]
Loading