-
Notifications
You must be signed in to change notification settings - Fork 90
Conversation
bettinaheim
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.
Let me post a couple of general comments to make this PR more tractable before looking in more detail at the meaningful changes. @swernli Would you mind looking into getting this into a suitable shape for picking it up?
| # Configuration options (choose one to turn on) | ||
| option(BUILD_SHARED_LIBS "Build shared libraries" OFF) | ||
| # @@@DBW: This should default to on | ||
| option(BUILD_SHARED_LIBS "Build shared libraries" ON) |
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.
@anpaz-msft Any idea why this was off before? @dbwz8 Why does it need to be on?
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.
You don't get DLLs otherwise. No idea why it was off.
| @@ -0,0 +1,87 @@ | |||
| // (C) 2018 ETH Zurich, ITP, Thomas HΣner and Damian Steiger | |||
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.
Actually, I believe we don't want to keep anything of this new src/Simulation/Native/codegen folder. It looks like this was just a convenience folder for regenerating the kernels. @dbwz8 No need to keep the codegen folder, correct?
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 do think that Dave intended to add these files for later generation.
|
I made a single combined commit with the corrected changes, but forgot the comment updates Bettina recommended. I'll wait for the build to see if there is anything else I need to update before fixing the comments. |
|
@dbwz8 It turns out that vcomp140.dll file under the win10 folder needs to be there because it is packed as part of the nuget package. If that folder doesn't exist then the build will fail during the pack step. |
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 like you got everything
| # Configuration options (choose one to turn on) | ||
| option(BUILD_SHARED_LIBS "Build shared libraries" OFF) | ||
| # @@@DBW: This should default to on | ||
| option(BUILD_SHARED_LIBS "Build shared libraries" ON) |
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.
You don't get DLLs otherwise. No idea why it was off.
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>
We will be continuing work on the simulator enhancements through a feature branch, starting with the improvements @dbwz8 already did in his working branch.