41 static std::shared_ptr<ISimulator>
56 static std::unique_ptr<GpuLibStateVectorSim> CreateGpuLibStateVectorSim() {
57 if (!gpuLibrary || !gpuLibrary->IsValid())
60 return std::make_unique<GpuLibStateVectorSim>(gpuLibrary);
63 static std::unique_ptr<GpuLibMPSSim> CreateGpuLibMPSSim() {
64 if (!gpuLibrary || !gpuLibrary->IsValid())
67 return std::make_unique<GpuLibMPSSim>(gpuLibrary);
70 static std::shared_ptr<GpuLibrary> GetGpuLibrary() {
71 if (!gpuLibrary || !gpuLibrary->IsValid())
77 return gpuLibrary && gpuLibrary->IsValid();
81 static bool InitGpuLibraryWithMute();
84 static std::shared_ptr<GpuLibrary> gpuLibrary;
85 static std::atomic_bool firstTime;