dwavesystems / dwavesystems/dwave-system

Speed-up (un)embedding utility functions

Open
#583 0 comments 0 reactions 0 assignees View on GitHub
feature-request/enhancement
Dominant language
Python
Stars
98
Forks
67
Avg merge
7m
Merged PRs (30d)
1

Description

After #582, we'll want to apply the same relabeling technique to utility functions `embed_bqm` and `unembed_sampleset`.

Currently, `embed_bqm` creates `EmbeddedStructure` on the fly, but that's not strictly necessary if the embedding can be reduced to 1-1 relabeling. After the structure is created (~200ms on my laptop), relabeling shortcircuit is applied, but we can still reduce total time by: (1) avoiding `EmbeddedStructure` creation, or (2) deferring the slow construction bits until they're actually needed.

Similarly for `unembed_sampleset`; if a dict embedding is passed, relabeling optimization is not applied.

This should bring speed-ups from #582 to composites that use utility functions for embedding, like `TilingComposite` and `ParallelEmbeddingComposite`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.