-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor builder #364
refactor builder #364
Conversation
|
…de/bloqade-python into roger/refactor-builder
…uld be Literal instead of Decimal. 2) Fix PythonFn kwargs does not properly processed
* adding serialization for batch. * adding missing object ot serialization. * adding save and load functions for batch objects. * removing dict dispatching.
* test +6 * 1) add checking for batch_assign lengths. 2) more tests recover, * update, add trait BatchAssignable * test +1, fix bug in load_batch * adding fix to parser to account for `Sample` builder node. * fix test case for mod/ DefaultVariable * fix covergerc wrong format * ocmply ruff * fixing last tests. --------- CI is now passing for builder refactor Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net>
* test +6 * 1) add checking for batch_assign lengths. 2) more tests recover, * update, add trait BatchAssignable * test +1, fix bug in load_batch * adding fix to parser to account for `Sample` builder node. * fix test case for mod/ DefaultVariable * fix covergerc wrong format * ocmply ruff * add more tests * add missing __init__.py for builder/compile to comply with doc builder --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's good to merge in general and well someone else need to approve this PR cuz I'm the author of this PR lol.
I'd like to take a closer look with @weinbe58 on a separate time via zoom. So we are more confident with this refactor. As a side note I think the stream object needs a more complete interface such as seek
, seek_start
, seek_end
, read
, read_until
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
review TDB
* refactor builder * keep refactoring * flatten works * cleanup * add a sketch of compile pipeline * support device fn * setup a basic lexer like codegen for builder * waveform and address is working * reexporting objects to `bloqade.ir` and `bloqade` * adding `BoundedBravais` and `ParallelRegister` to imports. * adding `create`/`copy` interface to `BuilderStream` * wrap up whatever I have * docstring. * renambing fields of pulse and sequence * implmenting compiler for pulse sequence. * fix routing. * adding better error messages for not implemented backends. * stashing changes. * adding `static_assign` functionality to scalars * moving from just kargs to storing parameters as Scalar variables. * stash * rename * fixing typo * adding unit tests for * rename class. * moving visitor methods for primatives. * update dev * new compiler for sequence. * removing main2.py * rename modules. * creating visitor for scalar AST, removing `static_assign` implement assign visitor for bloqade AST. * adding canonicalization * reorder imports. * adding match arguments and serializers * adding JSON serialization for Scalar IR. * moving ir compiler into compiler subpackage * creating stream submodule and json submodule. * adding Sample node for builder. * rename `checkpoint` to `coeff` * adding json compiler for waveforms. * adding json encoder for builder. * task sketch. * adding `apply` builder method for sequence objects. * adding explicit check for `Waveform` type. * adding serialization for builder + BloqadeIR * fixing parallelize option for submit/flatten routes. * commenting out old compiler. Adding register compiler * setting up compiler trait. * fixing compiler after refactoring circular imports * fixing imports * adding JSON compiler to builder. * adding compiler traits. * compiler pipeline * adding ir caching option. * updating caching to happen at all levels of bloqade-IR * adding deserialization for bloqade-IR * refactor base backend. * finished draft implementation of serializer/deserializer * Khwu/refactor task (#391) * update, finished hardware tasl * relocate Geometry, isolcate deps * fix bug on Report * update, change status behavior to request call. fix submit order does not shuffle in OrderDict * add repr for Batch * rename submit as resubmit * finished restructure of Task/Batch * update, finished bridge for task<->builder v2 * update, add simple docs * fix namespace conflict in backend * fix bug in RemoteBackend * adding option for caching compiled programs in backends. --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * removing shots from options for backends. * keyword arg for `parent` * missing impl for static assignment on register IR objects. * sketching bug fix. * fix static assign, and visit_register issue * fixing builder compiler to blqoade IR * tm * fixing another bug in builder compiler. * remove redundant print * fix bugs for batches * update, fix bugs for report() * fix bugs in waveform builder * fix bugs with PythonFn waveform default kwargs. fix most of the testing * Khwu/rename (#399) * rename * remove factory * temporary add assert to make test_quera_internal_api fail * fixing bugs in test. * fix bugs in incomplete LocalTask/ LocalBatch. Fix report for LocalBatch * change constrain of scale to Union[Real,str,Scalar]. 2. compile visiting of record node, replace Variable(name) with cast(name) 3. fix tests cases for test_program_visitor. 4. add location method for scale * more testing case * mask coverage for deprecated codes builder_old/ task_old/ * add get_tasks/remove_tasks with status codes * merging on github. (#396) * updating program definition. refactor compiler * going back to old arg parser. * adding error messages for flatten. * refactor builder. * moving builder to builder_old * moving builder2 to builder * moving task to task_old * moving task2 to task * fixing directory * tmp save * commented cache_compiled_program * finished refactor on bridge using schemaCompiler * starting serialization of task * finished serialization * fixing bugs. * fixing braket local emulator. * removing test call * fixing some tests * fixing interface for backends. --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * adding serialization for batch. (#400) * adding serialization for batch. * adding missing object ot serialization. * update, fix bugs in naming _compile_taskdata, recover more tests * add load_batch + doc for tree_depth() * fix bugs in DefaultVariable should be Scalar not real, and member should be Literal instead of Decimal. 2) Fix PythonFn kwargs does not properly processed * fix backend api_config need to pass in with dereferences * Phil/save load batch (#404) * adding serialization for batch. * adding missing object ot serialization. * adding save and load functions for batch objects. * removing dict dispatching. * fix bug in static_assign visit Negative waveform feed in wrong ast * fixing tests * fixing issue with pattern matching with `Poly` * Khwu/testing v3 (#408) * test +6 * 1) add checking for batch_assign lengths. 2) more tests recover, * update, add trait BatchAssignable * test +1, fix bug in load_batch * adding fix to parser to account for `Sample` builder node. * fix test case for mod/ DefaultVariable * fix covergerc wrong format * ocmply ruff * fixing last tests. --------- CI is now passing for builder refactor Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * Khwu/testing v4 (#409) * test +6 * 1) add checking for batch_assign lengths. 2) more tests recover, * update, add trait BatchAssignable * test +1, fix bug in load_batch * adding fix to parser to account for `Sample` builder node. * fix test case for mod/ DefaultVariable * fix covergerc wrong format * ocmply ruff * add more tests * add missing __init__.py for builder/compile to comply with doc builder --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> --------- Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <kaihsinwu@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net>
* chore: Update pdm.lock (#276) * Braket submit bug (#277) * Fixing enum value for Braket SDK site type. * adding integration test. * removing indent that is cutting defect density generation short (#278) * implemented ability to skip invalid tasks for submission (#279) * implemented ability to skip invalid tasks for submission * Update src/bloqade/submission/braket.py Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> --------- Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * add more tests and enhance cast 1) add tests for scales 2) add tests for bravais 3) to do 2) this commit add cast for tuple type * add some basic docstring to builder methods (#269) * 280 some of bravias lattices lattice spacing are not properly set (#281) * chore: Update pdm.lock (#282) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * tmp * add more testing cases, bumping to 71% * 267 Pages fix (#284) * fixing example + adding examples to CI. * updating example to work with doc build. * fixing bug in adiabatic example. * fix baravias bugs and more test 1) fix bugs on wrong index*elementary vectors 2) bump testing cases on bravias to 96 3) fix bugs on Rectangular when spacing_y dose not specify * update to comply ruff * modify to comply ruff * add test for double parallel * modify to comply black * modify format * try * test pre-compile * pre-commit linter fix * chore: Update pdm.lock (#286) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Fix bugs on bravais, add more tests, and bump up coverages (#285) * add more tests and enhance cast 1) add tests for scales 2) add tests for bravais 3) to do 2) this commit add cast for tuple type * tmp * add more testing cases, bumping to 71% * fix baravias bugs and more test 1) fix bugs on wrong index*elementary vectors 2) bump testing cases on bravias to 96 3) fix bugs on Rectangular when spacing_y dose not specify * update to comply ruff * modify to comply ruff * modify to comply black * modify format * try * test pre-compile * pre-commit linter fix --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * waveform visitors 1) add more testing 2) fix waveform visitors Error types inconsistent bug 3) fix waveform visitors not waveform ast error bug 4) fix GaussianKernel typo * Fix bugs for Waveform visitor and more tests (#287) * add more tests and enhance cast 1) add tests for scales 2) add tests for bravais 3) to do 2) this commit add cast for tuple type * tmp * add more testing cases, bumping to 71% * fix baravias bugs and more test 1) fix bugs on wrong index*elementary vectors 2) bump testing cases on bravias to 96 3) fix bugs on Rectangular when spacing_y dose not specify * update to comply ruff * modify to comply ruff * add test for double parallel * modify to comply black * modify format * try * test pre-compile * pre-commit linter fix * waveform visitors 1) add more testing 2) fix waveform visitors Error types inconsistent bug 3) fix waveform visitors not waveform ast error bug 4) fix GaussianKernel typo --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * add more tests * fix bug in Scalar.canonicalize matching duplicate / missing Negative on rhs/lhs side bug * fix test does not trigger * more cases * Adding integration test with Quera internal API (#289) * Squashed commit of the following: commit cf0587f2a6d21399a3a2e332bea07d0e95e7381b Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 15:15:36 2023 -0400 Removing references to access keys commit c56be286850f215f30caef7c3e935e19b71017da Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 14:23:58 2023 -0400 updating future commit cf4f307422819e7a266e17ea42fb34a0c4e3432c Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 14:22:18 2023 -0400 removing token json. commit a8c8e43530cc84aee653c0e1490fa8e8756442e9 Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 13:47:46 2023 -0400 Adding mock for internal API submission and fetching task results. commit a7ab7ee9d8768500f153a3771300b5c4ca4e2b64 Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 13:05:34 2023 -0400 updating annotation. commit 67f01db76a581af44ef886358fdcaf5469d7ec7e Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 13:05:15 2023 -0400 switching to queue api for fetching task status. commit 8efa19dd0d71b02070b7049ef107da6afe3d6649 Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 13:04:42 2023 -0400 adding stricter argument initialization on SubmissionBackend. commit d92e275c2420aa23cc8d3c3fb865512b8fcaced7 Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 13:04:03 2023 -0400 fixing issue with path. commit 0654029ba21086443c12b3a7183a48304a48a20e Author: Phillip Weinberg <weinbe58@gmail.com> Date: Thu Jul 13 13:03:36 2023 -0400 updating api config for integration. * adding vcrpy to dependencies. * updating ci test. * using pytest plugin for `vcrpy` * updating how the requests are recorded * updating retreival cassette to fetch results. * removing tokens. * adding check for if arguments are being used in quera. * fix logistickernel bug and more test 1) fix logistickernel didnt return bug 2) add more tests * fix missing return for RabiRouter * tmp * Refactor submission code to call `task.result()` Braket API to block fetching tasks. (#291) * refactor code to call braket results() API to block report. * removing sorting of tasks to preserve the polling order for tasks. * finished merge master * fix bug in var(Scalar), and remove redundant printing * chore: Update pdm.lock (#293) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Fix bug and more tests on codegen (#295) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * fix bug when slice produce duplicate time points --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * Mocking braket API for submission tests. (#294) * updating braket submission examples and mocking submission api * removing double test. * adding rc file for coverage. * chore: Update pdm.lock (#301) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Fix Sample bugs for eval_decimal and add more tests (#300) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * add checking for default filling of global term --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * making `Append` give correct value for `eval_decimal(duration)`. (#306) * Fix bugs in Piecewise (Linear/Constant)Codegen slice node bug (#305) * chore: Update pdm.lock (#310) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#316) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#319) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Fix bug related to codegen for sample python functions (#307) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * finished assignment scan tests * fix bug in codegen slice * making `Append` give correct value for `eval_decimal(duration)`. * add more tests for batch_assign * add more testing cases * add more tests and fix bugs related to fn() sampling * fixing `samples` of `Sample` + adding example of using codegen directly. * fix bug in matching of namedpulese --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Xiu-zhe (Roger) Luo <rogerluo.rl18@gmail.com> * fix mkdocs cannot correctly processing docstrings. (#318) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * finished assignment scan tests * fix bug in codegen slice * making `Append` give correct value for `eval_decimal(duration)`. * add more tests for batch_assign * add more testing cases * add more tests and fix bugs related to fn() sampling * fixing `samples` of `Sample` + adding example of using codegen directly. * fix bug in matching of namedpulese * finalize * fix docstrings cannot properly display and parsing issue --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * CI for docs (#320) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * finished assignment scan tests * fix bug in codegen slice * making `Append` give correct value for `eval_decimal(duration)`. * add more tests for batch_assign * add more testing cases * add more tests and fix bugs related to fn() sampling * fixing `samples` of `Sample` + adding example of using codegen directly. * fix bug in matching of namedpulese * finalize * fix docstrings cannot properly display and parsing issue * tempo update --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * Update mkdocs.yml * chore: Update pdm.lock (#322) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#324) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Task module Refactor. (#304) * changing low-level task interface and renaming task classes * fixing tests with new Task internal API. * adding missing interface. * updating `init_from_dict` to be a private method. * adding interfaces for braket local simulator. * updating `__init__` for classes to support specific kwargs. * updating interface to reflect intent. * fixing `removing_futures_with_task_id` * dump future to file upon failure. * add `rm .mock_state.txt` in test scripts. * removing `name` from base API. * fixing test/coverage scripts to not error. * fixing typo in `tasks` property * renaming json file. * adding some comments. * fixing annotations for SubmissionBackend * adding tqdm * big refactor of task submodule. * adding type annotations. * fixing annotation. * renaming CloudTaskResults. * fixing Annotation. * fixing tests. * fixing tests. * fixing another test. * updating testing scripts. * removing old api. * fixing wrong method name. * removing potential circular imports. * adding full stack trace to error output. * Fixing bugs in QueueApi + upping test coverage. (#323) * fixing bug in `is_task_stopped` * fixing bug in polling task results endpoint. * untracking all files in * add missing exception. * upping coverage of QuEra API client * removing path to fix integration test. * removing path. * fixing bug in unit test. * Fix cast issue related to #326 (#327) * enhance error msg of cast() and adding matching of abstract type Real() for numpy dtype/pytorch dtype * change Numbers to Real --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * Test coverage for `QuEraBackend` (#328) * changing name of test file, creating test file for `QuEraBackend` class * fixing more tests. * chore: Update pdm.lock (#332) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * [Stage-1] Docs for builder (#331) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * finished assignment scan tests * fix bug in codegen slice * making `Append` give correct value for `eval_decimal(duration)`. * add more tests for batch_assign * add more testing cases * add more tests and fix bugs related to fn() sampling * fixing `samples` of `Sample` + adding example of using codegen directly. * fix bug in matching of namedpulese * finalize * fix docstrings cannot properly display and parsing issue * tempo update * add tree and builder docs * update doc * add docs for waveform * finished documenting builder part, and hiding non-user parts * update, fix builder linking, and add some doc for task/ * tmp * change node to Compile instead of codegen * hide parts that are internal from users * add documentations for ir * add more docstrings * start adding prompt for IDE * update --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@31-36-24.wireless.csail.mit.edu> Co-authored-by: Xiu-zhe (Roger) Luo <rogerluo.rl18@gmail.com> * chore: Update pdm.lock (#339) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Enhance docstring IDE experience (#341) * address #244, improving IDE hint experience up to waveform * address #244, improving IDE hint experience up to waveform * update, finished IDE enhance doc for waveform --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * chore: Update pdm.lock (#342) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * fix issues #336, and related examples (#343) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * Test cases for #336 (#344) * fix issues #336, and related examples * add test case for #336 --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * fix filling does not fragmented for each cluster (#347) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * chore: Update pdm.lock (#345) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * fix test * ignore the bad test for now (#348) * ignore the bad test for now * ignore json in root * Example 1: Rabi Oscillations (#163) * Added Rabi example * running linter * Use lower case for variable names * work in progress local emulation * removed Variable import as well as explicit Variable initialization * Added attempt to submit to hardware * now runnable as standalone script, remove HW pipeline due to bug * rename file with more standard convention * Improved interactivity of plot, testing Braket submission capability * remove hardware testing for now, bug found * added hardware submission pipeline * Complete end to end code added with improved Bokeh plot * testing docs integration with whitepaper example * forgot to add actual files in docs * Final version of notebook, more text desirable, can be added later * fix formatting issues * Fixed lint issue with black * Fixed JSON format and refactor to HardwareBatchResult * temp fix on parallel decoder on this branch --------- Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Xiu-zhe (Roger) Luo <rogerluo.rl18@gmail.com> * rm old examples dir (#350) * ignore generated json * clean up json * update emulator test for getbitstring (#351) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * clean up json (#352) * This PR address the issue with printing (#338) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * finished assignment scan tests * fix bug in codegen slice * making `Append` give correct value for `eval_decimal(duration)`. * add more tests for batch_assign * add more testing cases * add more tests and fix bugs related to fn() sampling * fixing `samples` of `Sample` + adding example of using codegen directly. * fix bug in matching of namedpulese * finalize * fix docstrings cannot properly display and parsing issue * tempo update * add tree and builder docs * update doc * add docs for waveform * finished documenting builder part, and hiding non-user parts * update, fix builder linking, and add some doc for task/ * tmp * change node to Compile instead of codegen * hide parts that are internal from users * add documentations for ir * add more docstrings * start adding prompt for IDE * compress the printing layout * tmp * auto detect if terminal support unicode * make all default printing pretty print. and move old __repr__ to __str__ with proper changes * finished pretty printing * mod str --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@31-36-24.wireless.csail.mit.edu> * add Bloqade radius interactive indicator (#340) * add Bloqade radius interactive plot * add default values, invisible for radius * remove return type for now * fix hover info display issue and make index directly map to the location index in IR * remove future * fix (x,y) should be the atom pos not curser pos * remove redundant testing * tmp merge from main * change default toggle to true --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * fix printing (#353) * Update pyproject.toml (#358) * chore: Update pdm.lock (#359) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Fix improper printing on ScaledLocations (#361) * add more tests * add more integration tests for codegen * fix bug when ConstantCodeGen hit Negative wvfm node. * tmp * fix bug when slice produce duplicate time points * tmp * tmp * adding fix for Sample interpolation. * tmp * add framework for pretty print testing and fix bugs #297 * fix bug in print with children * remove [html] from .coveragerc and fix bugs in print testing * finished assignment scan tests * fix bug in codegen slice * making `Append` give correct value for `eval_decimal(duration)`. * add more tests for batch_assign * add more testing cases * add more tests and fix bugs related to fn() sampling * fixing `samples` of `Sample` + adding example of using codegen directly. * fix bug in matching of namedpulese * finalize * fix docstrings cannot properly display and parsing issue * tempo update * add tree and builder docs * update doc * add docs for waveform * finished documenting builder part, and hiding non-user parts * update, fix builder linking, and add some doc for task/ * tmp * change node to Compile instead of codegen * hide parts that are internal from users * add documentations for ir * add more docstrings * start adding prompt for IDE * compress the printing layout * tmp * auto detect if terminal support unicode * make all default printing pretty print. and move old __repr__ to __str__ with proper changes * finished pretty printing * mod str * move all printing to base * fix MockPrinter instances got instantiate upon import * fix bug in ScaledLocations not properly printed * fix testing cases --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@31-36-24.wireless.csail.mit.edu> * make docstring hint more explicit for spacial modulation and duplicate waveform (#362) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * Fixing Builder API with multiple Spatial modulations. (#360) * adding termation function for spatial modulation. * changing from terminate field build from appending waveforms to add waveforms. * removing print statement. * update, add testing cases --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * make ListOfLoc and BoundedLattice iterable (#363) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * chore: Update pdm.lock (#365) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * moving emulator module. * removing braket validaiton functionality. (#369) * Task visualization (#366) * chore: Update pdm.lock (#367) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * skipping test that was broken by removing validation implementaiton. (#371) * stach changes. * chore: Update pdm.lock (#374) * chore: Update pdm.lock (#378) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * replace invalid characters for time-stamps in windows. (#379) * replace invalid characters for time-stamps in windows. * fixing ruff issue. * add missing `not` * adding file path to error message for clearity. (#380) * fix print() issues with both Field and SpatialModulation (#377) * fix print() issues with both Field and SpatialModulation * fix lint * fix bug in tree_print isinsance --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * chore: Update pdm.lock (#384) * fix repr does not print tree for waveform (#383) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * removing show from test_task * Fixed non-existent get_cwd (#385) * chore: Update pdm.lock (#386) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#390) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#393) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#394) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#395) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * Full IR visualization and Pulse canonicalize (#376) * finish the field IR for uniform and runtimevec. * update, add canonicalize for pulses * enhance display * comply lint * add visualization for IRs * merge main, and remove plotting from task_test * fixing linter * fixing linter --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Phillip Weinberg <phillipweinberg@Phillips-MacBook-Pro.local> * Added pretty printing for registers/Bravais Lattices (#373) * chore: Update pdm.lock (#398) * Make sure the Rectangular plot follows the same format other Bravais lattices do (#403) * chore: Update pdm.lock (#401) * refactor builder (#364) * refactor builder * keep refactoring * flatten works * cleanup * add a sketch of compile pipeline * support device fn * setup a basic lexer like codegen for builder * waveform and address is working * reexporting objects to `bloqade.ir` and `bloqade` * adding `BoundedBravais` and `ParallelRegister` to imports. * adding `create`/`copy` interface to `BuilderStream` * wrap up whatever I have * docstring. * renambing fields of pulse and sequence * implmenting compiler for pulse sequence. * fix routing. * adding better error messages for not implemented backends. * stashing changes. * adding `static_assign` functionality to scalars * moving from just kargs to storing parameters as Scalar variables. * stash * rename * fixing typo * adding unit tests for * rename class. * moving visitor methods for primatives. * update dev * new compiler for sequence. * removing main2.py * rename modules. * creating visitor for scalar AST, removing `static_assign` implement assign visitor for bloqade AST. * adding canonicalization * reorder imports. * adding match arguments and serializers * adding JSON serialization for Scalar IR. * moving ir compiler into compiler subpackage * creating stream submodule and json submodule. * adding Sample node for builder. * rename `checkpoint` to `coeff` * adding json compiler for waveforms. * adding json encoder for builder. * task sketch. * adding `apply` builder method for sequence objects. * adding explicit check for `Waveform` type. * adding serialization for builder + BloqadeIR * fixing parallelize option for submit/flatten routes. * commenting out old compiler. Adding register compiler * setting up compiler trait. * fixing compiler after refactoring circular imports * fixing imports * adding JSON compiler to builder. * adding compiler traits. * compiler pipeline * adding ir caching option. * updating caching to happen at all levels of bloqade-IR * adding deserialization for bloqade-IR * refactor base backend. * finished draft implementation of serializer/deserializer * Khwu/refactor task (#391) * update, finished hardware tasl * relocate Geometry, isolcate deps * fix bug on Report * update, change status behavior to request call. fix submit order does not shuffle in OrderDict * add repr for Batch * rename submit as resubmit * finished restructure of Task/Batch * update, finished bridge for task<->builder v2 * update, add simple docs * fix namespace conflict in backend * fix bug in RemoteBackend * adding option for caching compiled programs in backends. --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * removing shots from options for backends. * keyword arg for `parent` * missing impl for static assignment on register IR objects. * sketching bug fix. * fix static assign, and visit_register issue * fixing builder compiler to blqoade IR * tm * fixing another bug in builder compiler. * remove redundant print * fix bugs for batches * update, fix bugs for report() * fix bugs in waveform builder * fix bugs with PythonFn waveform default kwargs. fix most of the testing * Khwu/rename (#399) * rename * remove factory * temporary add assert to make test_quera_internal_api fail * fixing bugs in test. * fix bugs in incomplete LocalTask/ LocalBatch. Fix report for LocalBatch * change constrain of scale to Union[Real,str,Scalar]. 2. compile visiting of record node, replace Variable(name) with cast(name) 3. fix tests cases for test_program_visitor. 4. add location method for scale * more testing case * mask coverage for deprecated codes builder_old/ task_old/ * add get_tasks/remove_tasks with status codes * merging on github. (#396) * updating program definition. refactor compiler * going back to old arg parser. * adding error messages for flatten. * refactor builder. * moving builder to builder_old * moving builder2 to builder * moving task to task_old * moving task2 to task * fixing directory * tmp save * commented cache_compiled_program * finished refactor on bridge using schemaCompiler * starting serialization of task * finished serialization * fixing bugs. * fixing braket local emulator. * removing test call * fixing some tests * fixing interface for backends. --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * adding serialization for batch. (#400) * adding serialization for batch. * adding missing object ot serialization. * update, fix bugs in naming _compile_taskdata, recover more tests * add load_batch + doc for tree_depth() * fix bugs in DefaultVariable should be Scalar not real, and member should be Literal instead of Decimal. 2) Fix PythonFn kwargs does not properly processed * fix backend api_config need to pass in with dereferences * Phil/save load batch (#404) * adding serialization for batch. * adding missing object ot serialization. * adding save and load functions for batch objects. * removing dict dispatching. * fix bug in static_assign visit Negative waveform feed in wrong ast * fixing tests * fixing issue with pattern matching with `Poly` * Khwu/testing v3 (#408) * test +6 * 1) add checking for batch_assign lengths. 2) more tests recover, * update, add trait BatchAssignable * test +1, fix bug in load_batch * adding fix to parser to account for `Sample` builder node. * fix test case for mod/ DefaultVariable * fix covergerc wrong format * ocmply ruff * fixing last tests. --------- CI is now passing for builder refactor Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * Khwu/testing v4 (#409) * test +6 * 1) add checking for batch_assign lengths. 2) more tests recover, * update, add trait BatchAssignable * test +1, fix bug in load_batch * adding fix to parser to account for `Sample` builder node. * fix test case for mod/ DefaultVariable * fix covergerc wrong format * ocmply ruff * add more tests * add missing __init__.py for builder/compile to comply with doc builder --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> --------- Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <kaihsinwu@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * new design for lowering. * chore: Update pdm.lock (#412) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * adding checks for scalar in assign * Force plots to always be 80x24 (#415) Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * adding tests. * add shot info (total_nshots) for Batch and (nshots) for Task (#418) * add shot info (total_nshots) for Batch and (nshots) for Task * remove redundant print() in codegen. Add more info in repr/get_metric for batch. --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * Phil/adding constants module (#419) * adding c6 * adding test * stash * adding sorting to counts. (#420) * Recover docs for builder and IDE hint (#422) * update, docs * recover doc for builder coupling, field * finished waveform doc * update, finished recover IDE hint and docs for builder * remove ParallelizeFlatten --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * Flatten bug invalid check (#426) * fixing issue with check for trying to flatten vector arguments. * adding test. * run black. * fixing ruff * adding another test for flattened error. * run black * completing implementation for rabi * fix negative scalar misleading ppring (#430) * fix negative scalar misleading ppring * update test --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * fixing bug. (#436) * Add unicode autodetection, fallback to period as substitute for unicode dot (#431) Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * Khwu/vis report#417 (#432) * tmp * finish visualize report * update, finished metadata * finished visual with hovertools and indicators * add box_zoom * fix bug in rydberg density * fix metadata + add panx/zoomz options for plots. * adding method to get a list of parameters from metadata. * fixing annotation. * x axis label 45 deg * add name for report * update --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * Khwu/vis geo#433 (#443) * try logo * add register * add heatmap for rydberg density * add heatmap, fix bugs for Decimal/float * remove bar chart for ryd density --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * chore: Update pdm.lock (#445) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * chore: Update pdm.lock (#446) * refactoring modules adding visitor for lowerfrom from emulator program to AnalogGate. * adding duration to emulator program. * adding features for waveforns, * remove pydantic * changing order of arguments. * debugging lowering from bloqade-IR to emulator IR. * changing order of args. * adding helper functions for calculating matrix elements. * chore: Update pdm.lock (#448) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * added unit tests for lattice terminal pretty printing (#402) * added unit tests for lattice terminal pretty printing * revised unit tests with main merged in, fixed 80 x 24 dimensions * us os instead of pathlib --------- Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * removing validation for reserved tokens (#452) * removing validation for reserved tokens * skipping test. * add natoms from builder (#451) * add natoms from builder * rename natom -> n_atoms --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * Bokeh test and remove redundant __main__ in visualization/ (#450) * explicit import * fix testing import * change show to save for tests --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * add terminal color support for Variable (#449) * add color support * fix test --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * updating pdm lock (#458) * bug: swapped order in constructor. (#465) * bug: swapped order in constructor. * adding integration test. * re-exporting objects into module just under bloqade. (#460) * add icons for bloqade and QuEra (#462) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * updating names of parameters for clarity * adding matrix element calculation methods to space and adding AtomType objects. * adding space atom types. * stash for later * chore: Update pdm.lock (#468) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * enhance batch behavior (#467) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * renaming modules * fixing implementation for two and three level system. * renaming function (#471) * 441 reorganize the program lowering pass (#444) * updating to absolute paths. * linter * renaming modules. * removing compiler, not needed * adding parallel_decoder as return value from schema generator. * adding sketch of compiler in program. * removing TaskData like objects. * adding compiler objects. * adding parser. * refactor compiler. * fixing unit tests. * adding check to make sure the serializer saves tasks properly. * add newline * adding builder as parent node to Program. * renaming default variable to assigned variable for tracing. * changing visitors. * renaming to * removing compiler package * stash, needs debugging * debugging tests * removing credentials from submiss API. * fixing issue with deserialization. * refactor parser. * stashing * fixing builder code. * adding braket route * adding quera submission * adding exceptions for non-implemented content. * adding quera options. * renaming `DumbMockBackend` to just `MockBackend` * adding back kai's change. * fixing parser * fixing some minor bugs. * removing lower module. * fixing configs. * fixing some traits. * stash changes. * fixing some tests. * fixing all unit tests. * bug fix for parser. * adding init for docs. * adding multiprocessing back to the local jobs. (#421) * adding multiprocessing back to the local jobs. * adding `self` as return value for `run` in order to capture results from the process. * changing from `multiprocessing` to `concurrent.futures` for simpler API. * adding multiprocessing options to emulator routine. * Removing old modules. (#474) * Temporary state file for tests (#476) * replace submit with compile * add temporary file for integration test using state_file. * Removing prints. (#477) * updating docstring. * stashing changes * more stashing * chore: Update pdm.lock (#482) Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> * adding fix for missing data in report. (#478) * adding fix for missing data * removing reference to `task_number` in report outputs and just returning a list of values for each task in the data frame. * adding filter flag for imperfect sotring. * fixing test. * better information for report (#481) Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * Khwu/batch status (#485) * fix behavior of task/batch to better reflect the task status * add check for task_id existing * updating filters to use generic implementations. * adding kwarg required for initialization. * update, add immediate fetch after submit * update fetch behavior when task_id is not exist * update fix bugs * remove accidentally pull when repr metric * update, make statuscode *args * update test * add partial to return result for quera task --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> * Visitor for Location module. (#483) * adding base class for location visitor * create visitor for serializer. * assing location visitor for static assign. * moving compiler pass for assigning record values to outside of schema generating pass. * rename static assign to assign, * fixing missing rename * adding assigned `RunTimeVector` node. (#484) * adding assigned `RunTimeVector` node. * fixing names in serialization for `AssignedVariable` * update Serialization * adding assignment for `RunTimeVector` * adding node to Schema generator. * adding test. * debugging tests. * bump for CI. * fix casting param * fixing bug for multiple pass. * adding test for potential bug. * fixing tests. * update, remove bitstrings from hover, fix bug in counts for report (#487) * update, remove bitstrings from hover, fix bug in counts for report * update, remove bitststrings from hovers * update remove redundant breakline from bitstrings * remove redundanat print, and fix cis --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Phillip Weinberg <weinbe58@gmail.com> * renaming submodule. * Khwu/docs alpha (#489) * add more docs for builder and Routine * enhance docstrings for users, including batch, backend, routines --------- Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> * renameing modules. * adding sample state * adding routine for emulator. * adding init. * modify IR to be easily cachable to cache operators across multiple tasks. * basic cases work for compilation * removing assignment as it should happen in compiler passes. * making code compaptible with different compilatoin passes. * making hash include class name. * using combination of operator data and geometry for caching results. * adding comments. * renaming `Geometry` to `Register` * renaming methods. * adding annotations. * adding `BloqadeTask` * adding bloqade emulator execution * integration into builder * adding `project_hyperfine` options explicitly * fixing bugs. * switching to interaction picture to speed up calculation. * fixing options. * adding some tests. * more tests. * more tests. * rename positions to sites. * refactor modules. * fixing bug in report * fixing hash and fixing imports. * integration. * fixing bug with interaction picture. * adding time-selection to AnalogGate.apply * adding equality back for register. * fixing bug with field position -> sites. * renaming `geometry` to `register` * renaming fields to be more consistent with BloqadeIR. * renaming visitor methods. * fixing transformation out of interaction picture. * fixing sign. * fixing names in codegen. * adding integration test. * renaming test. * fixing name of test. * fixing names in hamiltonian codegen. * adding integration test with phase. * adding builder hint. * adding docs. * fixing bug, updating docs. * reusing array. * fixing potential bug with subspace matrix element calculation. * fixing typo * moving compiled waveform into emulator IR. * fixing tests. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: John Long <johnzl@protonmail.ch> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MBP.hsd1.ma.comcast.net> Co-authored-by: Xiu-zhe (Roger) Luo <rogerluo.rl18@gmail.com> Co-authored-by: Roger-luo <Roger-luo@users.noreply.github.com> Co-authored-by: Kai-Hsin Wu <khwu@KHWus-MacBook-Pro.local> Co-authored-by: Kai-Hsin Wu <kaihsinwu@gmail.com> Co-authored-by: Kai-Hsin Wu <khwu@31-36-24.wireless.csail.mit.edu> Co-authored-by: Phillip Weinberg <phillipweinberg@Phillips-MacBook-Pro.local>
No description provided.