Search code examples
c#.netvisual-studio-codequantum-computingq#

Unable to load DLL 'Microsoft.Quantum.Simulator.Runtime.dll'


Getting Unable to load DLL 'Microsoft.Quantum.Simulator.Runtime.dll' error while trying to validate my Q# environment by running the teleport sample program.

dotnet build
dotnet run

platform windows 7 64 bit with AVX enabled. vscode with .NET Core SDK 2.0


Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'Microsoft.Quantum.Simulator.Runtime.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at Microsoft.Quantum.Simulation.Simulators.QuantumSimulator.Init()
   at Microsoft.Quantum.Simulation.Simulators.QuantumSimulator..ctor(Boolean throwOnReleasingQubitsNotInZeroState, Nullable`1 randomNumberGeneratorSeed, Boolean disableBorrowing)
   at Microsoft.Quantum.Examples.Teleportation.Program.Main(String[] args) in C:\opt\workspace\quantum\Quantum\Samples\Teleportation\Program.cs:line 13

Solution

  • copy the Microsoft.Quantum.Simulator.Runtime.dll from C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\runtimes\win10-x64 to C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\lib\netstandard2.0. Although I have not tested this with the older Microsoft Quantum Development Kit version, there seems to be problem with the 0.2.1802.2202 version. Make sure to check if AVX is avaialble, you can use CPU-Z tool to check that in instructions section.

    then run dotnet run which should result in the

    Round 0:        Sent False,     got False.
    Teleportation successful!!
    
    Round 1:        Sent True,      got True.
    Teleportation successful!!
    
    Round 2:        Sent False,     got False.
    Teleportation successful!!
    
    Round 3:        Sent False,     got False.
    Teleportation successful!!
    
    Round 4:        Sent False,     got False.
    Teleportation successful!!
    
    Round 5:        Sent False,     got False.
    Teleportation successful!!
    
    Round 6:        Sent False,     got False.
    Teleportation successful!!
    
    Round 7:        Sent True,      got True.
    Teleportation successful!!
    
    
    
    Press Enter to continue...