-
Notifications
You must be signed in to change notification settings - Fork 90
Adding scheduler enhancement for simulator performance boost #361
Conversation
* 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 changes from master
* Merging Linux simulator update from dbwz8/simDbg * Remove extra semicolon
…into t-anikda/experimental
Updates from master
…crosoft/qsharp-runtime into t-anikda/experimental
| @@ -0,0 +1,364 @@ | |||
| # CMAKE generated file: DO NOT EDIT! | |||
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.
Makefiles are generated by CMake... should be checked in
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.
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.
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.
Yeah... shouldn't (sorry)
Pulling in fixes and clean-up from dbwz8/simulator-enhancement
dbwz8
left a comment
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.
Looks good!
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.