MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / finalizeQuESTEnv

Function finalizeQuESTEnv

quest/src/api/environment.cpp:424–448  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

422
423
424void finalizeQuESTEnv() {
425 validate_envIsInit(__func__);
426
427 // NOTE:
428 // calling this will not automatically
429 // free the memory of existing Quregs
430
431 if (globalEnvPtr->isGpuAccelerated)
432 gpu_clearCache(); // syncs first
433
434 if (globalEnvPtr->isGpuAccelerated && gpu_isCuQuantumCompiled())
435 gpu_finalizeCuQuantum();
436
437 if (globalEnvPtr->isDistributed) {
438 comm_sync();
439 comm_end();
440 }
441
442 // free global env's heap memory and flag it as unallocated
443 free(globalEnvPtr);
444 globalEnvPtr = nullptr;
445
446 // flag that the environment was finalised, to ensure it is never re-initialised
447 hasEnvBeenFinalized = true;
448}
449
450
451void syncQuESTEnv() {

Callers 15

mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85

Calls 6

validate_envIsInitFunction · 0.85
gpu_clearCacheFunction · 0.85
gpu_isCuQuantumCompiledFunction · 0.85
gpu_finalizeCuQuantumFunction · 0.85
comm_syncFunction · 0.85
comm_endFunction · 0.85

Tested by 1

mainFunction · 0.68