deepfuze
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
from typing import List, Union, ContextManager
|
||||
import threading
|
||||
from contextlib import nullcontext
|
||||
|
||||
THREAD_LOCK : threading.Lock = threading.Lock()
|
||||
THREAD_SEMAPHORE : threading.Semaphore = threading.Semaphore()
|
||||
NULL_CONTEXT : ContextManager[None] = nullcontext()
|
||||
|
||||
|
||||
def thread_lock() -> threading.Lock:
|
||||
return THREAD_LOCK
|
||||
|
||||
|
||||
def thread_semaphore() -> threading.Semaphore:
|
||||
return THREAD_SEMAPHORE
|
||||
|
||||
|
||||
def conditional_thread_semaphore(execution_providers : List[str]) -> Union[threading.Semaphore, ContextManager[None]]:
|
||||
if 'DmlExecutionProvider' in execution_providers:
|
||||
return THREAD_SEMAPHORE
|
||||
return NULL_CONTEXT
|
||||
Reference in New Issue
Block a user