13 lines
498 B
Python
13 lines
498 B
Python
import os
|
|
from concurrent.futures import ProcessPoolExecutor
|
|
from utils.gpu_detection import get_worker_count
|
|
from utils.logging_config import get_logger
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
# Create shared process pool at import time (before CUDA initialization)
|
|
# This avoids the "Cannot re-initialize CUDA in forked subprocess" error
|
|
MAX_WORKERS = get_worker_count()
|
|
process_pool = ProcessPoolExecutor(max_workers=MAX_WORKERS)
|
|
|
|
logger.info("Shared process pool initialized", max_workers=MAX_WORKERS)
|