{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":139060886,"defaultBranch":"master","name":"qiskit-core","ownerLogin":"mtreinish","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2018-06-28T19:36:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2447371?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725667788.0","currentOid":""},"activityList":{"items":[{"before":"3e6ebc5544977a4e928288e458ab51882d742902","after":null,"ref":"refs/heads/rust-inverse-cancellation","pushedAt":"2024-09-07T00:09:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"}},{"before":"92ef00bbbf7ce32d87c446282603b4544f6aeb01","after":null,"ref":"refs/heads/drop-deprecated-benchmarks","pushedAt":"2024-09-07T00:09:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"}},{"before":"d4c248ccb5231fad4a258fbcc26b433790bbdc71","after":null,"ref":"refs/heads/clipp-1810-fixes","pushedAt":"2024-09-07T00:09:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"}},{"before":"7dee70219033ca759be1b603680d7722765230bb","after":"3e6ebc5544977a4e928288e458ab51882d742902","ref":"refs/heads/rust-inverse-cancellation","pushedAt":"2024-09-06T21:50:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main' into rust-inverse-cancellation","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main' into rust-inverse-cancella…"}},{"before":"ccb9ddfad9ddc2e3987bfd87d6aad8e9d902c3ae","after":null,"ref":"refs/heads/rust-check-map","pushedAt":"2024-09-06T21:47:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"}},{"before":"31418ae18df89cb071774754b87f7246420ff063","after":"a3623667e085e5d61473262f6ffe865e8cbddc04","ref":"refs/heads/py39-now-and-forever","pushedAt":"2024-09-06T21:45:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Update reference images","shortMessageHtmlLink":"Update reference images"}},{"before":"b0d1d648cddf2eca974be512456d6ef4cb1c6c49","after":"31418ae18df89cb071774754b87f7246420ff063","ref":"refs/heads/py39-now-and-forever","pushedAt":"2024-09-06T20:56:06.000Z","pushType":"push","commitsCount":77,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Pin dependency versions when installing historical versions\n\nNow that we're running Python 3.9 as the base version we are\nencountering compatibility issues with some of our dependencies because\n3.9 supports newer versions of things like numpy than older Qiskit\nreleases were compatible with. The only way to work around this is to\npin the versions when installing historical versions. To start this sets\na single constraints version since we can get away with using the same\nversion for everything. In the future though it is possible that we'll\nneed separate files for different historical releases.","shortMessageHtmlLink":"Pin dependency versions when installing historical versions"}},{"before":"170148c8194c1218b9ede1f13f704a78125303ab","after":"7dee70219033ca759be1b603680d7722765230bb","ref":"refs/heads/rust-inverse-cancellation","pushedAt":"2024-09-06T20:28:33.000Z","pushType":"push","commitsCount":27,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Rework short circuit logic","shortMessageHtmlLink":"Rework short circuit logic"}},{"before":"bee99b1d9e51d5bc716b03500a24cbfdfab4737b","after":"911be95af82ca92b97fc35b608588609278c3b86","ref":"refs/heads/use-rust-split2q-unitaries","pushedAt":"2024-09-06T19:53:40.000Z","pushType":"push","commitsCount":25,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Update pass logic with changes from #13095\n\nSome of the logic inside the Split2QUnitaries pass was updated in a\nrecently merged PR. This commit makes those changes so the rust\nimplementation matches the current state of the previous python version.","shortMessageHtmlLink":"Update pass logic with changes from Qiskit#13095"}},{"before":"64c47b886e6c56c589595f5b72ca70af37640066","after":"ccb9ddfad9ddc2e3987bfd87d6aad8e9d902c3ae","ref":"refs/heads/rust-check-map","pushedAt":"2024-09-06T19:41:55.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main' into rust-check-map","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main' into rust-check-map"}},{"before":"3565a6e1ada68e01f24b8ad69657d20499e0f04c","after":null,"ref":"refs/heads/rust-filter-op-nodes","pushedAt":"2024-09-05T23:52:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"}},{"before":null,"after":"d4c248ccb5231fad4a258fbcc26b433790bbdc71","ref":"refs/heads/clipp-1810-fixes","pushedAt":"2024-09-05T21:57:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Fix clippy failures with Rust 1.81.0\n\nThe recently released Rust 1.81.0 introduced some new on by default\nclippy rules and these rules are flagging issues in the rust code in the\nlibrary. While we use Rust 1.70 for clippy in CI and these won't cause\nfailures until we raise our MSRV to >= 1.81.0 these clippy\nwarnings/failures are still good to fix as the either make the code more\nconsise and/or efficient. This commit fixes these issues identified by\nclippy.","shortMessageHtmlLink":"Fix clippy failures with Rust 1.81.0"}},{"before":"1a99b80736f072f9e90d07a80c1877a712ee3a1d","after":"3565a6e1ada68e01f24b8ad69657d20499e0f04c","ref":"refs/heads/rust-filter-op-nodes","pushedAt":"2024-09-05T21:49:22.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main' into rust-filter-op-nodes","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main' into rust-filter-op-nodes"}},{"before":"b7c0cbd96f83e769291d2a2ce66f99a979f5e2bf","after":null,"ref":"refs/heads/adjust-neato-settings","pushedAt":"2024-09-05T17:55:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"}},{"before":"081c4bc2f86e23a54c5d00f9282eb17003e42ecc","after":"1a99b80736f072f9e90d07a80c1877a712ee3a1d","ref":"refs/heads/rust-filter-op-nodes","pushedAt":"2024-09-04T21:07:45.000Z","pushType":"push","commitsCount":22,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Rename filter_labelled_op to filter_labeled_op","shortMessageHtmlLink":"Rename filter_labelled_op to filter_labeled_op"}},{"before":null,"after":"9d49bb5a30d639552257674db754730c96a10505","ref":"refs/heads/test_beta1","pushedAt":"2024-09-04T17:58:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'alexanderivrii/hls' into test_beta1","shortMessageHtmlLink":"Merge remote-tracking branch 'alexanderivrii/hls' into test_beta1"}},{"before":"298c4b2ecf8e64220e164254208bde35b6200f3a","after":"64c47b886e6c56c589595f5b72ca70af37640066","ref":"refs/heads/rust-check-map","pushedAt":"2024-09-04T16:57:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Update crates/accelerate/src/check_map.rs\n\nCo-authored-by: Raynel Sanchez <87539502+raynelfss@users.noreply.github.com>","shortMessageHtmlLink":"Update crates/accelerate/src/check_map.rs"}},{"before":"341a65b9ade8ee4e8246584b551cb1fbe271bebc","after":"298c4b2ecf8e64220e164254208bde35b6200f3a","ref":"refs/heads/rust-check-map","pushedAt":"2024-09-04T16:57:02.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main' into rust-check-map","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main' into rust-check-map"}},{"before":"05cf0a417cfaab438c1fa6150f56b2a325dbd1e5","after":"b7c0cbd96f83e769291d2a2ce66f99a979f5e2bf","ref":"refs/heads/adjust-neato-settings","pushedAt":"2024-09-04T16:21:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"1ucian0","name":"Luciano Bello","path":"/1ucian0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/766693?s=80&v=4"},"commit":{"message":"new ref images","shortMessageHtmlLink":"new ref images"}},{"before":"e8bd1518e2ac025970c35b97aeea9f4f6346a22f","after":"05cf0a417cfaab438c1fa6150f56b2a325dbd1e5","ref":"refs/heads/adjust-neato-settings","pushedAt":"2024-09-04T15:41:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"1ucian0","name":"Luciano Bello","path":"/1ucian0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/766693?s=80&v=4"},"commit":{"message":"remove the formula","shortMessageHtmlLink":"remove the formula"}},{"before":"e3f2be25d31114048bbda9bfc677d37ccecfb83f","after":"e8bd1518e2ac025970c35b97aeea9f4f6346a22f","ref":"refs/heads/adjust-neato-settings","pushedAt":"2024-09-04T14:27:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"1ucian0","name":"Luciano Bello","path":"/1ucian0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/766693?s=80&v=4"},"commit":{"message":"support for backendv1","shortMessageHtmlLink":"support for backendv1"}},{"before":"056fcf23eb229eed8f8ea41e53fe9f6bd10d4b96","after":"e3f2be25d31114048bbda9bfc677d37ccecfb83f","ref":"refs/heads/adjust-neato-settings","pushedAt":"2024-09-04T13:49:03.000Z","pushType":"push","commitsCount":88,"pusher":{"login":"1ucian0","name":"Luciano Bello","path":"/1ucian0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/766693?s=80&v=4"},"commit":{"message":"planar branching","shortMessageHtmlLink":"planar branching"}},{"before":null,"after":"92ef00bbbf7ce32d87c446282603b4544f6aeb01","ref":"refs/heads/drop-deprecated-benchmarks","pushedAt":"2024-08-30T21:46:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Remove benchmarks for deprecated (or soon to be) features\n\nThis commit removes benchmarks for the deprecated assemble module and\nthe soon to be (see #13063) deprecated pulse module. While these\nfeatures are still supported it's not worth the spending the limited\nCPU time we hacve on the benchmarking system to track the performance of\nthese components anymore.","shortMessageHtmlLink":"Remove benchmarks for deprecated (or soon to be) features"}},{"before":"0689b736d9f5d49427f07fb6950e5416aedf861d","after":"bee99b1d9e51d5bc716b03500a24cbfdfab4737b","ref":"refs/heads/use-rust-split2q-unitaries","pushedAt":"2024-08-30T21:32:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Fully port Split2QUnitaries to rust\n\nThis commit builds off of #13013 and the other data model in Rust\ninfrastructure and migrates the InverseCancellation pass to\noperate fully in Rust. The full path of the transpiler pass now never\nleaves Rust until it has finished modifying the DAGCircuit. There is\nstill some python interaction necessary to handle parts of the data\nmodel that are still in Python, mainly for creating `UnitaryGate`\ninstances and `ParameterExpression` for global phase. But otherwise\nthe entirety of the pass operates in rust now.\n\nThis is just a first pass at the migration here, it moves the pass to\nuse loops in rust. The next steps here are to look at operating\nthe pass in parallel. There is no data dependency between the\noptimizations being done for different gates so we should be able to\nincrease the throughput of the pass by leveraging multithreading to\nhandle each gate in parallel. This commit does not attempt\nthis though, because of the Python dependency and also the data\nstructures around gates and the dag aren't really setup for\nmultithreading yet and there likely will need to be some work to\nsupport that.\n\nPart of #12208","shortMessageHtmlLink":"Fully port Split2QUnitaries to rust"}},{"before":"6924be407d7a58db245a2bf7cf7405b628f81514","after":"341a65b9ade8ee4e8246584b551cb1fbe271bebc","ref":"refs/heads/rust-check-map","pushedAt":"2024-08-30T21:20:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Use a Vec for wire_map instead of a HashMap\n\nThis commit switches to using a Vec for the internal wire_map\nused to map control flow qubits. A HashMap was originally used because\nin Python a dictionary is used. However, in the rust domain the inner\nqubits are contiguous integers starting from 0 so a Vec can be used for\nbetter performance in the case we have control flow.","shortMessageHtmlLink":"Use a Vec<Qubit> for wire_map instead of a HashMap"}},{"before":"00c7e10c23bb15ac2623c0132a90f11004354125","after":"170148c8194c1218b9ede1f13f704a78125303ab","ref":"refs/heads/rust-inverse-cancellation","pushedAt":"2024-08-30T21:16:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Fully port InverseCancellation to Rust\n\nThis commit builds off of #12959 and the other data model in Rust\ninfrastructure and migrates the InverseCancellation pass to\noperate fully in Rust. The full path of the transpiler pass now never\nleaves Rust until it has finished modifying the DAGCircuit. There is\nstill some python interaction necessary to handle parts of the data\nmodel that are still in Python, mainly for handling parameter\nexpressions. But otherwise the entirety of the pass\noperates in rust now.\n\nThis is just a first pass at the migration here, it moves the pass to\nuse loops in rust. The next steps here are to look at operating\nthe pass in parallel. There is no data dependency between the\noptimizations being done for different inverse gates/pairs so we should\nbe able to the throughput of the pass by leveraging multithreading to\nhandle each inverse option in parallel. This commit does not attempt\nthis though, because of the Python dependency and also the data\nstructures around gates and the dag aren't really setup for\nmultithreading yet and there likely will need to be some work to\nsupport that.\n\nFixes #12271\nPart of #12208","shortMessageHtmlLink":"Fully port InverseCancellation to Rust"}},{"before":null,"after":"17864bab77fbdee44f8bc00f10f08d328de59eb1","ref":"refs/heads/oxidize-commutation-checker","pushedAt":"2024-08-30T16:54:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Don't overallocate cache","shortMessageHtmlLink":"Don't overallocate cache"}},{"before":"21ccc8fb20910c1c820bfcc13582968ebe436553","after":"e371cfc790b3c35f82e1e46d09dba1e55a3d353c","ref":"refs/heads/use-dag-1q-decompose","pushedAt":"2024-08-30T14:49:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Update releasenotes/notes/optimize-1q-gates-decomposition-ce111961b6782ee0.yaml\n\nCo-authored-by: Elena Peña Tapia <57907331+ElePT@users.noreply.github.com>","shortMessageHtmlLink":"Update releasenotes/notes/optimize-1q-gates-decomposition-ce111961b67…"}},{"before":"2f737bdc93ab9993c525c6287451c80770cbd3cf","after":"081c4bc2f86e23a54c5d00f9282eb17003e42ecc","ref":"refs/heads/rust-filter-op-nodes","pushedAt":"2024-08-28T22:32:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Fully port FilterOpNodes to Rust\n\nThis commit ports the FilterOpNodes pass to rust. This pass is\nexceedingly simple and just runs a filter function over all the op\nnodes and removes nodes that match the filter. However, the API for\nthe class exposes that filter function interface as a user provided\nPython callable. So for the current pass we need to retain that python\ncallback. This limits the absolute performance of this pass because\nwe're bottlenecked by calling python.\n\nLooking to the future, this commit adds a rust native method to\nDAGCircuit to perform this filtering with a rust predicate FnMut. It\nisn't leveraged by the python implementation because of layer mismatch\nfor the efficient rust interface and Python working with `DAGOpNode`\nobjects. A function using that interface is added to filter labeled\nnodes. In the preset pass manager we only use FilterOpNodes to remove\nnodes with a specific label (which is used to identify temporary\nbarriers created by qiskit). In a follow up we should consider\nleveraging this new function to build a new pass specifically for\nthis use case.\n\nFixes #12263\nPart of #12208","shortMessageHtmlLink":"Fully port FilterOpNodes to Rust"}},{"before":null,"after":"2f737bdc93ab9993c525c6287451c80770cbd3cf","ref":"refs/heads/rust-filter-op-nodes","pushedAt":"2024-08-28T22:07:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mtreinish","name":"Matthew Treinish","path":"/mtreinish","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2447371?s=80&v=4"},"commit":{"message":"Fully port FilterOpNodes to Rust\n\nThis commit ports the FilterOpNodes pass to rust. This pass is\nexceedingly simple and just runs a filter function over all the op\nnodes and removes nodes that match the filter. However, the API for\nthe class exposes that filter function interface as a user provided\nPython callable. So for the current pass we need to retain that python\ncallback. This limits the absolute performance of this pass because\nwe're bottlenecked by calling python.\n\nLooking to the future, this commit adds a rust native method to\nDAGCircuit to perform this filtering with a rust predicate FnMut. It\nisn't leveraged by the python implementation because of layer mismatch\nfor the efficient rust interface and Python working with `DAGOpNode`\nobjects. A function using that interface is added to filter labeled\nnodes. In the preset pass manager we only use FilterOpNodes to remove\nnodes with a specific label (which is used to identify temporary\nbarriers created by qiskit). In a follow up we should consider\nleveraging this new function to build a new pass specifically for\nthis use case.\n\nFixes #12263\nPart of #12208","shortMessageHtmlLink":"Fully port FilterOpNodes to Rust"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEr2XUEAA","startCursor":null,"endCursor":null}},"title":"Activity · mtreinish/qiskit-core"}