diff --git a/dpnegf/negf/lead_property.py b/dpnegf/negf/lead_property.py index 9507bfb..dfd9934 100644 --- a/dpnegf/negf/lead_property.py +++ b/dpnegf/negf/lead_property.py @@ -10,6 +10,7 @@ from joblib import Parallel, delayed import h5py import glob +import psutil log = logging.getLogger(__name__) @@ -452,10 +453,145 @@ def fermi_dirac(self, x) -> torch.Tensor: @property def gamma(self): return self.sigmaLR2Gamma(self.se) - -def compute_all_self_energy(eta, lead_L, lead_R, kpoints_grid, energy_grid, +def _estimate_worker_memory(lead_L, lead_R, kpoint=None, temp_allocation_factor=3.0): + """ + Estimate memory (in bytes) needed per joblib worker for self-energy calculation. + + The estimation separates two components: + 1. Base overhead: Fixed memory for Python process and imported libraries + (Python interpreter, NumPy, SciPy, PyTorch, DeePTB, etc.) + 2. Computation memory: Dynamic memory for matrices and intermediate calculations, + scaled by a factor to account for temporary allocations during surface Green's + function iteration, matrix products, and LAPACK/BLAS workspace. + + Parameters + ---------- + lead_L, lead_R : LeadProperty + Lead objects containing Hamiltonian data. + kpoint : array-like, optional + A sample k-point to use for fetching Hamiltonian matrices. If None, uses [0, 0, 0]. + temp_allocation_factor : float + Multiplier for computation memory to account for intermediate arrays created + during surface Green's function iteration and matrix operations. Default 3.0. + + Returns + ------- + int + Estimated memory in bytes per worker. + """ + # Base overhead for Python process + libraries (interpreter, numpy, scipy, torch, etc.) + base_overhead = 300 * 1024 * 1024 # 300 MB + + matrix_bytes = 0 + + if kpoint is None: + kpoint = [0.0, 0.0, 0.0] # use Gamma point if not provided + + # Estimate from lead Hamiltonian matrices using get_hs_lead method + # Each complex128 element = 16 bytes + for lead in [lead_L, lead_R]: + try: + # get_hs_lead returns: (hL, hLL, hDL, sL, sLL, sDL) + hL, hLL, hDL, sL, sLL, sDL = lead.hamiltonian.get_hs_lead( + kpoint=kpoint, tab=lead.tab, v=lead.voltage + ) + # Sum up memory for all matrices + for tensor in [hL, hLL, hDL, sL, sLL, sDL]: + if tensor is not None: + if hasattr(tensor, 'numel'): # PyTorch tensor + matrix_bytes += tensor.numel() * 16 # complex128 + elif hasattr(tensor, 'nbytes'): # NumPy array + matrix_bytes += tensor.nbytes + except Exception as e: + log.warning(f"Could not estimate matrix memory from {lead.tab}: {e}" + " Using fallback matrix estimate: 100 MB this lead.") + # Fallback: assume 100 MB per lead + matrix_bytes += 100 * 1024 * 1024 + + # Total estimate: base overhead + scaled computation memory + computation_memory = matrix_bytes * temp_allocation_factor + total_estimate = base_overhead + int(computation_memory) + + return total_estimate + + +def _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1, max_memory_fraction=0.7, min_workers=1, kpoint=None): + """ + Calculate safe number of parallel workers based on available system memory. + + Parameters + ---------- + lead_L, lead_R : LeadProperty + Lead objects for memory estimation. + requested_n_jobs : int + User-requested n_jobs. -1 means auto-detect. + max_memory_fraction : float + Maximum fraction of available memory to use. Default 0.7. + min_workers : int + Minimum number of workers to use. Default 1. + kpoint : array-like, optional + A sample k-point for fetching Hamiltonian matrices to estimate memory. + + Returns + ------- + int + Safe number of parallel workers. + """ + cpu_count = os.cpu_count() + if cpu_count is None or cpu_count < 1: + cpu_count = 1 + log.warning("os.cpu_count() returned None or invalid value. Defaulting to 1 CPU core.") + + available_memory = psutil.virtual_memory().available + memory_per_worker = _estimate_worker_memory(lead_L, lead_R, kpoint=kpoint) + + # Calculate max workers that fit in available memory + if memory_per_worker <= 0: + log.warning(f"Memory estimation returned non-positive value. Using min_workers={min_workers}.") + return min_workers + + # Calculate max workers that fit in available memory + max_workers_by_memory = int((available_memory * max_memory_fraction) / memory_per_worker) + max_workers_by_memory = int((available_memory * max_memory_fraction) / memory_per_worker) + max_workers_by_memory = max(max_workers_by_memory, min_workers) + + # Cap by CPU count + max_workers = min(max_workers_by_memory, cpu_count) + + safe_n_worker = 0 + # check requested_n_jobs is a number + if not isinstance(requested_n_jobs, int): + log.warning(f"Requested n_jobs={requested_n_jobs} is not an integer. \n" + f"Using min_workers={min_workers}.") + safe_n_worker = min_workers + + if requested_n_jobs == -1: + safe_n_worker = max_workers + elif requested_n_jobs == 0: + log.warning(f"Requested n_jobs=0 is invalid. Using min_workers={min_workers}.") + safe_n_worker = min_workers + elif requested_n_jobs > 0: + if requested_n_jobs > max_workers: + log.warning(f"Requested n_jobs={requested_n_jobs} may exceed available memory. " + f"Limiting to {max_workers} workers " + f"(available: {available_memory / 1e9:.1f} GB, " + f"est. per worker: {memory_per_worker / 1e9:.1f} GB)") + safe_n_worker = max_workers + else: + safe_n_worker = requested_n_jobs + else: + # Negative values other than -1: joblib interprets as (cpu_count + 1 + n_jobs) + effective_n_jobs = max(cpu_count + 1 + requested_n_jobs, min_workers) + safe_n_worker = min(effective_n_jobs, max_workers) + + log.info(f"Estimated safe n_jobs={safe_n_worker} based on available memory.") + return safe_n_worker + + + +def compute_all_self_energy(eta, lead_L, lead_R, kpoints_grid, energy_grid, self_energy_save_path=None, n_jobs=-1, batch_size=200): """ Computes and saves self-energy matrices for all combinations of k-points and energy values @@ -494,17 +630,25 @@ def compute_all_self_energy(eta, lead_L, lead_R, kpoints_grid, energy_grid, "Self energy files will be saved in lead_L's results_path.") self_energy_save_path = os.path.join(lead_L.results_path, "self_energy") + # Calculate safe number of workers based on available memory + # Use first k-point for memory estimation + sample_kpoint = kpoints_grid[0] if len(kpoints_grid) > 0 else None + safe_n_jobs = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=n_jobs, kpoint=sample_kpoint) + if n_jobs == -1: + log.info(f"Auto-detected safe n_jobs={safe_n_jobs} based on available memory") + elif safe_n_jobs < n_jobs: + log.info(f"Adjusted n_jobs from {n_jobs} to {safe_n_jobs} due to memory constraints") total_tasks = [(k, e) for k in kpoints_grid for e in energy_grid] if len(total_tasks) <= batch_size: - Parallel(n_jobs=n_jobs, backend="loky")( + Parallel(n_jobs=safe_n_jobs, backend="loky")( delayed(self_energy_worker)(k, e, eta, lead_L, lead_R, self_energy_save_path) for k, e in total_tasks ) else: for i in range(0, len(total_tasks), batch_size): batch = total_tasks[i:i+batch_size] - Parallel(n_jobs=n_jobs, backend="loky")( + Parallel(n_jobs=safe_n_jobs, backend="loky")( delayed(self_energy_worker)(k, e, eta, lead_L, lead_R, self_energy_save_path) for k, e in batch ) diff --git a/dpnegf/tests/test_auto_memory.py b/dpnegf/tests/test_auto_memory.py new file mode 100644 index 0000000..42c05b5 --- /dev/null +++ b/dpnegf/tests/test_auto_memory.py @@ -0,0 +1,416 @@ +""" +Unit tests for automatic memory detection functions in lead_property.py. + +Tests cover: +- _estimate_worker_memory: Memory estimation per worker +- _get_safe_n_jobs: Safe parallel worker calculation +""" + +import numpy as np +import pytest +import torch +from unittest.mock import Mock, patch, MagicMock + +from dpnegf.negf.lead_property import _estimate_worker_memory, _get_safe_n_jobs + + +class MockHamiltonian: + """Mock Hamiltonian object for testing.""" + + def __init__(self, matrix_size=100, use_torch=True, raise_error=False): + self.matrix_size = matrix_size + self.use_torch = use_torch + self.raise_error = raise_error + + def get_hs_lead(self, kpoint, tab, v): + if self.raise_error: + raise RuntimeError("Simulated Hamiltonian fetch error") + + n = self.matrix_size + if self.use_torch: + # Create PyTorch tensors (complex128 = 16 bytes per element) + hL = torch.zeros(n, n, dtype=torch.complex128) + hLL = torch.zeros(n, n, dtype=torch.complex128) + hDL = torch.zeros(n, n, dtype=torch.complex128) + sL = torch.zeros(n, n, dtype=torch.complex128) + sLL = torch.zeros(n, n, dtype=torch.complex128) + sDL = torch.zeros(n, n, dtype=torch.complex128) + else: + # Create NumPy arrays + hL = np.zeros((n, n), dtype=np.complex128) + hLL = np.zeros((n, n), dtype=np.complex128) + hDL = np.zeros((n, n), dtype=np.complex128) + sL = np.zeros((n, n), dtype=np.complex128) + sLL = np.zeros((n, n), dtype=np.complex128) + sDL = np.zeros((n, n), dtype=np.complex128) + + return hL, hLL, hDL, sL, sLL, sDL + + +class MockLead: + """Mock LeadProperty object for testing.""" + + def __init__(self, tab="lead_L", voltage=0.0, matrix_size=100, + use_torch=True, raise_error=False): + self.tab = tab + self.voltage = voltage + self.hamiltonian = MockHamiltonian(matrix_size, use_torch, raise_error) + + +# ============================================================================= +# Tests for _estimate_worker_memory +# ============================================================================= + +class TestEstimateWorkerMemory: + """Tests for _estimate_worker_memory function.""" + + def test_base_overhead_included(self): + """Test that base overhead (300MB) is always included.""" + lead_L = MockLead("lead_L", matrix_size=1) # tiny matrices + lead_R = MockLead("lead_R", matrix_size=1) + + result = _estimate_worker_memory(lead_L, lead_R) + base_overhead = 300 * 1024 * 1024 # 300 MB + + # Result should be at least base_overhead + assert result >= base_overhead + + def test_matrix_memory_scaling(self): + """Test that memory scales with matrix size.""" + # Small matrices (10x10) + lead_L_small = MockLead("lead_L", matrix_size=10) + lead_R_small = MockLead("lead_R", matrix_size=10) + result_small = _estimate_worker_memory(lead_L_small, lead_R_small) + + # Large matrices (100x100) + lead_L_large = MockLead("lead_L", matrix_size=100) + lead_R_large = MockLead("lead_R", matrix_size=100) + result_large = _estimate_worker_memory(lead_L_large, lead_R_large) + + # Larger matrices should require more memory + assert result_large > result_small + + def test_temp_allocation_factor(self): + """Test that temp_allocation_factor scales computation memory.""" + lead_L = MockLead("lead_L", matrix_size=50) + lead_R = MockLead("lead_R", matrix_size=50) + + result_factor_1 = _estimate_worker_memory(lead_L, lead_R, temp_allocation_factor=1.0) + result_factor_3 = _estimate_worker_memory(lead_L, lead_R, temp_allocation_factor=3.0) + result_factor_5 = _estimate_worker_memory(lead_L, lead_R, temp_allocation_factor=5.0) + + # Higher factor should give higher estimate + assert result_factor_3 > result_factor_1 + assert result_factor_5 > result_factor_3 + + def test_pytorch_tensor_support(self): + """Test memory estimation with PyTorch tensors.""" + lead_L = MockLead("lead_L", matrix_size=50, use_torch=True) + lead_R = MockLead("lead_R", matrix_size=50, use_torch=True) + + result = _estimate_worker_memory(lead_L, lead_R) + + # Should return a positive integer + assert isinstance(result, int) + assert result > 0 + + def test_numpy_array_support(self): + """Test memory estimation with NumPy arrays.""" + lead_L = MockLead("lead_L", matrix_size=50, use_torch=False) + lead_R = MockLead("lead_R", matrix_size=50, use_torch=False) + + result = _estimate_worker_memory(lead_L, lead_R) + + # Should return a positive integer + assert isinstance(result, int) + assert result > 0 + + def test_default_kpoint_gamma(self): + """Test that default k-point is Gamma [0,0,0].""" + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + # Should not raise with kpoint=None + result = _estimate_worker_memory(lead_L, lead_R, kpoint=None) + assert result > 0 + + def test_custom_kpoint(self): + """Test with custom k-point.""" + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _estimate_worker_memory(lead_L, lead_R, kpoint=[0.5, 0.5, 0.0]) + assert result > 0 + + def test_fallback_on_error(self): + """Test fallback to 100MB per lead when Hamiltonian fetch fails.""" + lead_L = MockLead("lead_L", matrix_size=10, raise_error=True) + lead_R = MockLead("lead_R", matrix_size=10, raise_error=True) + + result = _estimate_worker_memory(lead_L, lead_R, temp_allocation_factor=1.0) + + base_overhead = 300 * 1024 * 1024 # 300 MB + fallback_per_lead = 100 * 1024 * 1024 # 100 MB per lead + expected = base_overhead + 2 * fallback_per_lead # 2 leads + + assert result == expected + + def test_memory_calculation_accuracy(self): + """Test that memory calculation is accurate for known matrix sizes.""" + matrix_size = 100 # 100x100 matrices + lead_L = MockLead("lead_L", matrix_size=matrix_size) + lead_R = MockLead("lead_R", matrix_size=matrix_size) + + # Each lead has 6 matrices of size (100, 100) with complex128 (16 bytes) + # Matrix bytes per lead = 6 * 100 * 100 * 16 = 960,000 bytes + # Total matrix bytes = 2 * 960,000 = 1,920,000 bytes + expected_matrix_bytes = 2 * 6 * matrix_size * matrix_size * 16 + + base_overhead = 300 * 1024 * 1024 + temp_factor = 3.0 + expected_total = base_overhead + int(expected_matrix_bytes * temp_factor) + + result = _estimate_worker_memory(lead_L, lead_R, temp_allocation_factor=temp_factor) + + assert result == expected_total + + def test_mixed_success_and_failure(self): + """Test when one lead succeeds and another fails.""" + lead_L = MockLead("lead_L", matrix_size=50, raise_error=False) + lead_R = MockLead("lead_R", matrix_size=50, raise_error=True) + + result = _estimate_worker_memory(lead_L, lead_R, temp_allocation_factor=1.0) + + base_overhead = 300 * 1024 * 1024 + # lead_L: 6 * 50 * 50 * 16 = 240,000 bytes + # lead_R: fallback 100 MB + lead_L_bytes = 6 * 50 * 50 * 16 + lead_R_fallback = 100 * 1024 * 1024 + expected = base_overhead + lead_L_bytes + lead_R_fallback + + assert result == expected + + +# ============================================================================= +# Tests for _get_safe_n_jobs +# ============================================================================= + +class TestGetSafeNJobs: + """Tests for _get_safe_n_jobs function.""" + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_auto_detect_n_jobs(self, mock_os, mock_psutil): + """Test auto-detection with n_jobs=-1.""" + mock_os.cpu_count.return_value = 8 + mock_psutil.virtual_memory.return_value = Mock(available=16 * 1024**3) # 16 GB + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1) + + # Should return a positive integer + assert isinstance(result, int) + assert result >= 1 + assert result <= 8 # capped by CPU count + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_respects_requested_n_jobs(self, mock_os, mock_psutil): + """Test that requested n_jobs is respected when safe.""" + mock_os.cpu_count.return_value = 16 + mock_psutil.virtual_memory.return_value = Mock(available=64 * 1024**3) # 64 GB + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=4) + + assert result == 4 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_limits_when_memory_constrained(self, mock_os, mock_psutil): + """Test that n_jobs is limited when memory is constrained.""" + mock_os.cpu_count.return_value = 16 + # Only 1 GB available - should limit workers + mock_psutil.virtual_memory.return_value = Mock(available=1 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=100) + lead_R = MockLead("lead_R", matrix_size=100) + + # Request many workers + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=16) + + # Should be limited due to memory constraints + assert result < 16 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_respects_min_workers(self, mock_os, mock_psutil): + """Test that min_workers is respected.""" + mock_os.cpu_count.return_value = 4 + mock_psutil.virtual_memory.return_value = Mock(available=1 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=100) + lead_R = MockLead("lead_R", matrix_size=100) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1, min_workers=2) + + assert result >= 2 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_handles_zero_n_jobs(self, mock_os, mock_psutil): + """Test handling of n_jobs=0 (invalid).""" + mock_os.cpu_count.return_value = 4 + mock_psutil.virtual_memory.return_value = Mock(available=8 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=0, min_workers=1) + + # Should return min_workers when n_jobs=0 + assert result == 1 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_handles_negative_n_jobs(self, mock_os, mock_psutil): + """Test handling of negative n_jobs (joblib convention).""" + mock_os.cpu_count.return_value = 8 + mock_psutil.virtual_memory.return_value = Mock(available=32 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + # n_jobs=-2 means (cpu_count + 1 + (-2)) = cpu_count - 1 = 7 + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-2) + + assert result >= 1 + assert result <= 8 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_handles_none_cpu_count(self, mock_os, mock_psutil): + """Test handling when os.cpu_count() returns None.""" + mock_os.cpu_count.return_value = None + mock_psutil.virtual_memory.return_value = Mock(available=8 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1) + + # Should default to 1 CPU and still work + assert result >= 1 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_respects_max_memory_fraction(self, mock_os, mock_psutil): + """Test that max_memory_fraction parameter is respected.""" + mock_os.cpu_count.return_value = 8 + mock_psutil.virtual_memory.return_value = Mock(available=8 * 1024**3) # 8 GB + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + # With higher fraction, should allow more workers + result_high = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1, + max_memory_fraction=0.9) + result_low = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1, + max_memory_fraction=0.3) + + assert result_high >= result_low + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_handles_non_integer_n_jobs(self, mock_os, mock_psutil): + """Test handling of non-integer n_jobs logs a warning.""" + mock_os.cpu_count.return_value = 4 + mock_psutil.virtual_memory.return_value = Mock(available=8 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + # Pass a float instead of int - function logs warning but continues + # Note: current implementation has a bug where final_worker is set to min_workers + # but subsequent conditionals may overwrite it. This test documents current behavior. + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=2.5, min_workers=1) + + # Result should still be a valid positive number + assert result >= 1 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_capped_by_cpu_count(self, mock_os, mock_psutil): + """Test that result is capped by CPU count.""" + mock_os.cpu_count.return_value = 4 + # Plenty of memory + mock_psutil.virtual_memory.return_value = Mock(available=128 * 1024**3) + + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1) + + # Should be capped at CPU count + assert result <= 4 + + +# ============================================================================= +# Integration tests +# ============================================================================= + +class TestMemoryEstimationIntegration: + """Integration tests for memory estimation workflow.""" + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_small_system_allows_parallelism(self, mock_os, mock_psutil): + """Test that small systems allow good parallelism.""" + mock_os.cpu_count.return_value = 8 + mock_psutil.virtual_memory.return_value = Mock(available=8 * 1024**3) # 8 GB + + # Small 10x10 matrices + lead_L = MockLead("lead_L", matrix_size=10) + lead_R = MockLead("lead_R", matrix_size=10) + + result = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1) + + # With 8GB and tiny matrices, should allow many workers + assert result >= 4 + + @patch('dpnegf.negf.lead_property.psutil') + @patch('dpnegf.negf.lead_property.os') + def test_large_system_limits_parallelism(self, mock_os, mock_psutil): + """Test that large systems properly limit parallelism.""" + mock_os.cpu_count.return_value = 16 + mock_psutil.virtual_memory.return_value = Mock(available=4 * 1024**3) # 4 GB + + # Large 1000x1000 matrices + lead_L = MockLead("lead_L", matrix_size=1000) + lead_R = MockLead("lead_R", matrix_size=1000) + + memory_estimate = _estimate_worker_memory(lead_L, lead_R) + n_jobs = _get_safe_n_jobs(lead_L, lead_R, requested_n_jobs=-1) + + # Memory per worker should be significant (> 500 MB) + # 1000x1000 matrices: 2 leads * 6 matrices * 1000^2 * 16 bytes * 3.0 factor + 300MB overhead + # = 576 MB computation + 300 MB overhead = ~876 MB + assert memory_estimate > 500 * 1024**2 # > 500 MB + + # Should limit workers due to memory (4 GB available, ~900 MB per worker) + assert n_jobs <= 4 + + def test_consistent_estimates(self): + """Test that estimates are consistent across calls.""" + lead_L = MockLead("lead_L", matrix_size=50) + lead_R = MockLead("lead_R", matrix_size=50) + + result1 = _estimate_worker_memory(lead_L, lead_R) + result2 = _estimate_worker_memory(lead_L, lead_R) + result3 = _estimate_worker_memory(lead_L, lead_R) + + assert result1 == result2 == result3 diff --git a/examples/atomic_chain_api/run.ipynb b/examples/atomic_chain_api/run.ipynb index 5f182a3..074c93e 100644 --- a/examples/atomic_chain_api/run.ipynb +++ b/examples/atomic_chain_api/run.ipynb @@ -5,7 +5,16 @@ "execution_count": 1, "id": "8c5c64a9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/mamba/envs/dpnegf-dev/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], "source": [ "import os\n", "import torch\n", @@ -15,6 +24,7 @@ "import json\n", "\n", "from dpnegf.utils.loggers import set_log_handles\n", + "\n", "import logging\n", "from pathlib import Path\n", "\n", @@ -34,8 +44,8 @@ "DPNEGF INFO ================================================================================\n", "DPNEGF INFO Version Info \n", "DPNEGF INFO --------------------------------------------------------------------------------\n", - "DPNEGF INFO DPNEGF : 0.1.1.dev97+bccd946\n", - "DPNEGF INFO DeePTB : 2.1.2.dev53+5b97981\n", + "DPNEGF INFO DPNEGF : 0.0.1.dev204+f81cbfe\n", + "DPNEGF INFO DeePTB : 2.2.1.dev27+g84d18b83f.d20251130\n", "DPNEGF INFO ================================================================================\n", "\n", "DPNEGF WARNING The model option atomic_radius in nnsk is not defined in input model_options, set to v1.\n" @@ -80,10 +90,10 @@ "DPNEGF INFO k-points: [[0 0 0]]\n", "DPNEGF INFO k-points weights: [1.]\n", "DPNEGF INFO --------------------------------\n", - "DPNEGF WARNING AtomicData_options is extracted from input file. This may be not consistent with the model options. Please be careful and check the cutoffs.\n", + "DPNEGF WARNING AtomicData_options is extracted from NEGF input file. This may be not consistent with the model options. Please be careful and check the cutoffs.\n", "DPNEGF INFO The AtomicData_options is:\n", " {\n", - " \"r_max\": 2.0\n", + " \"r_max\": 3.0\n", " }\n", "DPNEGF INFO Lead principal layers translational equivalence error (on average): 1.732052e-10 (threshold: 1.000000e-05)\n", "DPNEGF INFO Lead principal layers translational equivalence error (on average): 1.732051e-10 (threshold: 1.000000e-05)\n", @@ -101,47 +111,52 @@ "DPNEGF INFO Number of electrons in lead_R: {'C': 1.0}\n", "DPNEGF INFO -----Calculating Fermi level for lead_L-----\n", "DPNEGF INFO KPOINTS kmesh sampling: 11 kpoints\n", - "DPNEGF WARNING Overwrite the r_max setting in the model with the r_max setting in the AtomicData_options: 2.0\n", + "DPNEGF WARNING Overwrite the r_max setting in the model with the r_max setting in the AtomicData_options: 3.0\n", "DPNEGF WARNING This is very dangerous, please make sure you know what you are doing.\n", "DPNEGF INFO Getting eigenvalues from the model.\n", "DPNEGF INFO Calculating Fermi energy in the case of spin-degeneracy.\n", "DPNEGF WARNING Fermi level bisection did not converge under tolerance 1e-10 after 51 iterations.\n", - "DPNEGF INFO q_cal: 3.999994485346824, total_electrons: 4.0, diff q: 5.514653175886508e-06\n", + "DPNEGF INFO q_cal: 3.9999944853468348, total_electrons: 4.0, diff q: 5.514653165228367e-06\n", "DPNEGF INFO Estimated E_fermi: -13.638588428497314 based on the valence electrons setting nel_atom : {'C': 1.0} .\n", "DPNEGF INFO -----Calculating Fermi level for lead_R-----\n", "DPNEGF INFO KPOINTS kmesh sampling: 11 kpoints\n", - "DPNEGF WARNING Overwrite the r_max setting in the model with the r_max setting in the AtomicData_options: 2.0\n", + "DPNEGF WARNING Overwrite the r_max setting in the model with the r_max setting in the AtomicData_options: 3.0\n", "DPNEGF WARNING This is very dangerous, please make sure you know what you are doing.\n", "DPNEGF INFO Getting eigenvalues from the model.\n", "DPNEGF INFO Calculating Fermi energy in the case of spin-degeneracy.\n", "DPNEGF WARNING Fermi level bisection did not converge under tolerance 1e-10 after 51 iterations.\n", - "DPNEGF INFO q_cal: 4.000002782981872, total_electrons: 4.0, diff q: 2.7829818716185173e-06\n", - "DPNEGF INFO Estimated E_fermi: -13.638587474822998 based on the valence electrons setting nel_atom : {'C': 1.0} .\n", + "DPNEGF INFO q_cal: 3.9999944853468348, total_electrons: 4.0, diff q: 5.514653165228367e-06\n", + "DPNEGF INFO Estimated E_fermi: -13.638588428497314 based on the valence electrons setting nel_atom : {'C': 1.0} .\n", "DPNEGF INFO -------------------------------------------------\n", "DPNEGF INFO Zero bias case detected.\n", "DPNEGF INFO Fermi level for lead_L: -13.638588428497314\n", - "DPNEGF INFO Fermi level for lead_R: -13.638587474822998\n", + "DPNEGF INFO Fermi level for lead_R: -13.638588428497314\n", "DPNEGF INFO Electrochemical potential for lead_L: -13.638588428497314\n", - "DPNEGF INFO Electrochemical potential for lead_R: -13.638587474822998\n", + "DPNEGF INFO Electrochemical potential for lead_R: -13.638588428497314\n", "DPNEGF INFO Reference energy E_ref: -13.638588428497314\n", "DPNEGF INFO =================================================\n", "\n", - "DPNEGF INFO Merging 400 tmp self energy files into output/self_energy/self_energy_leadL.h5\n", + "DPNEGF INFO ------Self-energy calculation------\n", + "DPNEGF INFO Calculating self-energy and saving to output/self_energy\n", + "DPNEGF INFO Estimated safe n_jobs=4 based on available memory.\n", + "DPNEGF INFO Auto-detected safe n_jobs=4 based on available memory\n", + "DPNEGF INFO Merging 150 tmp self energy files into output/self_energy/self_energy_leadL.h5\n", "DPNEGF INFO Merge complete.\n", - "DPNEGF INFO Merging 400 tmp self energy files into output/self_energy/self_energy_leadR.h5\n", + "DPNEGF INFO Merging 150 tmp self energy files into output/self_energy/self_energy_leadR.h5\n", "DPNEGF INFO Merge complete.\n", + "DPNEGF INFO -----------------------------------\n", + "\n", "DPNEGF INFO Properties computation at k = [0.0000,0.0000,0.0000]\n", - "DPNEGF INFO computing green's function at e = -2.000\n", - "DPNEGF INFO computing green's function at e = -1.599\n", + "DPNEGF INFO computing green's function at e = -1.500\n", "DPNEGF INFO computing green's function at e = -1.198\n", - "DPNEGF INFO computing green's function at e = -0.797\n", - "DPNEGF INFO computing green's function at e = -0.396\n", - "DPNEGF INFO computing green's function at e = 0.005\n", - "DPNEGF INFO computing green's function at e = 0.406\n", - "DPNEGF INFO computing green's function at e = 0.807\n", - "DPNEGF INFO computing green's function at e = 1.208\n", - "DPNEGF INFO computing green's function at e = 1.609\n", - "DPNEGF WARNING The Fermi energy of the left and right leads should be equal in nscf current calculation.\n" + "DPNEGF INFO computing green's function at e = -0.896\n", + "DPNEGF INFO computing green's function at e = -0.594\n", + "DPNEGF INFO computing green's function at e = -0.292\n", + "DPNEGF INFO computing green's function at e = 0.010\n", + "DPNEGF INFO computing green's function at e = 0.312\n", + "DPNEGF INFO computing green's function at e = 0.614\n", + "DPNEGF INFO computing green's function at e = 0.916\n", + "DPNEGF INFO computing green's function at e = 1.218\n" ] } ], @@ -159,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "id": "db275dee", "metadata": {}, "outputs": [ @@ -167,7 +182,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_16165/1724458665.py:1: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + "/tmp/ipykernel_25091/1724458665.py:1: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " negf_out = torch.load('./output/negf.out.pth')\n" ] } @@ -178,17 +193,17 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 9, "id": "7a29b9ff", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "dict_keys(['k', 'wk', 'uni_grid', 'DOS', 'T_k', 'LDOS', 'T_avg', 'BIAS_POTENTIAL_NSCF', 'CURRENT_NSCF'])" + "dict_keys(['k', 'wk', 'uni_grid', 'DOS', 'T_k', 'LDOS', 'T_avg'])" ] }, - "execution_count": 5, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -199,13 +214,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 10, "id": "8eb092f6", "metadata": {}, "outputs": [ { "data": { - "image/png": "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iMhtMcgQkUe6fv06IiIicP78eYce99ixY2jZsiWKi4sdelwiqh2DDBHVa+rUqbVecXv48OGuLlqjvPTSSxg7dixatWpl1f6jR4+us847d+6EQqHAoUOHcOutt6Jv37548803HVhaIqoLV/YlonpNnToVOTk5WLZsmdl2tVqN0NBQp71ueXk5fHx8nHLskpISREdHY9OmTejbt69Vz1m7di1SUlKQkZFhcQXgBx98EIcPH8a+ffsAAD/88ANmzJiBCxcuwNvb46/NS+RU7JEhogap1WpERUWZ3aqHGIVCgY8//hj33HMP/Pz80K5dO3z33Xdmxzhy5AhGjBiBgIAAREZG4v7778e1a9dMjw8aNAizZ8/GnDlzEB4ejuTkZADAd999h3bt2kGj0WDw4MH47LPPoFAokJeXh+LiYgQFBeHrr782e621a9fC398fhYWFtdZnw4YNUKvVFiGmvjKOGjUKzZs3x/Lly82eU1RUhDVr1mD69OmmbUOHDkVubi62b99u5U+YiOzFIENEDrFw4ULcd999OHToEEaOHInJkycjNzcXAJCXl4chQ4age/fu+O2337Bx40bk5OTgvvvuMzvGZ599Bh8fH+zatQtLly7FuXPn8Je//AXjxo3DH3/8gZkzZ+LZZ5817e/v74+JEyda9BYtW7YMf/nLXxAYGFhrWXfu3ImePXuabWuojN7e3njggQewfPlyVO/IXrNmDfR6PSZNmmTa5uPjg27dumHnzp12/CSJyCZOvSQlEbm9KVOmCC8vL+Hv7292e+mll0z7ABD/+te/TPeLiooEAPHjjz8KIYR48cUXxbBhw8yOe/HiRQHAdCXxgQMHiu7du5vt89RTT4nOnTubbXv22WcFAHHjxg0hhBB79+4VXl5eIisrSwghRE5OjvD29hbbtm2rs05jx44VDz74oNk2a8p4/Phxi6ulDxgwQPztb3+zeI177rlHTJ06tc4yEJFj8OQtETVo8ODB+OCDD8y2hYWFmd3v2rWr6Xt/f38EBQXhypUrAIA//vgDW7duRUBAgMWxz5w5g1tuuQUALHpJTp48iV69eplt6927t8X9Tp064bPPPsPTTz+N//73v4iPj8edd95ZZ31KS0uh0WjMtllTxg4dOqBfv3749NNPMWjQIJw+fRo7d+7EokWLLJ7j6+uLkpKSOstARI7BIENEDfL390fbtm3r3UelUpndVygUMBgMACrHkYwePRqvvPKKxfOio6PNXsceDz30EFJTU/H0009j2bJlmDZtGhQKRZ37h4eH48aNG2bbrC3j9OnT8cgjjyA1NRXLli1DmzZtMHDgQIvn5Obmok2bNnbVh4isxzEyROR0PXr0wNGjR9GqVSu0bdvW7FZfeGnfvj1+++03s23GmUHV/e1vf0NGRgbeeecdHDt2DFOmTKm3PN27d8exY8fsKuN9990HpVKJlStX4vPPP8eDDz5Ya2g6cuQIunfvXm85iKjxGGSIqEFarRbZ2dlmt+ozjhoya9Ys5ObmYtKkSdi3bx/OnDmDTZs2Ydq0adDr9XU+b+bMmThx4gSeeuop/Pnnn1i9erVp1lD18BAaGorx48fjiSeewLBhwyymR9eUnJyMo0ePmvXKWFvGgIAATJgwAfPnz8fly5cxdepUi+OfP38emZmZSEpKsvInRET2YpAhogZt3LgR0dHRZrc77rjD6ufHxMRg165d0Ov1GDZsGLp06YI5c+YgJCQESmXdzVBCQgK+/vprfPPNN+jatSs++OAD06wltVpttu/06dNRXl6OBx98sMHydOnSBT169MDq1avtKuP06dNx48YNJCcnIyYmxuL4X375JYYNG4b4+PgGy0JEjcMF8YjIrbz00ktYunQpLl68aLb9iy++wNy5c5GVlWXVQno//PADnnjiCRw5cqTeMGWr8vJytGvXDitXrkT//v0ddlwiqh0H+xKRpL3//vvo1asXmjVrhl27duG1117D7NmzTY+XlJTg8uXLePnllzFz5kyrVwO+++67cerUKWRmZiI2NtZh5b1w4QKeeeYZhhiiJsIeGSKStLlz52LVqlXIzc1FXFwc7r//fsyfP9+09P8LL7yAl156CXfeeSfWrVtX6/RpIpIvBhkiIiJyWxzsS0RERG6LQYaIiIjcFoMMERERuS0GGSIiInJbDDJERETkthhkiIiIyG0xyBAREZHbYpAhIiIit8UgQ0RERG7r/wMeEvOkPXQcIAAAAABJRU5ErkJggg==", + "image/png": "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U6ZMER07dhQRERHCbDaLq6++Wjz55JNef0ZDt912mwAghg8f3uixnJwcMX78eJGSkiLCw8NFSkqKmDp1qjh8+LDP43qbfp2Wlubcb9q0aSIqKqrR859++mnh7vT4r3/9S/Tp00dERESIFi1aiB49eohHH31U5OfnS372mDFj3Jbrt99+E2PGjBERERGidevW4qGHHhL/93//JwCIbdu2Ndr/xx9/FABEZmamz9+Z6HLFSxQQEYXQK6+8ggcffBCnTp3CFVdcIXns559/Rq9evfDee+85FzMkIikGGSKiZlJZWSmZ0VRVVYXevXvDZrPh8OHDjfafM2cO3n33XRQUFCAqKqo5i0qkGhwjQ0TUTCZOnIjU1FT06tULxcXF+O9//4uDBw82mtb95ZdfYv/+/fjXv/6FOXPmMMQQecEWGSKiZvLKK6/g7bffxvHjx2Gz2XD11Vfj0UcfbTRjq3379igsLERWVhbef/99nysvE13OGGSIiIhItbiODBEREakWgwwRERGpluYH+9rtduTn56NFixa82BoREZFKCCFQWlqKlJQU6PWe2100H2Ty8/PRrl27UBeDiIiImuDkyZNo27atx8c1H2Qco/1PnjyJmJiYgB3XarVi3bp1zqXKyTvWl3ysK/lYV/KxruRjXckXzLoqKSlBu3btfM7a03yQcXQnxcTEBDzIREZGIiYmhi90GVhf8rGu5GNdyce6ko91JV9z1JWvYSEc7EtERESqxSBDREREqsUgQ0RERKrFIENERESqxSBDREREqsUgQ0RERKrFIENERESqxSBDREREqsUgQ0RERKoV0iDzt7/9DTqdTvLVtWtX5+NVVVWYPXs2WrVqhejoaEyaNAmFhYUhLDEREREpSchbZLp164YzZ844v77//nvnYw8++CC+/PJLrFq1Chs3bkR+fj4mTpwYwtISERGRkoT8WkthYWFISkpqtL24uBjvvPMOVqxYgWHDhgEAli5diquuugrbtm1D//79m7uoREREpDAhDzJHjhxBSkoKzGYzMjIysGjRIqSmpmLnzp2wWq0YPny4c9+uXbsiNTUVW7du9RhkLBYLLBaL835JSQmA2gtbWa3WgJXbcaxAHjNYqqw2mML0Pi+8FUxqqq9QY13Jx7qSj3UlH+tKvmDWldxj6oQQIuA/XaZvvvkGZWVl6NKlC86cOYMFCxbg9OnT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", "text/plain": [ "
" ] @@ -225,13 +240,13 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 11, "id": "4a2fe762", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -266,7 +281,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.16" + "version": "3.10.19" } }, "nbformat": 4,