无法加载DLL' Microsoft.Quantum.Simulator.Runtime.dll'

时间:2018-03-30 17:59:48

标签: c# .net visual-studio-code quantum-computing q#

在尝试通过运行teleport示例程序验证我的Q#环境时,无法加载DLL 'Microsoft.Quantum.Simulator.Runtime.dll'错误。

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

3 个答案:

答案 0 :(得分:5)

在Ubuntu bionic下,我必须安装libgomp1,因为Microsoft.Quantum.Simulator.Runtime.dll取决于libgomp.so.1

sudo apt install libgomp1

可以在这里看到依赖性。

ldd -r ~/.nuget/packages/microsoft.quantum.development.kit/0.2.1802.2202-preview/runtimes/linux-x64/native/Microsoft.Quantum.Simulator.Runtime.dll

linux-vdso.so.1 (0x00007ffcbb4f4000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd537237000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd536e99000)
libgomp.so.1 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd536aa8000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd537832000)

答案 1 :(得分:1)

复制Microsoft.Quantum.Simulator.Runtime.dll C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\runtimes\win10-x64C:\Users\{user}\.nuget\packages\microsoft.quantum.development.kit\0.2.1802.2202-preview\lib\netstandard2.0。虽然我没有使用较旧的Microsoft Quantum Development Kit版本对此进行测试,但0.2.1802.2202版本似乎存在问题。确保检查AVX是否可用,您可以使用CPU-Z工具在说明部分进行检查。

然后运行dotnet run,这将导致

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...

答案 2 :(得分:-2)

仅在Windows 10中测试/支持模拟器。我强烈建议您升级系统。