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 Aug 27, 2020

This pulls in work done by @AniketDalvi, @dbwz8, and myself 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.

swernli and others added 30 commits June 10, 2020 11:08
* Initial simulator fixes

Includes generator scripts that create the kernels.
* 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>
* Merging Linux simulator update from dbwz8/simDbg

* Remove extra semicolon
@@ -0,0 +1,364 @@
# CMAKE generated file: DO NOT EDIT!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makefiles are generated by CMake... should be checked in

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still a concern? The file is present in the change, but perhaps you comment meant to say "shouldn't" be checked in? I could remove that file if that is preferable.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah... shouldn't (sorry)

Copy link
Contributor

@dbwz8 dbwz8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@swernli swernli merged commit ca21706 into master Aug 31, 2020
@swernli swernli deleted the swernli/simulator-enhancement branch September 4, 2020 05:11
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