sc_tools.memory — GPU and Memory#
GPU detection and memory profiling utilities.
import sc_tools.memory as memory
if memory.check_gpu_available():
print("GPU ready")
memory.log_memory("before deconvolution")
GPU#
Memory Profiling#
- sc_tools.memory.get_memory_usage()[source]#
Get current memory usage in MB.
- Returns:
Dictionary with memory usage metrics: - ‘rss_mb’: Resident Set Size in MB - ‘vms_mb’: Virtual Memory Size in MB (if psutil available) - ‘percent’: Memory usage as percentage of process (if psutil available) - ‘system_available_mb’: Available system memory in MB (if psutil available) - ‘system_percent’: System memory usage percentage (if psutil available) - ‘tracemalloc_current_mb’: Current traced memory (if tracemalloc active) - ‘tracemalloc_peak_mb’: Peak traced memory (if tracemalloc active)
- Return type:
- sc_tools.memory.log_memory(step_name, adata=None, logger_instance=None)[source]#
Log memory usage at a specific step.
- Parameters:
- Returns:
Memory usage dictionary (from get_memory_usage)
- Return type:
- sc_tools.memory.aggressive_cleanup()[source]#
Aggressively clean up memory.
Performs garbage collection and attempts to release memory back to the operating system (platform-dependent).
- sc_tools.memory.estimate_adata_memory(adata)[source]#
Estimate memory usage of AnnData object in MB.
- Parameters:
adata (AnnData) – AnnData object to estimate
- Returns:
Estimated memory usage in MB
- Return type: