Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Conversation

@swernli
Copy link
Collaborator

@swernli swernli commented Sep 4, 2020

Merging master to get latest updates.

bamarsha and others added 6 commits August 26, 2020 16:23
* Remove bond.

* Fixed post-merge issues.

Co-authored-by: César Zaragoza Cortés <cesar.zaragoza@outlook.com>
* Rename based on reserved word list

* Update namespace encoding

* Use underscores for Init and Factory

* Use underscores for specialization names

* Update underscores for Data{In,Out}

* Update Body to __Body__ in property reflection

* Use underscores for Deconstruct

* Update tests

* Add new tests

* Update ItemN regex

* Always append __ for referenced callable properties

* Don't append __ when name already contains __

* Update tests

* Add tests for #247

* Update remaining specialization names

* Add Deconstruct to reserved words

* Update tests
This pulls in work done by @AniketDalvi, @dbwz8, and @swernli to enhance the native simulator with gate scheduling and clustering, leading to significant performance increases (originally part of the feature/simulator-enhancement branch). It also includes new tests that verify the performance, and a folder with benchmark projects to help with future performance comparisons. In our benchmarking, this led to between a 4x and 6x improvement, and could be significantly more depending on the host environment or circuit composition.

* Merging dbw8/sim into Feature branch (#246)

* Initial simulator fixes

Includes generator scripts that create the kernels.

* Adding AVX512 to simulator (#255)

* Create a separate package for the entry point driver (#225)

* Add EntryPointDriver to pack.ps1

* Rename Microsoft.Quantum.Simulation.Simulators to Microsoft.Quantum.Simulators

* Rename EntryPointDriver to Microsoft.Quantum.EntryPointDriver

* Rename Tests.EntryPointDriver to Microsoft.Quantum.EntryPointDriver.Tests

* Add package description for EntryPointDriver

* Remove EntryPointDriver from CsharpGeneration package

* Update namespace in EntryPointDriver

* Update namespace in EntryPointDriver.Tests

* Update simulator test project filename

* Update manifest.ps1

* Rename Microsoft.Quantum.EntryPointDriver.Tests to Tests.Microsoft.Quantum.EntryPointDriver

* Restore name of simulators assembly

* Add DelaySign.cs to EntryPointDriver

* Use same assembly name as package name again

* Update reference to simulators csproj

* Update simulators nuspec

* Update project reference to simulators

* Update namespace names in test

* Remove package reference to Q# compiler

* Use IImmutableList instead of IReadOnlyList

* Use ImmutableList.Create with params array

* Make DriverSettings immutable

* Make DriverSettings properties internal

* Add PackageId to EntryPointDriver.csproj

* Fix NUGET_VERSION issues (#251)

* Fix assembly vs nuget version in pack.ps1.

* Fix project vs package reference.

* Feedback from @bettinaheim.

* Added AVX512

* Add fma for AVX512

Co-authored-by: Sarah Marshall <33814365+samarsha@users.noreply.github.com>
Co-authored-by: Chris Granade <chgranad@microsoft.com>
Co-authored-by: Dave Wecker <wecker@microsoft.com>

* Initial wfn permute changes

* changes to reorder to fix minor bugs

* rebase with clean sim branch

* Merging Linux simulator update from dbwz8/simDbg (#281)

* Merging Linux simulator update from dbwz8/simDbg

* Remove extra semicolon

* Reordering wfn to work with existing flush/fuse logic

* Added some comments

* Combining Dave's scheduling logic with reordering

* PR changes

* PR changes

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* Creating cleaner scheduler branch

* PR changes

* Commiting further merge changes

* New re-ordering routine in clean branch

* New re-ordering routine in clean branch

* PR change to avoid copying

* PR changes

* PR changes to undo character change in Haner

* cleaning branch for PR

* Adding heuristic for reorder

* Base branch with @@@dbg+ marking debugging lines

* .

* .

* Merged all 3 branches and got them working.

* Working on cluster code.

* Code appears to be working. Now starting on performance

* About to run benchmarks

* Linux vararg changes

* Setting up for benchmarks

* Optimizing scheduler

* Fixed scheduling ordering bugs

* .

* .

* reordered tests

* Doing tests

* more tests

* All benchmarks run. This is a frozen version

* Fixed problems with cluster ordering. Now passes all tests.

* Made a clean version via #define DBWDBG

* Sample local project

* Added 4x4 supremecy test

* Added top level benchmark (Sample) and tuned optimal number of threads/fuseSpan (6/6)

* Made dbw_test work in the real builds

* comment update

* Working on dbw_test from product testing

* .

* Got rid of checked in executable

* Added 5x6 test

* Trying to get one e2e sample to work

* e2e tests working on Linux

* Moved all the benchmark code into one place.

* Unifying supremacy tests

* Cleaning up tree

* .

* .

* Cleaning everything up

* Stable version

* Working on normalizing code

* git rid of editor file

* Adding environment variable controls

* Added runTest.sh

* More testing harness

* .

* Added Linux strlen for env vars

* .

* Herlper parseLog.py created

* Put in better defaults for env var values.

* Put in better env var defaults

* Testing

* Debugging

* Working version

* Put in limit on maxFusedSpan

* Deleted unreferenced variables

* Fixing qubit gate mapping and flush on release

* Minor cleanup

* Getting dbw_test to play nice with test.ps1

* Use backslash to support cross-platform filepath

* Remove DBWDBG and temp logs. Rename supremacy to advantage

* Updating files for pull request

* Renaming supremacy files

* Replaced supremXX with advantageXX

* rm unused log files. Fixed a few compiler warns

* Working on build problem

* Fixing build, cleaning up last DBG statements

* Fix wavefunction pop_back bug

* Removing unused wavefunction utilities

* Benchmark should not assume default 6

* Remove commented out Flush

* Show native test output

* Set failure thresholds for dbw_test benchmark

* Adding AdvantageBenchmark readme

Co-authored-by: Sarah Marshall <33814365+samarsha@users.noreply.github.com>
Co-authored-by: Chris Granade <chgranad@microsoft.com>
Co-authored-by: Dave Wecker <wecker@microsoft.com>
Co-authored-by: Aniket Dalvi <t-anikda@microsoft.com>
Co-authored-by: Bettina Heim <beheim@microsoft.com>
Co-authored-by: bettinaheim <34236215+bettinaheim@users.noreply.github.com>
Co-authored-by: Andres Paz <anpaz@microsoft.com>
Co-authored-by: Dave Wecker <dbwz8@hotmail.com>
@swernli swernli merged commit 46968b4 into feature/decomp Sep 4, 2020
@swernli swernli deleted the swernli/decomp-merge-master branch September 22, 2020 20:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants