From 7e69b65117054a2c7c7056fe75c55d0b704337d1 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Thu, 11 Dec 2025 15:21:53 +0200 Subject: [PATCH 01/80] cleaned up installation --- pyproject.toml | 57 ++++++++++--------------- setup.py | 112 ------------------------------------------------- 2 files changed, 22 insertions(+), 147 deletions(-) delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml index 0092a3cbc..f0306ad9e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,15 +1,24 @@ [project] -name = "PLACEHOLDER" +name = "torchmd-net" description = "TorchMD-NET provides state-of-the-art neural networks potentials for biomolecular systems" authors = [{ name = "Acellera", email = "info@acellera.com" }] readme = "README.md" license = "MIT" -requires-python = ">=3.8" -dynamic = ["version", "dependencies"] +requires-python = ">=3.9" +dynamic = ["version"] classifiers = [ "Programming Language :: Python :: 3", "Operating System :: POSIX :: Linux", ] +dependencies = [ + "h5py", + # "nnpops", + "torch==2.7.1", + "torch_geometric", + "lightning", + "tqdm", + "numpy", +] [project.urls] "Homepage" = "https://github.com/torchmd/torchmd-net" @@ -27,40 +36,18 @@ include = ["torchmdnet*"] "*" = ["*.c", "*.cpp", "*.h", "*.cuh", "*.cu", ".gitignore"] [build-system] -requires = ["setuptools>=78", "setuptools-scm>=8", "torch==2.7.1", "numpy"] +requires = ["setuptools>=78", "setuptools-scm>=8"] build-backend = "setuptools.build_meta" - -[tool.cibuildwheel] -# Disable builds which can't support CUDA and pytorch -skip = [ - "cp38-*", - "cp314-*", - "cp314t-*", - "pp*", - "*win32", - "*armv7l", - "*_i686", - "*_ppc64le", - "*_s390x", - "*_universal2", - "*-musllinux_*", +[tool.uv.sources] +torch = [ + { index = "pytorch-cu126", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, ] -test-requires = ["pytest", "pytest-xdist"] -test-command = "pytest {project}/tests" -environment-pass = ["ACCELERATOR", "CI"] -# container-engine = "docker; create_args: --gpus all" - -[tool.cibuildwheel.linux] -before-all = "bash {project}/cibuildwheel_support/before_all_linux.sh" -repair-wheel-command = [ - "auditwheel repair --exclude libcudart.so.* --exclude libc10.so --exclude libc10_cuda.so --exclude libtorch.so --exclude libtorch_cuda.so --exclude libtorch_cpu.so --exclude libtorch_python.so -w {dest_dir} {wheel}", -] - -[tool.cibuildwheel.macos] -repair-wheel-command = [ - "delocate-wheel --ignore-missing-dependencies --require-archs {delocate_archs} -w {dest_dir} -v {wheel}", +torchvision = [ + { index = "pytorch-cu126", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, ] -[tool.cibuildwheel.windows] -before-all = "bash {project}/cibuildwheel_support/before_all_windows.sh" +[[tool.uv.index]] +name = "pytorch-cu126" +url = "https://download.pytorch.org/whl/cu126" +explicit = true diff --git a/setup.py b/setup.py deleted file mode 100644 index 716514642..000000000 --- a/setup.py +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org -# Distributed under the MIT License. -# (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - -from setuptools import setup -import torch -from torch.utils.cpp_extension import BuildExtension, CUDAExtension, CppExtension -import os -import platform - - -if os.environ.get("ACCELERATOR", None) is not None: - use_cuda = os.environ.get("ACCELERATOR", "").startswith("cu") -else: - use_cuda = torch.cuda._is_compiled() - - -def _replace_name(name): - import pathlib - - pyproject_path = pathlib.Path(__file__).parent / "pyproject.toml" - with open(pyproject_path, "r") as f: - pyproject_text = f.read() - pyproject_text = pyproject_text.replace("PLACEHOLDER", name) - with open(pyproject_path, "w") as f: - f.write(pyproject_text) - - -if os.getenv("ACCELERATOR", "").startswith("cpu"): - _replace_name("torchmd-net-cpu") -if os.getenv("ACCELERATOR", "").startswith("cu"): - cuda_ver = os.getenv("ACCELERATOR", "")[2:4] - _replace_name(f"torchmd-net-cu{cuda_ver}") - - -def set_torch_cuda_arch_list(): - """Set the CUDA arch list according to the architectures the current torch installation was compiled for. - This function is a no-op if the environment variable TORCH_CUDA_ARCH_LIST is already set or if torch was not compiled with CUDA support. - """ - if use_cuda and not os.environ.get("TORCH_CUDA_ARCH_LIST"): - arch_flags = torch._C._cuda_getArchFlags() - sm_versions = [x[3:] for x in arch_flags.split() if x.startswith("sm_")] - formatted_versions = ";".join([f"{y[:-1]}.{y[-1]}" for y in sm_versions]) - formatted_versions += "+PTX" - os.environ["TORCH_CUDA_ARCH_LIST"] = formatted_versions - - -set_torch_cuda_arch_list() - -extension_root = os.path.join("torchmdnet", "extensions") -neighbor_sources = ["neighbors_cpu.cpp"] -if use_cuda: - neighbor_sources.append("neighbors_cuda.cu") -neighbor_sources = [ - os.path.join(extension_root, "neighbors", source) for source in neighbor_sources -] - -runtime_library_dirs = None -if platform.system() == "Darwin": - runtime_library_dirs = [ - "@loader_path/../../torch/lib", - "@loader_path/../../nvidia/cuda_runtime/lib", - ] -elif platform.system() == "Linux": - runtime_library_dirs = [ - "$ORIGIN/../../torch/lib", - "$ORIGIN/../../nvidia/cuda_runtime/lib", - ] - -extra_deps = [] -if os.getenv("ACCELERATOR", "").startswith("cu"): - cuda_ver = os.getenv("ACCELERATOR")[2:4] - extra_deps = [f"nvidia-cuda-runtime-cu{cuda_ver}"] - -ExtensionType = CppExtension if not use_cuda else CUDAExtension -extensions = ExtensionType( - name="torchmdnet.extensions.torchmdnet_extensions", - sources=[os.path.join(extension_root, "torchmdnet_extensions.cpp")] - + neighbor_sources, - define_macros=[("WITH_CUDA", 1)] if use_cuda else [], - runtime_library_dirs=runtime_library_dirs, -) - -kwargs = {} -if "CI" in os.environ: - from setuptools_scm import get_version - - # Drop the dev version suffix because we modify pyproject.toml - # We do this only in CI because we need to upload to PyPI - - kwargs = {"version": ".".join(get_version().split(".")[:3])} - -if __name__ == "__main__": - setup( - ext_modules=[extensions], - cmdclass={ - "build_ext": BuildExtension.with_options( - no_python_abi_suffix=True, use_ninja=False - ) - }, - install_requires=[ - "h5py", - # "nnpops", - "torch==2.7.1", - "torch_geometric", - "lightning", - "tqdm", - "numpy", - ] - + extra_deps, - **kwargs, - ) From 016a744d86817715a0dc421729a9847985b625ac Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Thu, 11 Dec 2025 15:39:09 +0200 Subject: [PATCH 02/80] keep just brute tests --- tests/test_neighbors.py | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/tests/test_neighbors.py b/tests/test_neighbors.py index fa3e06046..1099db7f6 100644 --- a/tests/test_neighbors.py +++ b/tests/test_neighbors.py @@ -71,10 +71,7 @@ def compute_ref_neighbors(pos, batch, loop, include_transpose, cutoff, box_vecto return ref_neighbors, ref_distance_vecs, ref_distances -@pytest.mark.parametrize( - ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], -) +@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) @pytest.mark.parametrize("n_batches", [1, 2, 3, 4, 128]) @pytest.mark.parametrize("cutoff", [0.1, 1.0, 3.0, 4.9]) @pytest.mark.parametrize("loop", [True, False]) @@ -147,10 +144,7 @@ def test_neighbors( assert np.allclose(distance_vecs, ref_distance_vecs) -@pytest.mark.parametrize( - ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], -) +@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) @pytest.mark.parametrize("loop", [True, False]) @pytest.mark.parametrize("include_transpose", [True, False]) @pytest.mark.parametrize("dtype", [torch.float32, torch.float64]) @@ -259,10 +253,7 @@ def test_neighbor_grads( assert np.allclose(ref_pos_grad_sorted, pos_grad_sorted, atol=1e-8, rtol=1e-5) -@pytest.mark.parametrize( - ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], -) +@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) @pytest.mark.parametrize("loop", [True, False]) @pytest.mark.parametrize("include_transpose", [True, False]) @pytest.mark.parametrize("num_atoms", [1, 2, 10]) @@ -314,7 +305,7 @@ def test_neighbor_autograds( ) -@pytest.mark.parametrize("strategy", ["brute", "cell", "shared"]) +@pytest.mark.parametrize("strategy", ["brute"]) @pytest.mark.parametrize("n_batches", [1, 2, 3, 4]) def test_large_size(strategy, n_batches): device = "cuda" @@ -373,7 +364,7 @@ def test_large_size(strategy, n_batches): @pytest.mark.parametrize( ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], + [("cpu", "brute"), ("cuda", "brute")], ) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @@ -444,7 +435,7 @@ def test_jit_script_compatible( @pytest.mark.parametrize("device", ["cuda"]) -@pytest.mark.parametrize("strategy", ["brute", "shared", "cell"]) +@pytest.mark.parametrize("strategy", ["brute"]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @pytest.mark.parametrize("loop", [True, False]) @@ -527,7 +518,7 @@ def test_cuda_graph_compatible_forward( @pytest.mark.parametrize("device", ["cuda"]) -@pytest.mark.parametrize("strategy", ["brute", "shared", "cell"]) +@pytest.mark.parametrize("strategy", ["brute"]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @pytest.mark.parametrize("loop", [True, False]) @@ -600,9 +591,7 @@ def test_cuda_graph_compatible_backward( torch.cuda.synchronize() -@pytest.mark.parametrize( - ("device", "strategy"), [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared")] -) +@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("use_forward", [True, False]) def test_per_batch_box(device, strategy, n_batches, use_forward): From 79e6754ecc35e8733fb2b047a3cc34556f72848d Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Thu, 11 Dec 2025 15:39:17 +0200 Subject: [PATCH 03/80] add triton dep --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index f0306ad9e..be8e09000 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ dependencies = [ "lightning", "tqdm", "numpy", + "triton", ] [project.urls] @@ -39,6 +40,9 @@ include = ["torchmdnet*"] requires = ["setuptools>=78", "setuptools-scm>=8"] build-backend = "setuptools.build_meta" +[dependency-groups] +dev = ["ipython>=8.18.1", "pytest>=8.4.2"] + [tool.uv.sources] torch = [ { index = "pytorch-cu126", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, From a2318575ba75448fcb297e345384ca1d52093046 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Thu, 11 Dec 2025 19:56:27 +0200 Subject: [PATCH 04/80] first triton and pytorch implementations --- torchmdnet/extensions/ops.py | 31 +- torchmdnet/extensions/triton_neighbors.py | 506 ++++++++++++++++++++++ 2 files changed, 536 insertions(+), 1 deletion(-) create mode 100644 torchmdnet/extensions/triton_neighbors.py diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index ab420de3a..1e8e67e78 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -12,6 +12,8 @@ from typing import Tuple from torch.library import register_fake +from . import triton_neighbors + __all__ = ["is_current_stream_capturing", "get_neighbor_pairs_kernel"] @@ -29,6 +31,17 @@ def is_current_stream_capturing(): return _is_current_stream_capturing() +@torch.jit.ignore +def _stream_is_capturing_runtime() -> bool: + try: + return torch.cuda.is_current_stream_capturing() + except Exception: + try: + return is_current_stream_capturing() + except Exception: + return False + + def get_neighbor_pairs_kernel( strategy: str, positions: Tensor, @@ -79,7 +92,23 @@ def get_neighbor_pairs_kernel( num_pairs : Tensor The number of pairs found. """ - return torch.ops.torchmdnet_extensions.get_neighbor_pairs( + use_triton = positions.is_cuda and strategy in ("brute", "shared", "cell") + + if torch.jit.is_scripting() or not use_triton: + return triton_neighbors.torch_neighbor_pairs( + strategy, + positions, + batch, + box_vectors, + use_periodic, + cutoff_lower, + cutoff_upper, + max_num_pairs, + loop, + include_transpose, + ) + + return triton_neighbors.triton_neighbor_pairs( strategy, positions, batch, diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py new file mode 100644 index 000000000..72549928d --- /dev/null +++ b/torchmdnet/extensions/triton_neighbors.py @@ -0,0 +1,506 @@ +import math +from typing import Optional, Tuple + +import torch +from torch import Tensor + +try: + import triton + import triton.language as tl + + _HAS_TRITON = True +except Exception: + triton = None + tl = None + _HAS_TRITON = False + + +def _round_nearest(x: Tensor) -> Tensor: + # Equivalent to torch.round but works for both float32/float64 and keeps TorchScript happy. + return torch.where(x >= 0, torch.floor(x + 0.5), torch.ceil(x - 0.5)) + + +def _validate_box(box_vectors: Tensor, cutoff_upper: float, n_batch: int) -> Tensor: + if box_vectors.dim() == 2: + box_vectors = box_vectors.unsqueeze(0).expand(n_batch, 3, 3) + if box_vectors.dim() != 3 or box_vectors.shape[1:] != (3, 3): + raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') + if box_vectors.size(0) != n_batch: + raise ValueError('Expected "box_vectors" first dimension to match batch size') + v = box_vectors[0] + c = float(cutoff_upper) + if not ( + v[0, 1] == 0 + and v[0, 2] == 0 + and v[1, 2] == 0 + and v[0, 0] >= 2 * c + and v[1, 1] >= 2 * c + and v[2, 2] >= 2 * c + and v[0, 0] >= 2 * v[1, 0] + and v[0, 0] >= 2 * v[2, 0] + and v[1, 1] >= 2 * v[2, 1] + ): + raise ValueError("Invalid box vectors") + return box_vectors + + +def _apply_pbc_torch(deltas: Tensor, box_for_pairs: Tensor) -> Tensor: + # box_for_pairs: (num_pairs, 3, 3) + scale3 = _round_nearest(deltas[:, 2] / box_for_pairs[:, 2, 2]) + deltas = deltas - scale3.unsqueeze(1) * box_for_pairs[:, 2] + scale2 = _round_nearest(deltas[:, 1] / box_for_pairs[:, 1, 1]) + deltas = deltas - scale2.unsqueeze(1) * box_for_pairs[:, 1] + scale1 = _round_nearest(deltas[:, 0] / box_for_pairs[:, 0, 0]) + deltas = deltas - scale1.unsqueeze(1) * box_for_pairs[:, 0] + return deltas + + +def _torch_neighbor_bruteforce( + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, +) -> Tuple[Tensor, Tensor, Tensor, Tensor]: + """Brute-force neighbor list using pure PyTorch. + + This implementation avoids nonzero() to be torch.compile compatible. + It uses argsort with infinity for invalid pairs to achieve fixed output shapes. + """ + if positions.dim() != 2 or positions.size(1) != 3: + raise ValueError('Expected "positions" to have shape (N, 3)') + if batch.dim() != 1 or batch.size(0) != positions.size(0): + raise ValueError('Expected "batch" to have shape (N,)') + if max_num_pairs <= 0: + raise ValueError('Expected "max_num_pairs" to be positive') + + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + if use_periodic: + if box_vectors.dim() == 2: + box_vectors = box_vectors.unsqueeze(0) + elif box_vectors.dim() != 3: + raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') + box_vectors = box_vectors.to(device=device, dtype=dtype) + + # Generate indices for all n² pairs + arange_n = torch.arange(n_atoms, device=device) + i_idx = arange_n.view(-1, 1).expand(n_atoms, n_atoms) # (n, n) + j_idx = arange_n.view(1, -1).expand(n_atoms, n_atoms) # (n, n) + + # Compute deltas for ALL pairs: (n, n, 3) + pos_i = positions.unsqueeze(1) # (n, 1, 3) + pos_j = positions.unsqueeze(0) # (1, n, 3) + deltas_grid = pos_i - pos_j # (n, n, 3) + + # Apply PBC if needed + if use_periodic: + # Get batch indices for all pairs + batch_i = batch.view(-1, 1).expand(n_atoms, n_atoms) # (n, n) + if box_vectors.size(0) == 1: + # Single box for all - broadcast + box_for_grid = box_vectors.expand(n_atoms, n_atoms, 3, 3) # (n, n, 3, 3) + else: + # Per-batch boxes - index by batch of atom i + box_for_grid = box_vectors[batch_i] # (n, n, 3, 3) + # Apply PBC: deltas_grid is (n, n, 3), box_for_grid is (n, n, 3, 3) + deltas_flat_pbc = deltas_grid.reshape(-1, 3) + box_flat_pbc = box_for_grid.reshape(-1, 3, 3) + deltas_flat_pbc = _apply_pbc_torch(deltas_flat_pbc, box_flat_pbc) + deltas_grid = deltas_flat_pbc.reshape(n_atoms, n_atoms, 3) + + # Compute distances for all pairs: (n, n) + dist_sq = (deltas_grid * deltas_grid).sum(dim=-1) + zero_mask = dist_sq == 0 + distances_grid = torch.where( + zero_mask, + torch.zeros_like(dist_sq), + torch.sqrt(dist_sq.clamp(min=1e-32)), + ) + + # Build validity mask (n, n) + if include_transpose: + valid_mask = torch.ones((n_atoms, n_atoms), device=device, dtype=torch.bool) + if not loop: + valid_mask = valid_mask & (i_idx != j_idx) + else: + valid_mask = (i_idx > j_idx) if not loop else (i_idx >= j_idx) + + # Apply batch constraint + if batch.numel() > 0: + same_batch = batch.view(-1, 1) == batch.view(1, -1) + valid_mask = valid_mask & same_batch + + # Apply cutoff constraints + valid_mask = ( + valid_mask & (distances_grid < cutoff_upper) & (distances_grid >= cutoff_lower) + ) + + # Flatten everything: (n²) + i_flat = i_idx.reshape(-1) + j_flat = j_idx.reshape(-1) + deltas_flat = deltas_grid.reshape(-1, 3) + distances_flat = distances_grid.reshape(-1) + valid_flat = valid_mask.reshape(-1) + + # Sort key: valid pairs by distance, invalid pairs get infinity (sorted last) + sort_key = torch.where( + valid_flat, + distances_flat, + torch.full_like(distances_flat, float("inf")), + ) + + # Sort and take top max_num_pairs (fixed output shape) + order = torch.argsort(sort_key)[:max_num_pairs] + + # Gather results using the sorted indices + i_out = i_flat.index_select(0, order) + j_out = j_flat.index_select(0, order) + deltas_out = deltas_flat.index_select(0, order) + distances_out = distances_flat.index_select(0, order) + valid_out = valid_flat.index_select(0, order) + + # Replace invalid entries with -1 (neighbors) and 0 (deltas/distances) + # Ensure gradients flow through valid entries + neighbors_out = torch.stack( + [ + torch.where(valid_out, i_out, torch.full_like(i_out, -1)), + torch.where(valid_out, j_out, torch.full_like(j_out, -1)), + ] + ) + # For deltas/distances, use where to preserve gradients for valid entries + zero_deltas = deltas_out.detach() * 0 + zero_distances = distances_out.detach() * 0 + deltas_out = torch.where(valid_out.unsqueeze(1), deltas_out, zero_deltas) + distances_out = torch.where(valid_out, distances_out, zero_distances) + + # Count valid pairs + num_pairs_tensor = valid_out.sum().clamp(max=max_num_pairs).view(1).to(torch.long) + return neighbors_out, deltas_out, distances_out, num_pairs_tensor + + +@triton.jit +def _tl_round(x): + return tl.where(x >= 0, tl.math.floor(x + 0.5), tl.math.ceil(x - 0.5)) + + +@triton.jit +def _neighbor_brute_kernel( + pos_ptr, + batch_ptr, + box_ptr, + neighbors0_ptr, + neighbors1_ptr, + deltas_ptr, + distances_ptr, + counter_ptr, + stride_pos_0: tl.constexpr, + stride_pos_1: tl.constexpr, + stride_batch: tl.constexpr, + stride_box_b: tl.constexpr, + stride_box_r: tl.constexpr, + stride_box_c: tl.constexpr, + n_atoms: tl.constexpr, + use_periodic: tl.constexpr, + include_transpose: tl.constexpr, + loop: tl.constexpr, + max_pairs: tl.constexpr, + cutoff_lower: tl.constexpr, + cutoff_upper: tl.constexpr, + BLOCK: tl.constexpr, +): + """Brute-force neighbor list kernel using atomic operations for compaction.""" + pid = tl.program_id(axis=0) + start = pid * BLOCK + idx = start + tl.arange(0, BLOCK) + i = idx // n_atoms + j = idx - i * n_atoms + + valid = idx < n_atoms * n_atoms + tri_mask = j < i + if loop: + tri_mask = j <= i + valid = valid & tri_mask + batch_i = tl.load(batch_ptr + i * stride_batch, mask=valid, other=0) + batch_j = tl.load(batch_ptr + j * stride_batch, mask=valid, other=0) + valid = valid & (batch_i == batch_j) + + pos_ix = tl.load( + pos_ptr + i * stride_pos_0 + 0 * stride_pos_1, mask=valid, other=0.0 + ) + pos_iy = tl.load( + pos_ptr + i * stride_pos_0 + 1 * stride_pos_1, mask=valid, other=0.0 + ) + pos_iz = tl.load( + pos_ptr + i * stride_pos_0 + 2 * stride_pos_1, mask=valid, other=0.0 + ) + pos_jx = tl.load( + pos_ptr + j * stride_pos_0 + 0 * stride_pos_1, mask=valid, other=0.0 + ) + pos_jy = tl.load( + pos_ptr + j * stride_pos_0 + 1 * stride_pos_1, mask=valid, other=0.0 + ) + pos_jz = tl.load( + pos_ptr + j * stride_pos_0 + 2 * stride_pos_1, mask=valid, other=0.0 + ) + + dx = pos_ix - pos_jx + dy = pos_iy - pos_jy + dz = pos_iz - pos_jz + + if use_periodic: + box_base = box_ptr + batch_i * stride_box_b + + b20 = tl.load( + box_base + 2 * stride_box_r + 0 * stride_box_c, mask=valid, other=0.0 + ) + b21 = tl.load( + box_base + 2 * stride_box_r + 1 * stride_box_c, mask=valid, other=0.0 + ) + b22 = tl.load( + box_base + 2 * stride_box_r + 2 * stride_box_c, mask=valid, other=1.0 + ) + b10 = tl.load( + box_base + 1 * stride_box_r + 0 * stride_box_c, mask=valid, other=0.0 + ) + b11 = tl.load( + box_base + 1 * stride_box_r + 1 * stride_box_c, mask=valid, other=1.0 + ) + b00 = tl.load( + box_base + 0 * stride_box_r + 0 * stride_box_c, mask=valid, other=1.0 + ) + + scale3 = _tl_round(dz / b22) + dx = dx - scale3 * b20 + dy = dy - scale3 * b21 + dz = dz - scale3 * b22 + scale2 = _tl_round(dy / b11) + dx = dx - scale2 * b10 + dy = dy - scale2 * b11 + scale1 = _tl_round(dx / b00) + dx = dx - scale1 * b00 + + dist2 = dx * dx + dy * dy + dz * dz + dist = tl.sqrt(dist2) + valid = valid & (dist >= cutoff_lower) & (dist < cutoff_upper) + + valid_int = valid.to(tl.int32) + local_idx = tl.cumsum(valid_int, axis=0) - 1 + total_pairs = tl.sum(valid_int, axis=0) + + # For transpose, don't count self-loops (i == j) + if include_transpose: + is_not_self_loop = i != j + valid_transpose = valid & is_not_self_loop + total_transpose = tl.sum(valid_transpose.to(tl.int32), axis=0) + total_out = total_pairs + total_transpose + else: + total_out = total_pairs + + has_work = total_out > 0 + start_idx = tl.atomic_add(counter_ptr, total_out, mask=has_work) + start_idx = tl.where(has_work, start_idx, 0) + start_idx = tl.broadcast_to(start_idx, local_idx.shape) + + write_idx = start_idx + local_idx + mask_store = valid & (write_idx < max_pairs) + tl.store(neighbors0_ptr + write_idx, i, mask=mask_store) + tl.store(neighbors1_ptr + write_idx, j, mask=mask_store) + tl.store(deltas_ptr + write_idx * 3 + 0, dx, mask=mask_store) + tl.store(deltas_ptr + write_idx * 3 + 1, dy, mask=mask_store) + tl.store(deltas_ptr + write_idx * 3 + 2, dz, mask=mask_store) + tl.store(distances_ptr + write_idx, dist, mask=mask_store) + + if include_transpose: + # Don't add transpose for self-loops (i == j) + is_not_self_loop = i != j + valid_transpose = valid & is_not_self_loop + valid_t_int = valid_transpose.to(tl.int32) + local_idx_t = tl.cumsum(valid_t_int, axis=0) - 1 + total_pairs_t = tl.sum(valid_t_int, axis=0) + + write_idx_t = start_idx + total_pairs + local_idx_t + mask_store_t = valid_transpose & (write_idx_t < max_pairs) + tl.store(neighbors0_ptr + write_idx_t, j, mask=mask_store_t) + tl.store(neighbors1_ptr + write_idx_t, i, mask=mask_store_t) + tl.store(deltas_ptr + write_idx_t * 3 + 0, -dx, mask=mask_store_t) + tl.store(deltas_ptr + write_idx_t * 3 + 1, -dy, mask=mask_store_t) + tl.store(deltas_ptr + write_idx_t * 3 + 2, -dz, mask=mask_store_t) + tl.store(distances_ptr + write_idx_t, dist, mask=mask_store_t) + + +class TritonNeighborAutograd(torch.autograd.Function): + @staticmethod + def forward( # type: ignore[override] + ctx, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, + ): + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + batch = batch.contiguous() + positions = positions.contiguous() + if use_periodic: + if box_vectors.dim() == 2: + box_vectors = box_vectors.unsqueeze(0) + elif box_vectors.dim() != 3: + raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') + box_vectors = box_vectors.to(device=device, dtype=dtype) + box_vectors = box_vectors.contiguous() + # Use stride 0 to broadcast single box to all batches (avoids CPU sync) + box_stride_0 = 0 if box_vectors.size(0) == 1 else box_vectors.stride(0) + + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) + counter = torch.zeros((1,), device=device, dtype=torch.int32) + + # Grid covers all (i, j) pairs + grid = lambda meta: (triton.cdiv(n_atoms * n_atoms, meta["BLOCK"]),) + + _neighbor_brute_kernel[grid]( + positions, + batch, + box_vectors if use_periodic else positions, # dummy pointer if not periodic + neighbors[0], + neighbors[1], + deltas, + distances, + counter, + positions.stride(0), + positions.stride(1), + batch.stride(0), + box_stride_0 if use_periodic else 0, + box_vectors.stride(1) if use_periodic else 0, + box_vectors.stride(2) if use_periodic else 0, + n_atoms, + use_periodic, + include_transpose, + loop, + max_num_pairs, + cutoff_lower, + cutoff_upper, + BLOCK=256, + ) + + # Clamp num_pairs to written region + num_pairs = counter.to(torch.long) + num_pairs = num_pairs.clamp(max=max_num_pairs) + + ctx.save_for_backward(neighbors, deltas, distances) + ctx.num_atoms = n_atoms + return neighbors, deltas, distances, num_pairs + + @staticmethod + def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] + neighbors, edge_vec, edge_weight = ctx.saved_tensors + num_atoms = ctx.num_atoms + + if grad_deltas is None: + grad_deltas = torch.zeros_like(edge_vec) + if grad_distances is None: + grad_distances = torch.zeros_like(edge_weight) + + zero_mask = edge_weight.eq(0) + zero_mask3 = zero_mask.unsqueeze(-1).expand_as(grad_deltas) + + grad_distances_term = edge_vec / edge_weight.masked_fill( + zero_mask, 1 + ).unsqueeze(-1) + grad_distances_term = grad_distances_term * grad_distances.masked_fill( + zero_mask, 0 + ).unsqueeze(-1) + + grad_positions = torch.zeros( + (num_atoms, 3), device=edge_vec.device, dtype=edge_vec.dtype + ) + edge_index_safe = neighbors.masked_fill( + zero_mask.unsqueeze(0).expand_as(neighbors), 0 + ) + grad_vec = grad_deltas.masked_fill(zero_mask3, 0) + grad_distances_term + grad_positions.index_add_(0, edge_index_safe[0], grad_vec) + grad_positions.index_add_(0, edge_index_safe[1], -grad_vec) + + return ( + grad_positions, + None, + None, + None, + None, + None, + None, + None, + None, + ) + + +def triton_neighbor_pairs( + strategy: str, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, +) -> Tuple[Tensor, Tensor, Tensor, Tensor]: + if not _HAS_TRITON: + raise RuntimeError("Triton is not available") + if positions.device.type != "cuda": + raise RuntimeError("Triton neighbor list requires CUDA tensors") + if positions.dtype not in (torch.float32, torch.float64): + raise RuntimeError("Unsupported dtype for Triton neighbor list") + + return TritonNeighborAutograd.apply( + positions, + batch, + box_vectors, + use_periodic, + float(cutoff_lower), + float(cutoff_upper), + int(max_num_pairs), + bool(loop), + bool(include_transpose), + ) + + +def torch_neighbor_pairs( + strategy: str, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, +) -> Tuple[Tensor, Tensor, Tensor, Tensor]: + return _torch_neighbor_bruteforce( + positions, + batch, + box_vectors, + use_periodic, + cutoff_lower, + cutoff_upper, + max_num_pairs, + loop, + include_transpose, + ) From c60cd7483bce9fc9be487ac98c218853d04be6d0 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 10:25:26 +0200 Subject: [PATCH 05/80] fix assertion error --- torchmdnet/extensions/triton_neighbors.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index 72549928d..ef69590c4 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -180,8 +180,8 @@ def _torch_neighbor_bruteforce( deltas_out = torch.where(valid_out.unsqueeze(1), deltas_out, zero_deltas) distances_out = torch.where(valid_out, distances_out, zero_distances) - # Count valid pairs - num_pairs_tensor = valid_out.sum().clamp(max=max_num_pairs).view(1).to(torch.long) + # Count ALL valid pairs (before slicing) to detect overflow + num_pairs_tensor = valid_flat.sum().view(1).to(torch.long) return neighbors_out, deltas_out, distances_out, num_pairs_tensor @@ -398,9 +398,7 @@ def forward( # type: ignore[override] BLOCK=256, ) - # Clamp num_pairs to written region num_pairs = counter.to(torch.long) - num_pairs = num_pairs.clamp(max=max_num_pairs) ctx.save_for_backward(neighbors, deltas, distances) ctx.num_atoms = n_atoms From 37fea407e440a35b7954bbd677afedd2b8df2239 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 10:37:03 +0200 Subject: [PATCH 06/80] fixed last issue --- torchmdnet/extensions/triton_neighbors.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index ef69590c4..4178b4511 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -138,8 +138,12 @@ def _torch_neighbor_bruteforce( valid_mask = valid_mask & same_batch # Apply cutoff constraints + # Self-loops (i == j) are exempt from cutoff_lower since they have distance 0 + is_self_loop = i_idx == j_idx valid_mask = ( - valid_mask & (distances_grid < cutoff_upper) & (distances_grid >= cutoff_lower) + valid_mask + & (distances_grid < cutoff_upper) + & ((distances_grid >= cutoff_lower) | is_self_loop) ) # Flatten everything: (n²) @@ -288,7 +292,9 @@ def _neighbor_brute_kernel( dist2 = dx * dx + dy * dy + dz * dz dist = tl.sqrt(dist2) - valid = valid & (dist >= cutoff_lower) & (dist < cutoff_upper) + # Self-loops (i == j) are exempt from cutoff_lower since they have distance 0 + is_self_loop = i == j + valid = valid & (dist < cutoff_upper) & ((dist >= cutoff_lower) | is_self_loop) valid_int = valid.to(tl.int32) local_idx = tl.cumsum(valid_int, axis=0) - 1 From 160bc2785bfb8578eefa72ee8219b52b29d85485 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 11:04:15 +0200 Subject: [PATCH 07/80] less computations --- torchmdnet/extensions/triton_neighbors.py | 55 +++++++++++++++++++---- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index 4178b4511..f0513f246 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -211,6 +211,7 @@ def _neighbor_brute_kernel( stride_box_r: tl.constexpr, stride_box_c: tl.constexpr, n_atoms: tl.constexpr, + num_all_pairs: tl.constexpr, use_periodic: tl.constexpr, include_transpose: tl.constexpr, loop: tl.constexpr, @@ -219,18 +220,47 @@ def _neighbor_brute_kernel( cutoff_upper: tl.constexpr, BLOCK: tl.constexpr, ): - """Brute-force neighbor list kernel using atomic operations for compaction.""" + """Brute-force neighbor list kernel using triangular indexing and atomic compaction. + + Uses triangular indexing to iterate over only n*(n-1)/2 pairs (or n*(n+1)/2 with loop), + achieving 100% thread utilization while maintaining block-level atomic compaction. + """ pid = tl.program_id(axis=0) start = pid * BLOCK idx = start + tl.arange(0, BLOCK) - i = idx // n_atoms - j = idx - i * n_atoms - valid = idx < n_atoms * n_atoms - tri_mask = j < i + valid = idx < num_all_pairs + + # Convert linear index to (i, j) using triangular formula (same as CUDA get_row) + # Do integer arithmetic first, only convert to float for sqrt if loop: - tri_mask = j <= i - valid = valid & tri_mask + # With self-loops: j <= i, num_pairs = n*(n+1)/2 + # row = floor((-1 + sqrt(1 + 8k)) / 2) + sqrt_arg = (1 + 8 * idx).to(tl.float32) + row_f = tl.math.floor((-1.0 + tl.math.sqrt(sqrt_arg)) * 0.5) + i = row_f.to(tl.int32) + # Handle floating-point edge case: if i*(i+1)/2 > idx, decrement i + i = tl.where(i * (i + 1) > 2 * idx, i - 1, i) + # col = k - row*(row+1)/2 + j = idx - (i * (i + 1)) // 2 + else: + # Without self-loops: j < i, num_pairs = n*(n-1)/2 + # row = floor((1 + sqrt(1 + 8k)) / 2) + sqrt_arg = (1 + 8 * idx).to(tl.float32) + row_f = tl.math.floor((1.0 + tl.math.sqrt(sqrt_arg)) * 0.5) + i = row_f.to(tl.int32) + # Handle floating-point edge case (same correction as CUDA) + i = tl.where(i * (i - 1) > 2 * idx, i - 1, i) + # col = k - row*(row-1)/2 + j = idx - (i * (i - 1)) // 2 + + # Validate indices: check bounds and triangular constraint + # Due to float precision, we may get invalid (i, j) pairs + valid = valid & (i >= 0) & (i < n_atoms) & (j >= 0) & (j <= i) + if not loop: + # For non-loop case, also require j < i (no self-loops) + valid = valid & (j < i) + batch_i = tl.load(batch_ptr + i * stride_batch, mask=valid, other=0) batch_j = tl.load(batch_ptr + j * stride_batch, mask=valid, other=0) valid = valid & (batch_i == batch_j) @@ -376,8 +406,14 @@ def forward( # type: ignore[override] distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) counter = torch.zeros((1,), device=device, dtype=torch.int32) - # Grid covers all (i, j) pairs - grid = lambda meta: (triton.cdiv(n_atoms * n_atoms, meta["BLOCK"]),) + # Compute triangular pair count: n*(n-1)/2 without self-loops, n*(n+1)/2 with + if loop: + num_all_pairs = n_atoms * (n_atoms + 1) // 2 + else: + num_all_pairs = n_atoms * (n_atoms - 1) // 2 + + # Grid covers only triangular pairs (not n²) + grid = lambda meta: (triton.cdiv(num_all_pairs, meta["BLOCK"]),) _neighbor_brute_kernel[grid]( positions, @@ -395,6 +431,7 @@ def forward( # type: ignore[override] box_vectors.stride(1) if use_periodic else 0, box_vectors.stride(2) if use_periodic else 0, n_atoms, + num_all_pairs, use_periodic, include_transpose, loop, From 5e2f6d93a8058d30f009b149056f91e120ab5e77 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 13:37:40 +0200 Subject: [PATCH 08/80] reorganized code. added first cell implementation --- torchmdnet/extensions/ops.py | 4 +- torchmdnet/extensions/triton_brute.py | 267 ++++++++++++++++ torchmdnet/extensions/triton_cell.py | 373 ++++++++++++++++++++++ torchmdnet/extensions/triton_neighbors.py | 321 ++++--------------- 4 files changed, 699 insertions(+), 266 deletions(-) create mode 100644 torchmdnet/extensions/triton_brute.py create mode 100644 torchmdnet/extensions/triton_cell.py diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index 1e8e67e78..9dd44c00e 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -92,9 +92,7 @@ def get_neighbor_pairs_kernel( num_pairs : Tensor The number of pairs found. """ - use_triton = positions.is_cuda and strategy in ("brute", "shared", "cell") - - if torch.jit.is_scripting() or not use_triton: + if torch.jit.is_scripting() or not positions.is_cuda: return triton_neighbors.torch_neighbor_pairs( strategy, positions, diff --git a/torchmdnet/extensions/triton_brute.py b/torchmdnet/extensions/triton_brute.py new file mode 100644 index 000000000..34d3d7a85 --- /dev/null +++ b/torchmdnet/extensions/triton_brute.py @@ -0,0 +1,267 @@ +try: + import triton + import triton.language as tl + + _HAS_TRITON = True +except Exception: + triton = None + tl = None + _HAS_TRITON = False + +from torch import Tensor +import torch +from torchmdnet.extensions.triton_neighbors import _tl_round, TritonNeighborAutograd + + +@triton.jit +def _neighbor_brute_kernel( + pos_ptr, + batch_ptr, + box_ptr, + neighbors0_ptr, + neighbors1_ptr, + deltas_ptr, + distances_ptr, + counter_ptr, + stride_pos_0: tl.constexpr, + stride_pos_1: tl.constexpr, + stride_batch: tl.constexpr, + stride_box_b: tl.constexpr, + stride_box_r: tl.constexpr, + stride_box_c: tl.constexpr, + n_atoms: tl.constexpr, + num_all_pairs: tl.constexpr, + use_periodic: tl.constexpr, + include_transpose: tl.constexpr, + loop: tl.constexpr, + max_pairs: tl.constexpr, + cutoff_lower: tl.constexpr, + cutoff_upper: tl.constexpr, + BLOCK: tl.constexpr, +): + """Brute-force neighbor list kernel using triangular indexing and atomic compaction. + + Uses triangular indexing to iterate over only n*(n-1)/2 pairs (or n*(n+1)/2 with loop), + achieving 100% thread utilization while maintaining block-level atomic compaction. + """ + pid = tl.program_id(axis=0) + start = pid * BLOCK + idx = start + tl.arange(0, BLOCK) + + valid = idx < num_all_pairs + + # Convert linear index to (i, j) using triangular formula (same as CUDA get_row) + # Do integer arithmetic first, only convert to float for sqrt + if loop: + # With self-loops: j <= i, num_pairs = n*(n+1)/2 + # row = floor((-1 + sqrt(1 + 8k)) / 2) + sqrt_arg = (1 + 8 * idx).to(tl.float32) + row_f = tl.math.floor((-1.0 + tl.math.sqrt(sqrt_arg)) * 0.5) + i = row_f.to(tl.int32) + # Handle floating-point edge case: if i*(i+1)/2 > idx, decrement i + i = tl.where(i * (i + 1) > 2 * idx, i - 1, i) + # col = k - row*(row+1)/2 + j = idx - (i * (i + 1)) // 2 + else: + # Without self-loops: j < i, num_pairs = n*(n-1)/2 + # row = floor((1 + sqrt(1 + 8k)) / 2) + sqrt_arg = (1 + 8 * idx).to(tl.float32) + row_f = tl.math.floor((1.0 + tl.math.sqrt(sqrt_arg)) * 0.5) + i = row_f.to(tl.int32) + # Handle floating-point edge case (same correction as CUDA) + i = tl.where(i * (i - 1) > 2 * idx, i - 1, i) + # col = k - row*(row-1)/2 + j = idx - (i * (i - 1)) // 2 + + # Validate indices: check bounds and triangular constraint + # Due to float precision, we may get invalid (i, j) pairs + valid = valid & (i >= 0) & (i < n_atoms) & (j >= 0) & (j <= i) + if not loop: + # For non-loop case, also require j < i (no self-loops) + valid = valid & (j < i) + + batch_i = tl.load(batch_ptr + i * stride_batch, mask=valid, other=0) + batch_j = tl.load(batch_ptr + j * stride_batch, mask=valid, other=0) + valid = valid & (batch_i == batch_j) + + pos_ix = tl.load( + pos_ptr + i * stride_pos_0 + 0 * stride_pos_1, mask=valid, other=0.0 + ) + pos_iy = tl.load( + pos_ptr + i * stride_pos_0 + 1 * stride_pos_1, mask=valid, other=0.0 + ) + pos_iz = tl.load( + pos_ptr + i * stride_pos_0 + 2 * stride_pos_1, mask=valid, other=0.0 + ) + pos_jx = tl.load( + pos_ptr + j * stride_pos_0 + 0 * stride_pos_1, mask=valid, other=0.0 + ) + pos_jy = tl.load( + pos_ptr + j * stride_pos_0 + 1 * stride_pos_1, mask=valid, other=0.0 + ) + pos_jz = tl.load( + pos_ptr + j * stride_pos_0 + 2 * stride_pos_1, mask=valid, other=0.0 + ) + + dx = pos_ix - pos_jx + dy = pos_iy - pos_jy + dz = pos_iz - pos_jz + + if use_periodic: + box_base = box_ptr + batch_i * stride_box_b + + b20 = tl.load( + box_base + 2 * stride_box_r + 0 * stride_box_c, mask=valid, other=0.0 + ) + b21 = tl.load( + box_base + 2 * stride_box_r + 1 * stride_box_c, mask=valid, other=0.0 + ) + b22 = tl.load( + box_base + 2 * stride_box_r + 2 * stride_box_c, mask=valid, other=1.0 + ) + b10 = tl.load( + box_base + 1 * stride_box_r + 0 * stride_box_c, mask=valid, other=0.0 + ) + b11 = tl.load( + box_base + 1 * stride_box_r + 1 * stride_box_c, mask=valid, other=1.0 + ) + b00 = tl.load( + box_base + 0 * stride_box_r + 0 * stride_box_c, mask=valid, other=1.0 + ) + + scale3 = _tl_round(dz / b22) + dx = dx - scale3 * b20 + dy = dy - scale3 * b21 + dz = dz - scale3 * b22 + scale2 = _tl_round(dy / b11) + dx = dx - scale2 * b10 + dy = dy - scale2 * b11 + scale1 = _tl_round(dx / b00) + dx = dx - scale1 * b00 + + dist2 = dx * dx + dy * dy + dz * dz + dist = tl.sqrt(dist2) + # Self-loops (i == j) are exempt from cutoff_lower since they have distance 0 + is_self_loop = i == j + valid = valid & (dist < cutoff_upper) & ((dist >= cutoff_lower) | is_self_loop) + + valid_int = valid.to(tl.int32) + local_idx = tl.cumsum(valid_int, axis=0) - 1 + total_pairs = tl.sum(valid_int, axis=0) + + # For transpose, don't count self-loops (i == j) + if include_transpose: + is_not_self_loop = i != j + valid_transpose = valid & is_not_self_loop + total_transpose = tl.sum(valid_transpose.to(tl.int32), axis=0) + total_out = total_pairs + total_transpose + else: + total_out = total_pairs + + has_work = total_out > 0 + start_idx = tl.atomic_add(counter_ptr, total_out, mask=has_work) + start_idx = tl.where(has_work, start_idx, 0) + start_idx = tl.broadcast_to(start_idx, local_idx.shape) + + write_idx = start_idx + local_idx + mask_store = valid & (write_idx < max_pairs) + tl.store(neighbors0_ptr + write_idx, i, mask=mask_store) + tl.store(neighbors1_ptr + write_idx, j, mask=mask_store) + tl.store(deltas_ptr + write_idx * 3 + 0, dx, mask=mask_store) + tl.store(deltas_ptr + write_idx * 3 + 1, dy, mask=mask_store) + tl.store(deltas_ptr + write_idx * 3 + 2, dz, mask=mask_store) + tl.store(distances_ptr + write_idx, dist, mask=mask_store) + + if include_transpose: + # Don't add transpose for self-loops (i == j) + is_not_self_loop = i != j + valid_transpose = valid & is_not_self_loop + valid_t_int = valid_transpose.to(tl.int32) + local_idx_t = tl.cumsum(valid_t_int, axis=0) - 1 + total_pairs_t = tl.sum(valid_t_int, axis=0) + + write_idx_t = start_idx + total_pairs + local_idx_t + mask_store_t = valid_transpose & (write_idx_t < max_pairs) + tl.store(neighbors0_ptr + write_idx_t, j, mask=mask_store_t) + tl.store(neighbors1_ptr + write_idx_t, i, mask=mask_store_t) + tl.store(deltas_ptr + write_idx_t * 3 + 0, -dx, mask=mask_store_t) + tl.store(deltas_ptr + write_idx_t * 3 + 1, -dy, mask=mask_store_t) + tl.store(deltas_ptr + write_idx_t * 3 + 2, -dz, mask=mask_store_t) + tl.store(distances_ptr + write_idx_t, dist, mask=mask_store_t) + + +class TritonBruteNeighborAutograd(TritonNeighborAutograd): + @staticmethod + def forward( # type: ignore[override] + ctx, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, + ): + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + batch = batch.contiguous() + positions = positions.contiguous() + if use_periodic: + if box_vectors.dim() == 2: + box_vectors = box_vectors.unsqueeze(0) + elif box_vectors.dim() != 3: + raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') + box_vectors = box_vectors.to(device=device, dtype=dtype) + box_vectors = box_vectors.contiguous() + # Use stride 0 to broadcast single box to all batches (avoids CPU sync) + box_stride_0 = 0 if box_vectors.size(0) == 1 else box_vectors.stride(0) + + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) + counter = torch.zeros((1,), device=device, dtype=torch.int32) + + # Compute triangular pair count: n*(n-1)/2 without self-loops, n*(n+1)/2 with + if loop: + num_all_pairs = n_atoms * (n_atoms + 1) // 2 + else: + num_all_pairs = n_atoms * (n_atoms - 1) // 2 + + # Grid covers only triangular pairs (not n²) + grid = lambda meta: (triton.cdiv(num_all_pairs, meta["BLOCK"]),) + + _neighbor_brute_kernel[grid]( + positions, + batch, + box_vectors if use_periodic else positions, # dummy pointer if not periodic + neighbors[0], + neighbors[1], + deltas, + distances, + counter, + positions.stride(0), + positions.stride(1), + batch.stride(0), + box_stride_0 if use_periodic else 0, + box_vectors.stride(1) if use_periodic else 0, + box_vectors.stride(2) if use_periodic else 0, + n_atoms, + num_all_pairs, + use_periodic, + include_transpose, + loop, + max_num_pairs, + cutoff_lower, + cutoff_upper, + BLOCK=256, + ) + + num_pairs = counter.to(torch.long) + + ctx.save_for_backward(neighbors, deltas, distances) + ctx.num_atoms = n_atoms + return neighbors, deltas, distances, num_pairs diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py new file mode 100644 index 000000000..bbe0dc3cf --- /dev/null +++ b/torchmdnet/extensions/triton_cell.py @@ -0,0 +1,373 @@ +try: + import triton + import triton.language as tl + + _HAS_TRITON = True +except Exception: + triton = None + tl = None + _HAS_TRITON = False + +from torch import Tensor +import torch +from .triton_neighbors import ( + _tl_round, + TritonNeighborAutograd, + _validate_box, + _get_cell_dimensions, +) + + +@triton.jit +def _assign_cell_indices_kernel( + pos_ptr, + cell_index_ptr, + stride_pos_0: tl.constexpr, + stride_pos_1: tl.constexpr, + n_atoms: tl.constexpr, + box_x: tl.constexpr, + box_y: tl.constexpr, + box_z: tl.constexpr, + cutoff: tl.constexpr, + cell_x: tl.constexpr, + cell_y: tl.constexpr, + cell_z: tl.constexpr, + BLOCK: tl.constexpr, +): + pid = tl.program_id(axis=0) + idx = pid * BLOCK + tl.arange(0, BLOCK) + mask = idx < n_atoms + + px = tl.load(pos_ptr + idx * stride_pos_0 + 0 * stride_pos_1, mask=mask, other=0.0) + py = tl.load(pos_ptr + idx * stride_pos_0 + 1 * stride_pos_1, mask=mask, other=0.0) + pz = tl.load(pos_ptr + idx * stride_pos_0 + 2 * stride_pos_1, mask=mask, other=0.0) + + # Bring to [-0.5*box, 0.5*box] (rectangular PBC) + px = px - _tl_round(px / box_x) * box_x + py = py - _tl_round(py / box_y) * box_y + pz = pz - _tl_round(pz / box_z) * box_z + + cx = tl.math.floor((px + 0.5 * box_x) / cutoff).to(tl.int32) + cy = tl.math.floor((py + 0.5 * box_y) / cutoff).to(tl.int32) + cz = tl.math.floor((pz + 0.5 * box_z) / cutoff).to(tl.int32) + + cx = tl.where(cx == cell_x, 0, cx) + cy = tl.where(cy == cell_y, 0, cy) + cz = tl.where(cz == cell_z, 0, cz) + + cell_index = cx + cell_x * (cy + cell_y * cz) + tl.store(cell_index_ptr + idx, cell_index, mask=mask) + + +@triton.jit +def _fill_cell_offsets_kernel( + sorted_cell_ptr, + cell_start_ptr, + cell_end_ptr, + n_atoms: tl.constexpr, + BLOCK: tl.constexpr, +): + pid = tl.program_id(axis=0) + idx = pid * BLOCK + tl.arange(0, BLOCK) + mask = idx < n_atoms + + icell = tl.load(sorted_cell_ptr + idx, mask=mask, other=0) + prev = tl.load(sorted_cell_ptr + idx - 1, mask=mask & (idx > 0), other=0) + + is_first = idx == 0 + is_new = is_first | (icell != prev) + + tl.store(cell_start_ptr + icell, idx, mask=mask & is_new) + tl.store(cell_end_ptr + prev, idx, mask=mask & (is_new & (idx > 0))) + tl.store(cell_end_ptr + icell, idx + 1, mask=mask & (idx == n_atoms - 1)) + + +@triton.jit +def _traverse_cell_kernel( + pos_ptr, + batch_ptr, + sorted_index_ptr, + cell_start_ptr, + cell_end_ptr, + neighbors0_ptr, + neighbors1_ptr, + deltas_ptr, + distances_ptr, + counter_ptr, + stride_pos_0: tl.constexpr, + stride_pos_1: tl.constexpr, + stride_batch: tl.constexpr, + stride_sorted: tl.constexpr, + n_atoms: tl.constexpr, + num_cells: tl.constexpr, + cell_x: tl.constexpr, + cell_y: tl.constexpr, + cell_z: tl.constexpr, + box_x: tl.constexpr, + box_y: tl.constexpr, + box_z: tl.constexpr, + cutoff: tl.constexpr, + cutoff_lower2: tl.constexpr, + cutoff_upper2: tl.constexpr, + use_periodic: tl.constexpr, + include_transpose: tl.constexpr, + loop: tl.constexpr, + max_pairs: tl.constexpr, + BLOCK_ATOMS: tl.constexpr, + BLOCK_NEI: tl.constexpr, + MAX_CELL_ITERS: tl.constexpr, +): + pid = tl.program_id(axis=0) + i_idx = pid * BLOCK_ATOMS + tl.arange(0, BLOCK_ATOMS) + mask_i = i_idx < n_atoms + + pos_ix = tl.load( + pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1, mask=mask_i, other=0.0 + ) + pos_iy = tl.load( + pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1, mask=mask_i, other=0.0 + ) + pos_iz = tl.load( + pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1, mask=mask_i, other=0.0 + ) + + batch_i = tl.load(batch_ptr + i_idx * stride_batch, mask=mask_i, other=0) + + # Cell coordinate for atom i + pwx = pos_ix - _tl_round(pos_ix / box_x) * box_x + pwy = pos_iy - _tl_round(pos_iy / box_y) * box_y + pwz = pos_iz - _tl_round(pos_iz / box_z) * box_z + cx = tl.math.floor((pwx + 0.5 * box_x) / cutoff).to(tl.int32) + cy = tl.math.floor((pwy + 0.5 * box_y) / cutoff).to(tl.int32) + cz = tl.math.floor((pwz + 0.5 * box_z) / cutoff).to(tl.int32) + cx = tl.where(cx == cell_x, 0, cx) + cy = tl.where(cy == cell_y, 0, cy) + cz = tl.where(cz == cell_z, 0, cz) + + offs_nei = tl.arange(0, BLOCK_NEI) + + for neigh in range(27): + dx_cell = (neigh % 3) - 1 + dy_cell = ((neigh // 3) % 3) - 1 + dz_cell = (neigh // 9) - 1 + + nx = cx + dx_cell + ny = cy + dy_cell + nz = cz + dz_cell + + nx = tl.where(nx < 0, nx + cell_x, nx) + ny = tl.where(ny < 0, ny + cell_y, ny) + nz = tl.where(nz < 0, nz + cell_z, nz) + nx = tl.where(nx >= cell_x, nx - cell_x, nx) + ny = tl.where(ny >= cell_y, ny - cell_y, ny) + nz = tl.where(nz >= cell_z, nz - cell_z, nz) + + neighbor_cell = nx + cell_x * (ny + cell_y * nz) + start = tl.load(cell_start_ptr + neighbor_cell, mask=mask_i, other=-1) + end = tl.load(cell_end_ptr + neighbor_cell, mask=mask_i, other=0) + has_atoms = start != -1 + + for it in range(MAX_CELL_ITERS): + base = start + it * BLOCK_NEI + j_idx = base + offs_nei + valid_j = mask_i & has_atoms & (j_idx < end) + if loop: + valid_j = valid_j & ((j_idx < i_idx) | (j_idx == i_idx)) + else: + valid_j = valid_j & (j_idx < i_idx) + + batch_j = tl.load(batch_ptr + j_idx * stride_batch, mask=valid_j, other=0) + valid_j = valid_j & (batch_j == batch_i) + + pos_jx = tl.load( + pos_ptr + j_idx * stride_pos_0 + 0 * stride_pos_1, + mask=valid_j, + other=0.0, + ) + pos_jy = tl.load( + pos_ptr + j_idx * stride_pos_0 + 1 * stride_pos_1, + mask=valid_j, + other=0.0, + ) + pos_jz = tl.load( + pos_ptr + j_idx * stride_pos_0 + 2 * stride_pos_1, + mask=valid_j, + other=0.0, + ) + + dx = pos_ix - pos_jx + dy = pos_iy - pos_jy + dz = pos_iz - pos_jz + + if use_periodic: + dx = dx - _tl_round(dx / box_x) * box_x + dy = dy - _tl_round(dy / box_y) * box_y + dz = dz - _tl_round(dz / box_z) * box_z + + dist2 = dx * dx + dy * dy + dz * dz + is_self = j_idx == i_idx + valid_pair = valid_j & ( + ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | (loop & is_self) + ) + + ori = tl.load( + sorted_index_ptr + i_idx * stride_sorted, mask=valid_pair, other=0 + ) + orj = tl.load( + sorted_index_ptr + j_idx * stride_sorted, mask=valid_pair, other=0 + ) + + ni = tl.max(ori, orj) + nj = tl.min(ori, orj) + sign = tl.where(ni == ori, 1.0, -1.0).to(dx.dtype) + + dx_out = dx * sign + dy_out = dy * sign + dz_out = dz * sign + dist = tl.sqrt(dist2) + + out_idx = tl.atomic_add(counter_ptr, 1, mask=valid_pair) + mask_store = valid_pair & (out_idx < max_pairs) + tl.store(neighbors0_ptr + out_idx, ni, mask=mask_store) + tl.store(neighbors1_ptr + out_idx, nj, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 0, dx_out, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 1, dy_out, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 2, dz_out, mask=mask_store) + tl.store(distances_ptr + out_idx, dist, mask=mask_store) + + if include_transpose: + valid_t = valid_pair & (ni != nj) + out_idx_t = tl.atomic_add(counter_ptr, 1, mask=valid_t) + mask_store_t = valid_t & (out_idx_t < max_pairs) + tl.store(neighbors0_ptr + out_idx_t, nj, mask=mask_store_t) + tl.store(neighbors1_ptr + out_idx_t, ni, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_out, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_out, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_out, mask=mask_store_t) + tl.store(distances_ptr + out_idx_t, dist, mask=mask_store_t) + + +class TritonCellNeighborAutograd(TritonNeighborAutograd): + @staticmethod + def forward( # type: ignore[override] + ctx, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, + ): + if not _HAS_TRITON: + raise RuntimeError("Triton is not available") + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + # Validate inputs (mirror CUDA constraints) + if positions.dim() != 2 or positions.size(1) != 3: + raise ValueError('Expected "positions" to have shape (N, 3)') + if batch.dim() != 1 or batch.size(0) != n_atoms: + raise ValueError('Expected "batch" to have shape (N,)') + if max_num_pairs <= 0: + raise ValueError('Expected "max_num_pairs" to be positive') + + # Ensure box is well-formed and diagonal (cell list only supports rectangular boxes) + box_vectors = _validate_box(box_vectors, float(cutoff_upper), 1) + box_vectors = box_vectors.to(device=device, dtype=dtype).contiguous() + + # Cell grid dimensions (host math to match CUDA getCellDimensions) + cell_dim_x, cell_dim_y, cell_dim_z = _get_cell_dimensions( + box_vectors, float(cutoff_upper) + ) + num_cells = cell_dim_x * cell_dim_y * cell_dim_z + + batch = batch.contiguous() + positions = positions.contiguous() + + # 1. Compute cell index per atom + cell_indices = torch.empty((n_atoms,), device=device, dtype=torch.int32) + grid_assign = lambda meta: (triton.cdiv(n_atoms, meta["BLOCK"]),) + _assign_cell_indices_kernel[grid_assign]( + positions, + cell_indices, + positions.stride(0), + positions.stride(1), + n_atoms, + float(box_vectors[0, 0, 0]), + float(box_vectors[1, 1, 1]), + float(box_vectors[2, 2, 2]), + float(cutoff_upper), + cell_dim_x, + cell_dim_y, + cell_dim_z, + BLOCK=256, + ) + + # 2. Sort atoms by cell index + sorted_cell_indices, sorted_atom_indices = torch.sort(cell_indices) + sorted_atom_indices = sorted_atom_indices.to(torch.int32) + sorted_positions = positions.index_select(0, sorted_atom_indices) + sorted_batch = batch.index_select(0, sorted_atom_indices) + + # 3. Build cell start/end offsets + cell_start = torch.full((num_cells,), -1, device=device, dtype=torch.int32) + cell_end = torch.empty((num_cells,), device=device, dtype=torch.int32) + grid_offsets = lambda meta: (triton.cdiv(n_atoms, meta["BLOCK"]),) + _fill_cell_offsets_kernel[grid_offsets]( + sorted_cell_indices, + cell_start, + cell_end, + n_atoms, + BLOCK=256, + ) + + # 4. Traverse cell list to generate neighbor pairs + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) + counter = torch.zeros((1,), device=device, dtype=torch.int32) + + grid_traverse = lambda meta: (triton.cdiv(n_atoms, meta["BLOCK_ATOMS"]),) + _traverse_cell_kernel[grid_traverse]( + sorted_positions, + sorted_batch, + sorted_atom_indices, + cell_start, + cell_end, + neighbors[0], + neighbors[1], + deltas, + distances, + counter, + sorted_positions.stride(0), + sorted_positions.stride(1), + sorted_batch.stride(0), + sorted_atom_indices.stride(0), + n_atoms, + num_cells, + cell_dim_x, + cell_dim_y, + cell_dim_z, + float(box_vectors[0, 0, 0]), + float(box_vectors[1, 1, 1]), + float(box_vectors[2, 2, 2]), + float(cutoff_upper), + float(cutoff_lower * cutoff_lower), + float(cutoff_upper * cutoff_upper), + use_periodic, + include_transpose, + loop, + max_num_pairs, + BLOCK_ATOMS=64, + BLOCK_NEI=64, + MAX_CELL_ITERS=16, + ) + + num_pairs = counter.to(torch.long) + ctx.save_for_backward(neighbors, deltas, distances) + ctx.num_atoms = n_atoms + return neighbors, deltas, distances, num_pairs diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index f0513f246..18852e8c3 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -44,6 +44,23 @@ def _validate_box(box_vectors: Tensor, cutoff_upper: float, n_batch: int) -> Ten return box_vectors +def _get_cell_dimensions( + box_vectors: Tensor, cutoff_upper: float +) -> Tuple[int, int, int]: + """Return (nx, ny, nz) cell counts following the CUDA cell list logic.""" + # box_vectors is either (3, 3) or (1, 3, 3) and already validated as diagonal + if box_vectors.dim() == 3: + box_diag = box_vectors[0] + else: + box_diag = box_vectors + nx = int(max(math.floor(float(box_diag[0, 0]) / cutoff_upper), 3)) + ny = int(max(math.floor(float(box_diag[1, 1]) / cutoff_upper), 3)) + nz = int(max(math.floor(float(box_diag[2, 2]) / cutoff_upper), 3)) + if nx > 1024 or ny > 1024 or nz > 1024: + raise RuntimeError("Too many cells in one dimension. Maximum is 1024") + return nx, ny, nz + + def _apply_pbc_torch(deltas: Tensor, box_for_pairs: Tensor) -> Tensor: # box_for_pairs: (num_pairs, 3, 3) scale3 = _round_nearest(deltas[:, 2] / box_for_pairs[:, 2, 2]) @@ -194,259 +211,7 @@ def _tl_round(x): return tl.where(x >= 0, tl.math.floor(x + 0.5), tl.math.ceil(x - 0.5)) -@triton.jit -def _neighbor_brute_kernel( - pos_ptr, - batch_ptr, - box_ptr, - neighbors0_ptr, - neighbors1_ptr, - deltas_ptr, - distances_ptr, - counter_ptr, - stride_pos_0: tl.constexpr, - stride_pos_1: tl.constexpr, - stride_batch: tl.constexpr, - stride_box_b: tl.constexpr, - stride_box_r: tl.constexpr, - stride_box_c: tl.constexpr, - n_atoms: tl.constexpr, - num_all_pairs: tl.constexpr, - use_periodic: tl.constexpr, - include_transpose: tl.constexpr, - loop: tl.constexpr, - max_pairs: tl.constexpr, - cutoff_lower: tl.constexpr, - cutoff_upper: tl.constexpr, - BLOCK: tl.constexpr, -): - """Brute-force neighbor list kernel using triangular indexing and atomic compaction. - - Uses triangular indexing to iterate over only n*(n-1)/2 pairs (or n*(n+1)/2 with loop), - achieving 100% thread utilization while maintaining block-level atomic compaction. - """ - pid = tl.program_id(axis=0) - start = pid * BLOCK - idx = start + tl.arange(0, BLOCK) - - valid = idx < num_all_pairs - - # Convert linear index to (i, j) using triangular formula (same as CUDA get_row) - # Do integer arithmetic first, only convert to float for sqrt - if loop: - # With self-loops: j <= i, num_pairs = n*(n+1)/2 - # row = floor((-1 + sqrt(1 + 8k)) / 2) - sqrt_arg = (1 + 8 * idx).to(tl.float32) - row_f = tl.math.floor((-1.0 + tl.math.sqrt(sqrt_arg)) * 0.5) - i = row_f.to(tl.int32) - # Handle floating-point edge case: if i*(i+1)/2 > idx, decrement i - i = tl.where(i * (i + 1) > 2 * idx, i - 1, i) - # col = k - row*(row+1)/2 - j = idx - (i * (i + 1)) // 2 - else: - # Without self-loops: j < i, num_pairs = n*(n-1)/2 - # row = floor((1 + sqrt(1 + 8k)) / 2) - sqrt_arg = (1 + 8 * idx).to(tl.float32) - row_f = tl.math.floor((1.0 + tl.math.sqrt(sqrt_arg)) * 0.5) - i = row_f.to(tl.int32) - # Handle floating-point edge case (same correction as CUDA) - i = tl.where(i * (i - 1) > 2 * idx, i - 1, i) - # col = k - row*(row-1)/2 - j = idx - (i * (i - 1)) // 2 - - # Validate indices: check bounds and triangular constraint - # Due to float precision, we may get invalid (i, j) pairs - valid = valid & (i >= 0) & (i < n_atoms) & (j >= 0) & (j <= i) - if not loop: - # For non-loop case, also require j < i (no self-loops) - valid = valid & (j < i) - - batch_i = tl.load(batch_ptr + i * stride_batch, mask=valid, other=0) - batch_j = tl.load(batch_ptr + j * stride_batch, mask=valid, other=0) - valid = valid & (batch_i == batch_j) - - pos_ix = tl.load( - pos_ptr + i * stride_pos_0 + 0 * stride_pos_1, mask=valid, other=0.0 - ) - pos_iy = tl.load( - pos_ptr + i * stride_pos_0 + 1 * stride_pos_1, mask=valid, other=0.0 - ) - pos_iz = tl.load( - pos_ptr + i * stride_pos_0 + 2 * stride_pos_1, mask=valid, other=0.0 - ) - pos_jx = tl.load( - pos_ptr + j * stride_pos_0 + 0 * stride_pos_1, mask=valid, other=0.0 - ) - pos_jy = tl.load( - pos_ptr + j * stride_pos_0 + 1 * stride_pos_1, mask=valid, other=0.0 - ) - pos_jz = tl.load( - pos_ptr + j * stride_pos_0 + 2 * stride_pos_1, mask=valid, other=0.0 - ) - - dx = pos_ix - pos_jx - dy = pos_iy - pos_jy - dz = pos_iz - pos_jz - - if use_periodic: - box_base = box_ptr + batch_i * stride_box_b - - b20 = tl.load( - box_base + 2 * stride_box_r + 0 * stride_box_c, mask=valid, other=0.0 - ) - b21 = tl.load( - box_base + 2 * stride_box_r + 1 * stride_box_c, mask=valid, other=0.0 - ) - b22 = tl.load( - box_base + 2 * stride_box_r + 2 * stride_box_c, mask=valid, other=1.0 - ) - b10 = tl.load( - box_base + 1 * stride_box_r + 0 * stride_box_c, mask=valid, other=0.0 - ) - b11 = tl.load( - box_base + 1 * stride_box_r + 1 * stride_box_c, mask=valid, other=1.0 - ) - b00 = tl.load( - box_base + 0 * stride_box_r + 0 * stride_box_c, mask=valid, other=1.0 - ) - - scale3 = _tl_round(dz / b22) - dx = dx - scale3 * b20 - dy = dy - scale3 * b21 - dz = dz - scale3 * b22 - scale2 = _tl_round(dy / b11) - dx = dx - scale2 * b10 - dy = dy - scale2 * b11 - scale1 = _tl_round(dx / b00) - dx = dx - scale1 * b00 - - dist2 = dx * dx + dy * dy + dz * dz - dist = tl.sqrt(dist2) - # Self-loops (i == j) are exempt from cutoff_lower since they have distance 0 - is_self_loop = i == j - valid = valid & (dist < cutoff_upper) & ((dist >= cutoff_lower) | is_self_loop) - - valid_int = valid.to(tl.int32) - local_idx = tl.cumsum(valid_int, axis=0) - 1 - total_pairs = tl.sum(valid_int, axis=0) - - # For transpose, don't count self-loops (i == j) - if include_transpose: - is_not_self_loop = i != j - valid_transpose = valid & is_not_self_loop - total_transpose = tl.sum(valid_transpose.to(tl.int32), axis=0) - total_out = total_pairs + total_transpose - else: - total_out = total_pairs - - has_work = total_out > 0 - start_idx = tl.atomic_add(counter_ptr, total_out, mask=has_work) - start_idx = tl.where(has_work, start_idx, 0) - start_idx = tl.broadcast_to(start_idx, local_idx.shape) - - write_idx = start_idx + local_idx - mask_store = valid & (write_idx < max_pairs) - tl.store(neighbors0_ptr + write_idx, i, mask=mask_store) - tl.store(neighbors1_ptr + write_idx, j, mask=mask_store) - tl.store(deltas_ptr + write_idx * 3 + 0, dx, mask=mask_store) - tl.store(deltas_ptr + write_idx * 3 + 1, dy, mask=mask_store) - tl.store(deltas_ptr + write_idx * 3 + 2, dz, mask=mask_store) - tl.store(distances_ptr + write_idx, dist, mask=mask_store) - - if include_transpose: - # Don't add transpose for self-loops (i == j) - is_not_self_loop = i != j - valid_transpose = valid & is_not_self_loop - valid_t_int = valid_transpose.to(tl.int32) - local_idx_t = tl.cumsum(valid_t_int, axis=0) - 1 - total_pairs_t = tl.sum(valid_t_int, axis=0) - - write_idx_t = start_idx + total_pairs + local_idx_t - mask_store_t = valid_transpose & (write_idx_t < max_pairs) - tl.store(neighbors0_ptr + write_idx_t, j, mask=mask_store_t) - tl.store(neighbors1_ptr + write_idx_t, i, mask=mask_store_t) - tl.store(deltas_ptr + write_idx_t * 3 + 0, -dx, mask=mask_store_t) - tl.store(deltas_ptr + write_idx_t * 3 + 1, -dy, mask=mask_store_t) - tl.store(deltas_ptr + write_idx_t * 3 + 2, -dz, mask=mask_store_t) - tl.store(distances_ptr + write_idx_t, dist, mask=mask_store_t) - - class TritonNeighborAutograd(torch.autograd.Function): - @staticmethod - def forward( # type: ignore[override] - ctx, - positions: Tensor, - batch: Tensor, - box_vectors: Tensor, - use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, - max_num_pairs: int, - loop: bool, - include_transpose: bool, - ): - device = positions.device - dtype = positions.dtype - n_atoms = positions.size(0) - - batch = batch.contiguous() - positions = positions.contiguous() - if use_periodic: - if box_vectors.dim() == 2: - box_vectors = box_vectors.unsqueeze(0) - elif box_vectors.dim() != 3: - raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') - box_vectors = box_vectors.to(device=device, dtype=dtype) - box_vectors = box_vectors.contiguous() - # Use stride 0 to broadcast single box to all batches (avoids CPU sync) - box_stride_0 = 0 if box_vectors.size(0) == 1 else box_vectors.stride(0) - - neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) - deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) - distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) - counter = torch.zeros((1,), device=device, dtype=torch.int32) - - # Compute triangular pair count: n*(n-1)/2 without self-loops, n*(n+1)/2 with - if loop: - num_all_pairs = n_atoms * (n_atoms + 1) // 2 - else: - num_all_pairs = n_atoms * (n_atoms - 1) // 2 - - # Grid covers only triangular pairs (not n²) - grid = lambda meta: (triton.cdiv(num_all_pairs, meta["BLOCK"]),) - - _neighbor_brute_kernel[grid]( - positions, - batch, - box_vectors if use_periodic else positions, # dummy pointer if not periodic - neighbors[0], - neighbors[1], - deltas, - distances, - counter, - positions.stride(0), - positions.stride(1), - batch.stride(0), - box_stride_0 if use_periodic else 0, - box_vectors.stride(1) if use_periodic else 0, - box_vectors.stride(2) if use_periodic else 0, - n_atoms, - num_all_pairs, - use_periodic, - include_transpose, - loop, - max_num_pairs, - cutoff_lower, - cutoff_upper, - BLOCK=256, - ) - - num_pairs = counter.to(torch.long) - - ctx.save_for_backward(neighbors, deltas, distances) - ctx.num_atoms = n_atoms - return neighbors, deltas, distances, num_pairs - @staticmethod def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] neighbors, edge_vec, edge_weight = ctx.saved_tensors @@ -502,6 +267,9 @@ def triton_neighbor_pairs( loop: bool, include_transpose: bool, ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: + from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd + from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd + if not _HAS_TRITON: raise RuntimeError("Triton is not available") if positions.device.type != "cuda": @@ -509,17 +277,43 @@ def triton_neighbor_pairs( if positions.dtype not in (torch.float32, torch.float64): raise RuntimeError("Unsupported dtype for Triton neighbor list") - return TritonNeighborAutograd.apply( - positions, - batch, - box_vectors, - use_periodic, - float(cutoff_lower), - float(cutoff_upper), - int(max_num_pairs), - bool(loop), - bool(include_transpose), - ) + if strategy == "brute": + return TritonBruteNeighborAutograd.apply( + positions, + batch, + box_vectors, + use_periodic, + float(cutoff_lower), + float(cutoff_upper), + int(max_num_pairs), + bool(loop), + bool(include_transpose), + ) + elif strategy == "cell": + return TritonCellNeighborAutograd.apply( + positions, + batch, + box_vectors, + use_periodic, + float(cutoff_lower), + float(cutoff_upper), + int(max_num_pairs), + bool(loop), + bool(include_transpose), + ) + elif strategy == "shared": + # return TritonSharedNeighborAutograd.apply( + # positions, + # batch, + # box_vectors, + # use_periodic, + # float(cutoff_lower), + # float(cutoff_upper), + # int(max_num_pairs), + # ) + pass + else: + raise ValueError(f"Unsupported strategy {strategy}") def torch_neighbor_pairs( @@ -534,6 +328,7 @@ def torch_neighbor_pairs( loop: bool, include_transpose: bool, ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: + # Strategy is ignored for torch version. We only need the brute-force fallback return _torch_neighbor_bruteforce( positions, batch, From c16651d6a7773825a2ed308a83743ae422bdf3d6 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 13:40:10 +0200 Subject: [PATCH 09/80] upd --- torchmdnet/extensions/triton_cell.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index bbe0dc3cf..87536e817 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -10,7 +10,7 @@ from torch import Tensor import torch -from .triton_neighbors import ( +from torchmdnet.extensions.triton_neighbors import ( _tl_round, TritonNeighborAutograd, _validate_box, From 8a05c87deb9909b8631d7d8d124c606f752dcc25 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 13:52:39 +0200 Subject: [PATCH 10/80] fixed all tests except one --- torchmdnet/extensions/triton_cell.py | 47 +++++++++++++++++++--------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 87536e817..0c3e4d8e0 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -146,6 +146,8 @@ def _traverse_cell_kernel( offs_nei = tl.arange(0, BLOCK_NEI) + counter_broadcast = counter_ptr + tl.zeros_like(i_idx) + for neigh in range(27): dx_cell = (neigh % 3) - 1 dy_cell = ((neigh // 3) % 3) - 1 @@ -210,15 +212,17 @@ def _traverse_cell_kernel( ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | (loop & is_self) ) - ori = tl.load( - sorted_index_ptr + i_idx * stride_sorted, mask=valid_pair, other=0 + ori_i = tl.load( + sorted_index_ptr + i_idx * stride_sorted, mask=mask_i, other=0 ) orj = tl.load( - sorted_index_ptr + j_idx * stride_sorted, mask=valid_pair, other=0 + sorted_index_ptr + j_idx * stride_sorted, mask=valid_j, other=0 ) + ori = ori_i - ni = tl.max(ori, orj) - nj = tl.min(ori, orj) + # Elementwise max/min; tl.max would perform a reduction over an axis + ni = tl.maximum(ori, orj) + nj = tl.minimum(ori, orj) sign = tl.where(ni == ori, 1.0, -1.0).to(dx.dtype) dx_out = dx * sign @@ -226,7 +230,13 @@ def _traverse_cell_kernel( dz_out = dz * sign dist = tl.sqrt(dist2) - out_idx = tl.atomic_add(counter_ptr, 1, mask=valid_pair) + # Reserve contiguous slots for valid pairs in this block (BLOCK_ATOMS=1 -> 1D) + valid_pair_int = valid_pair.to(tl.int32) + total_pairs = tl.sum(valid_pair_int) + base_idx = tl.atomic_add(counter_ptr, total_pairs, mask=total_pairs > 0) + local_idx = tl.cumsum(valid_pair_int, axis=0) - 1 + out_idx = base_idx + local_idx + mask_store = valid_pair & (out_idx < max_pairs) tl.store(neighbors0_ptr + out_idx, ni, mask=mask_store) tl.store(neighbors1_ptr + out_idx, nj, mask=mask_store) @@ -237,7 +247,14 @@ def _traverse_cell_kernel( if include_transpose: valid_t = valid_pair & (ni != nj) - out_idx_t = tl.atomic_add(counter_ptr, 1, mask=valid_t) + valid_t_int = valid_t.to(tl.int32) + total_pairs_t = tl.sum(valid_t_int) + base_idx_t = tl.atomic_add( + counter_ptr, total_pairs_t, mask=total_pairs_t > 0 + ) + local_idx_t = tl.cumsum(valid_t_int, axis=0) - 1 + out_idx_t = base_idx_t + local_idx_t + mask_store_t = valid_t & (out_idx_t < max_pairs) tl.store(neighbors0_ptr + out_idx_t, nj, mask=mask_store_t) tl.store(neighbors1_ptr + out_idx_t, ni, mask=mask_store_t) @@ -278,6 +295,8 @@ def forward( # type: ignore[override] # Ensure box is well-formed and diagonal (cell list only supports rectangular boxes) box_vectors = _validate_box(box_vectors, float(cutoff_upper), 1) box_vectors = box_vectors.to(device=device, dtype=dtype).contiguous() + # CUDA version squeezes (1, 3, 3) to (3, 3); do the same to avoid OOB indexing + box_diag = box_vectors[0] if box_vectors.dim() == 3 else box_vectors # Cell grid dimensions (host math to match CUDA getCellDimensions) cell_dim_x, cell_dim_y, cell_dim_z = _get_cell_dimensions( @@ -297,9 +316,9 @@ def forward( # type: ignore[override] positions.stride(0), positions.stride(1), n_atoms, - float(box_vectors[0, 0, 0]), - float(box_vectors[1, 1, 1]), - float(box_vectors[2, 2, 2]), + float(box_diag[0, 0]), + float(box_diag[1, 1]), + float(box_diag[2, 2]), float(cutoff_upper), cell_dim_x, cell_dim_y, @@ -352,9 +371,9 @@ def forward( # type: ignore[override] cell_dim_x, cell_dim_y, cell_dim_z, - float(box_vectors[0, 0, 0]), - float(box_vectors[1, 1, 1]), - float(box_vectors[2, 2, 2]), + float(box_diag[0, 0]), + float(box_diag[1, 1]), + float(box_diag[2, 2]), float(cutoff_upper), float(cutoff_lower * cutoff_lower), float(cutoff_upper * cutoff_upper), @@ -362,7 +381,7 @@ def forward( # type: ignore[override] include_transpose, loop, max_num_pairs, - BLOCK_ATOMS=64, + BLOCK_ATOMS=1, BLOCK_NEI=64, MAX_CELL_ITERS=16, ) From ffa7b4a75e5bff6e1f03db19f7a821e1c6104265 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 13:56:18 +0200 Subject: [PATCH 11/80] added working cell implementation --- tests/test_neighbors.py | 27 +++++++++++++++++++-------- torchmdnet/extensions/triton_cell.py | 6 ++++-- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/tests/test_neighbors.py b/tests/test_neighbors.py index 1099db7f6..fa3e06046 100644 --- a/tests/test_neighbors.py +++ b/tests/test_neighbors.py @@ -71,7 +71,10 @@ def compute_ref_neighbors(pos, batch, loop, include_transpose, cutoff, box_vecto return ref_neighbors, ref_distance_vecs, ref_distances -@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) +@pytest.mark.parametrize( + ("device", "strategy"), + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], +) @pytest.mark.parametrize("n_batches", [1, 2, 3, 4, 128]) @pytest.mark.parametrize("cutoff", [0.1, 1.0, 3.0, 4.9]) @pytest.mark.parametrize("loop", [True, False]) @@ -144,7 +147,10 @@ def test_neighbors( assert np.allclose(distance_vecs, ref_distance_vecs) -@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) +@pytest.mark.parametrize( + ("device", "strategy"), + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], +) @pytest.mark.parametrize("loop", [True, False]) @pytest.mark.parametrize("include_transpose", [True, False]) @pytest.mark.parametrize("dtype", [torch.float32, torch.float64]) @@ -253,7 +259,10 @@ def test_neighbor_grads( assert np.allclose(ref_pos_grad_sorted, pos_grad_sorted, atol=1e-8, rtol=1e-5) -@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) +@pytest.mark.parametrize( + ("device", "strategy"), + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], +) @pytest.mark.parametrize("loop", [True, False]) @pytest.mark.parametrize("include_transpose", [True, False]) @pytest.mark.parametrize("num_atoms", [1, 2, 10]) @@ -305,7 +314,7 @@ def test_neighbor_autograds( ) -@pytest.mark.parametrize("strategy", ["brute"]) +@pytest.mark.parametrize("strategy", ["brute", "cell", "shared"]) @pytest.mark.parametrize("n_batches", [1, 2, 3, 4]) def test_large_size(strategy, n_batches): device = "cuda" @@ -364,7 +373,7 @@ def test_large_size(strategy, n_batches): @pytest.mark.parametrize( ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute")], + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], ) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @@ -435,7 +444,7 @@ def test_jit_script_compatible( @pytest.mark.parametrize("device", ["cuda"]) -@pytest.mark.parametrize("strategy", ["brute"]) +@pytest.mark.parametrize("strategy", ["brute", "shared", "cell"]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @pytest.mark.parametrize("loop", [True, False]) @@ -518,7 +527,7 @@ def test_cuda_graph_compatible_forward( @pytest.mark.parametrize("device", ["cuda"]) -@pytest.mark.parametrize("strategy", ["brute"]) +@pytest.mark.parametrize("strategy", ["brute", "shared", "cell"]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @pytest.mark.parametrize("loop", [True, False]) @@ -591,7 +600,9 @@ def test_cuda_graph_compatible_backward( torch.cuda.synchronize() -@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) +@pytest.mark.parametrize( + ("device", "strategy"), [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared")] +) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("use_forward", [True, False]) def test_per_batch_box(device, strategy, n_batches, use_forward): diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 0c3e4d8e0..feb5c93ab 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -294,8 +294,10 @@ def forward( # type: ignore[override] # Ensure box is well-formed and diagonal (cell list only supports rectangular boxes) box_vectors = _validate_box(box_vectors, float(cutoff_upper), 1) - box_vectors = box_vectors.to(device=device, dtype=dtype).contiguous() - # CUDA version squeezes (1, 3, 3) to (3, 3); do the same to avoid OOB indexing + # Keep box on host to avoid H2D during CUDA graph capture; only scalars are used in kernels + box_vectors = box_vectors.to( + dtype=dtype, device=box_vectors.device + ).contiguous() box_diag = box_vectors[0] if box_vectors.dim() == 3 else box_vectors # Cell grid dimensions (host math to match CUDA getCellDimensions) From 161ba94813421067b42bf58dcd881dab4cc5abfc Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 14:40:10 +0200 Subject: [PATCH 12/80] working with larger block_atoms --- torchmdnet/extensions/triton_cell.py | 82 ++++++++++++++++------------ 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index feb5c93ab..4bc221efe 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -146,8 +146,6 @@ def _traverse_cell_kernel( offs_nei = tl.arange(0, BLOCK_NEI) - counter_broadcast = counter_ptr + tl.zeros_like(i_idx) - for neigh in range(27): dx_cell = (neigh % 3) - 1 dy_cell = ((neigh // 3) % 3) - 1 @@ -168,18 +166,23 @@ def _traverse_cell_kernel( start = tl.load(cell_start_ptr + neighbor_cell, mask=mask_i, other=-1) end = tl.load(cell_end_ptr + neighbor_cell, mask=mask_i, other=0) has_atoms = start != -1 + start = start[:, None] + end = end[:, None] + has_atoms = has_atoms[:, None] for it in range(MAX_CELL_ITERS): base = start + it * BLOCK_NEI - j_idx = base + offs_nei - valid_j = mask_i & has_atoms & (j_idx < end) + j_idx = base + offs_nei[None, :] + valid_j = mask_i[:, None] & has_atoms & (j_idx < end) if loop: - valid_j = valid_j & ((j_idx < i_idx) | (j_idx == i_idx)) + valid_j = valid_j & ( + (j_idx < i_idx[:, None]) | (j_idx == i_idx[:, None]) + ) else: - valid_j = valid_j & (j_idx < i_idx) + valid_j = valid_j & (j_idx < i_idx[:, None]) batch_j = tl.load(batch_ptr + j_idx * stride_batch, mask=valid_j, other=0) - valid_j = valid_j & (batch_j == batch_i) + valid_j = valid_j & (batch_j == batch_i[:, None]) pos_jx = tl.load( pos_ptr + j_idx * stride_pos_0 + 0 * stride_pos_1, @@ -197,9 +200,9 @@ def _traverse_cell_kernel( other=0.0, ) - dx = pos_ix - pos_jx - dy = pos_iy - pos_jy - dz = pos_iz - pos_jz + dx = pos_ix[:, None] - pos_jx + dy = pos_iy[:, None] - pos_jy + dz = pos_iz[:, None] - pos_jz if use_periodic: dx = dx - _tl_round(dx / box_x) * box_x @@ -207,7 +210,7 @@ def _traverse_cell_kernel( dz = dz - _tl_round(dz / box_z) * box_z dist2 = dx * dx + dy * dy + dz * dz - is_self = j_idx == i_idx + is_self = j_idx == i_idx[:, None] valid_pair = valid_j & ( ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | (loop & is_self) ) @@ -218,7 +221,7 @@ def _traverse_cell_kernel( orj = tl.load( sorted_index_ptr + j_idx * stride_sorted, mask=valid_j, other=0 ) - ori = ori_i + ori = ori_i[:, None] + tl.zeros((BLOCK_NEI,), dtype=ori_i.dtype) # Elementwise max/min; tl.max would perform a reduction over an axis ni = tl.maximum(ori, orj) @@ -230,38 +233,47 @@ def _traverse_cell_kernel( dz_out = dz * sign dist = tl.sqrt(dist2) - # Reserve contiguous slots for valid pairs in this block (BLOCK_ATOMS=1 -> 1D) - valid_pair_int = valid_pair.to(tl.int32) + # Flatten per-atom neighbor results to 1D for contiguous writes + valid_pair_flat = tl.reshape(valid_pair, (BLOCK_ATOMS * BLOCK_NEI,)) + valid_pair_int = valid_pair_flat.to(tl.int32) total_pairs = tl.sum(valid_pair_int) + prefix = tl.cumsum(valid_pair_int, axis=0) - 1 base_idx = tl.atomic_add(counter_ptr, total_pairs, mask=total_pairs > 0) - local_idx = tl.cumsum(valid_pair_int, axis=0) - 1 - out_idx = base_idx + local_idx - - mask_store = valid_pair & (out_idx < max_pairs) - tl.store(neighbors0_ptr + out_idx, ni, mask=mask_store) - tl.store(neighbors1_ptr + out_idx, nj, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 0, dx_out, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 1, dy_out, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 2, dz_out, mask=mask_store) - tl.store(distances_ptr + out_idx, dist, mask=mask_store) + out_idx = base_idx + prefix + + ni_flat = tl.reshape(ni, (BLOCK_ATOMS * BLOCK_NEI,)) + nj_flat = tl.reshape(nj, (BLOCK_ATOMS * BLOCK_NEI,)) + dx_flat = tl.reshape(dx_out, (BLOCK_ATOMS * BLOCK_NEI,)) + dy_flat = tl.reshape(dy_out, (BLOCK_ATOMS * BLOCK_NEI,)) + dz_flat = tl.reshape(dz_out, (BLOCK_ATOMS * BLOCK_NEI,)) + dist_flat = tl.reshape(dist, (BLOCK_ATOMS * BLOCK_NEI,)) + + mask_store = valid_pair_flat & (out_idx < max_pairs) + tl.store(neighbors0_ptr + out_idx, ni_flat, mask=mask_store) + tl.store(neighbors1_ptr + out_idx, nj_flat, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 0, dx_flat, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 1, dy_flat, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 2, dz_flat, mask=mask_store) + tl.store(distances_ptr + out_idx, dist_flat, mask=mask_store) if include_transpose: valid_t = valid_pair & (ni != nj) - valid_t_int = valid_t.to(tl.int32) + valid_t_flat = tl.reshape(valid_t, (BLOCK_ATOMS * BLOCK_NEI,)) + valid_t_int = valid_t_flat.to(tl.int32) total_pairs_t = tl.sum(valid_t_int) + prefix_t = tl.cumsum(valid_t_int, axis=0) - 1 base_idx_t = tl.atomic_add( counter_ptr, total_pairs_t, mask=total_pairs_t > 0 ) - local_idx_t = tl.cumsum(valid_t_int, axis=0) - 1 - out_idx_t = base_idx_t + local_idx_t + out_idx_t = base_idx_t + prefix_t - mask_store_t = valid_t & (out_idx_t < max_pairs) - tl.store(neighbors0_ptr + out_idx_t, nj, mask=mask_store_t) - tl.store(neighbors1_ptr + out_idx_t, ni, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_out, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_out, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_out, mask=mask_store_t) - tl.store(distances_ptr + out_idx_t, dist, mask=mask_store_t) + mask_store_t = valid_t_flat & (out_idx_t < max_pairs) + tl.store(neighbors0_ptr + out_idx_t, nj_flat, mask=mask_store_t) + tl.store(neighbors1_ptr + out_idx_t, ni_flat, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_flat, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_flat, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_flat, mask=mask_store_t) + tl.store(distances_ptr + out_idx_t, dist_flat, mask=mask_store_t) class TritonCellNeighborAutograd(TritonNeighborAutograd): @@ -383,7 +395,7 @@ def forward( # type: ignore[override] include_transpose, loop, max_num_pairs, - BLOCK_ATOMS=1, + BLOCK_ATOMS=32, BLOCK_NEI=64, MAX_CELL_ITERS=16, ) From 044edff7395d6d2caf2491312fdc7801acf8cbd1 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 15:01:31 +0200 Subject: [PATCH 13/80] more efficient cell --- torchmdnet/extensions/triton_cell.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 4bc221efe..93c5f77bd 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -169,11 +169,14 @@ def _traverse_cell_kernel( start = start[:, None] end = end[:, None] has_atoms = has_atoms[:, None] + cell_len = tl.maximum(end - start, 0) + max_iters = tl.cdiv(cell_len + BLOCK_NEI - 1, BLOCK_NEI) for it in range(MAX_CELL_ITERS): + active_iter = it < max_iters base = start + it * BLOCK_NEI j_idx = base + offs_nei[None, :] - valid_j = mask_i[:, None] & has_atoms & (j_idx < end) + valid_j = mask_i[:, None] & has_atoms & active_iter & (j_idx < end) if loop: valid_j = valid_j & ( (j_idx < i_idx[:, None]) | (j_idx == i_idx[:, None]) @@ -396,8 +399,8 @@ def forward( # type: ignore[override] loop, max_num_pairs, BLOCK_ATOMS=32, - BLOCK_NEI=64, - MAX_CELL_ITERS=16, + BLOCK_NEI=32, + MAX_CELL_ITERS=64, ) num_pairs = counter.to(torch.long) From 621fee1366cd432f42d67d5d151d2816d43d975e Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 15:23:53 +0200 Subject: [PATCH 14/80] update the benchmark suite --- benchmarks/neighbors.py | 73 ++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 49 deletions(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index 2db969d92..596f81b51 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -178,17 +178,16 @@ def benchmark_neighbors( if __name__ == "__main__": + strategies = ["distance", "brute"] # , "cell", "shared"] n_particles = 32767 mean_num_neighbors = min(n_particles, 64) density = 0.8 print( - "Benchmarking neighbor list generation for {} particles with {} neighbors on average".format( - n_particles, mean_num_neighbors - ) + f"Benchmarking neighbor list generation for {n_particles} particles with {mean_num_neighbors} neighbors on average" ) results = {} batch_sizes = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] - for strategy in ["shared", "brute", "cell", "distance"]: + for strategy in strategies: for n_batches in batch_sizes: time = benchmark_neighbors( device="cuda", @@ -200,33 +199,22 @@ def benchmark_neighbors( ) # Store results in a dictionary results[strategy, n_batches] = time + print("Summary") print("-------") - print( - "{:<10} {:<21} {:<21} {:<18} {:<10}".format( - "Batch size", "Shared(ms)", "Brute(ms)", "Cell(ms)", "Distance(ms)" - ) - ) - print( - "{:<10} {:<21} {:<21} {:<18} {:<10}".format( - "----------", "---------", "---------", "---------", "---------" - ) - ) + headers = "Batch size " + for strategy in strategies: + headers += f"{strategy.capitalize()+'(ms)':<21}" + print(headers) + print("-" * len(headers)) # Print a column per strategy, show speedup over Distance in parenthesis for n_batches in batch_sizes: base = results["distance", n_batches] - print( - "{:<10} {:<4.2f} x{:<14.2f} {:<4.2f} x{:<14.2f} {:<4.2f} x{:<14.2f} {:<10.2f}".format( - n_batches, - results["shared", n_batches], - base / results["shared", n_batches], - results["brute", n_batches], - base / results["brute", n_batches], - results["cell", n_batches], - base / results["cell", n_batches], - results["distance", n_batches], - ) - ) + row = f"{n_batches:<10}" + for strategy in strategies: + row += f"{results[strategy, n_batches]:<4.2f} x{base / results[strategy, n_batches]:<14.2f} " + print(row) + n_particles_list = np.power(2, np.arange(8, 18)) for n_batches in [1, 2, 32, 64]: @@ -236,7 +224,7 @@ def benchmark_neighbors( ) ) results = {} - for strategy in ["shared", "brute", "cell", "distance"]: + for strategy in strategies: for n_particles in n_particles_list: mean_num_neighbors = min(n_particles, 64) time = benchmark_neighbors( @@ -251,16 +239,11 @@ def benchmark_neighbors( results[strategy, n_particles] = time print("Summary") print("-------") - print( - "{:<10} {:<21} {:<21} {:<18} {:<10}".format( - "N Particles", "Shared(ms)", "Brute(ms)", "Cell(ms)", "Distance(ms)" - ) - ) - print( - "{:<10} {:<21} {:<21} {:<18} {:<10}".format( - "----------", "---------", "---------", "---------", "---------" - ) - ) + headers = "N Particles " + for strategy in strategies: + headers += f"{strategy.capitalize()}(ms) " + print(headers) + print("-" * len(headers)) # Print a column per strategy, show speedup over Distance in parenthesis for n_particles in n_particles_list: base = results["distance", n_particles] @@ -268,15 +251,7 @@ def benchmark_neighbors( if n_particles > 32000: results["brute", n_particles] = 0 brute_speedup = 0 - print( - "{:<10} {:<4.2f} x{:<14.2f} {:<4.2f} x{:<14.2f} {:<4.2f} x{:<14.2f} {:<10.2f}".format( - n_particles, - results["shared", n_particles], - base / results["shared", n_particles], - results["brute", n_particles], - brute_speedup, - results["cell", n_particles], - base / results["cell", n_particles], - results["distance", n_particles], - ) - ) + row = f"{n_particles:<10}" + for strategy in strategies: + row += f"{results[strategy, n_particles]:<4.2f} x{base / results[strategy, n_particles]:<14.2f} " + print(row) From 98a45a9eef002a5f11fb0b23cc6c2b1e0bf074c2 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 15:50:51 +0200 Subject: [PATCH 15/80] shared triton implementation --- torchmdnet/extensions/triton_neighbors.py | 22 +- torchmdnet/extensions/triton_shared.py | 256 ++++++++++++++++++++++ 2 files changed, 268 insertions(+), 10 deletions(-) create mode 100644 torchmdnet/extensions/triton_shared.py diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index 18852e8c3..b94283c06 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -269,6 +269,7 @@ def triton_neighbor_pairs( ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd + from torchmdnet.extensions.triton_shared import TritonSharedNeighborAutograd if not _HAS_TRITON: raise RuntimeError("Triton is not available") @@ -302,16 +303,17 @@ def triton_neighbor_pairs( bool(include_transpose), ) elif strategy == "shared": - # return TritonSharedNeighborAutograd.apply( - # positions, - # batch, - # box_vectors, - # use_periodic, - # float(cutoff_lower), - # float(cutoff_upper), - # int(max_num_pairs), - # ) - pass + return TritonSharedNeighborAutograd.apply( + positions, + batch, + box_vectors, + use_periodic, + float(cutoff_lower), + float(cutoff_upper), + int(max_num_pairs), + bool(loop), + bool(include_transpose), + ) else: raise ValueError(f"Unsupported strategy {strategy}") diff --git a/torchmdnet/extensions/triton_shared.py b/torchmdnet/extensions/triton_shared.py new file mode 100644 index 000000000..6d7506407 --- /dev/null +++ b/torchmdnet/extensions/triton_shared.py @@ -0,0 +1,256 @@ +try: + import triton + import triton.language as tl + + _HAS_TRITON = True +except Exception: + triton = None + tl = None + _HAS_TRITON = False + +from torch import Tensor +import torch +from torchmdnet.extensions.triton_neighbors import _tl_round, TritonNeighborAutograd + + +@triton.jit +def _neighbor_shared_kernel( + pos_ptr, + batch_ptr, + box_ptr, + neighbors0_ptr, + neighbors1_ptr, + deltas_ptr, + distances_ptr, + counter_ptr, + stride_pos_0: tl.constexpr, + stride_pos_1: tl.constexpr, + stride_batch: tl.constexpr, + stride_box_b: tl.constexpr, + stride_box_r: tl.constexpr, + stride_box_c: tl.constexpr, + n_atoms: tl.constexpr, + use_periodic: tl.constexpr, + include_transpose: tl.constexpr, + loop: tl.constexpr, + max_pairs: tl.constexpr, + cutoff_lower2: tl.constexpr, + cutoff_upper2: tl.constexpr, + BLOCK: tl.constexpr, +): + """Shared-memory style neighbor construction: tile j, one block of i atoms.""" + pid_i = tl.program_id(axis=0) + pid_tile = tl.program_id(axis=1) + + i_idx = pid_i * BLOCK + tl.arange(0, BLOCK) + j_idx = pid_tile * BLOCK + tl.arange(0, BLOCK) + + mask_i = i_idx < n_atoms + mask_j = j_idx < n_atoms + + batch_i = tl.load(batch_ptr + i_idx * stride_batch, mask=mask_i, other=0) + batch_j = tl.load(batch_ptr + j_idx * stride_batch, mask=mask_j, other=0) + + pos_ix = tl.load( + pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1, mask=mask_i, other=0.0 + ) + pos_iy = tl.load( + pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1, mask=mask_i, other=0.0 + ) + pos_iz = tl.load( + pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1, mask=mask_i, other=0.0 + ) + + pos_jx = tl.load( + pos_ptr + j_idx * stride_pos_0 + 0 * stride_pos_1, mask=mask_j, other=0.0 + ) + pos_jy = tl.load( + pos_ptr + j_idx * stride_pos_0 + 1 * stride_pos_1, mask=mask_j, other=0.0 + ) + pos_jz = tl.load( + pos_ptr + j_idx * stride_pos_0 + 2 * stride_pos_1, mask=mask_j, other=0.0 + ) + + # Pairwise masks (BLOCK, BLOCK) + mask_pair = mask_i[:, None] & mask_j[None, :] + if loop: + mask_pair = mask_pair & ( + (j_idx[None, :] < i_idx[:, None]) | (j_idx[None, :] == i_idx[:, None]) + ) + else: + mask_pair = mask_pair & (j_idx[None, :] < i_idx[:, None]) + mask_pair = mask_pair & (batch_i[:, None] == batch_j[None, :]) + + dx = pos_ix[:, None] - pos_jx[None, :] + dy = pos_iy[:, None] - pos_jy[None, :] + dz = pos_iz[:, None] - pos_jz[None, :] + + if use_periodic: + box_base = box_ptr + batch_i * stride_box_b + b20 = tl.load( + box_base + 2 * stride_box_r + 0 * stride_box_c, mask=mask_i, other=0.0 + ) + b21 = tl.load( + box_base + 2 * stride_box_r + 1 * stride_box_c, mask=mask_i, other=0.0 + ) + b22 = tl.load( + box_base + 2 * stride_box_r + 2 * stride_box_c, mask=mask_i, other=1.0 + ) + b10 = tl.load( + box_base + 1 * stride_box_r + 0 * stride_box_c, mask=mask_i, other=0.0 + ) + b11 = tl.load( + box_base + 1 * stride_box_r + 1 * stride_box_c, mask=mask_i, other=1.0 + ) + b00 = tl.load( + box_base + 0 * stride_box_r + 0 * stride_box_c, mask=mask_i, other=1.0 + ) + + scale3 = _tl_round(dz / b22[:, None]) + dx = dx - scale3 * b20[:, None] + dy = dy - scale3 * b21[:, None] + dz = dz - scale3 * b22[:, None] + + scale2 = _tl_round(dy / b11[:, None]) + dx = dx - scale2 * b10[:, None] + dy = dy - scale2 * b11[:, None] + + scale1 = _tl_round(dx / b00[:, None]) + dx = dx - scale1 * b00[:, None] + + dist2 = dx * dx + dy * dy + dz * dz + valid_pair = mask_pair & (dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2) + + i_mat = i_idx[:, None] + tl.zeros((1, BLOCK), dtype=i_idx.dtype) + j_mat = tl.zeros((BLOCK, 1), dtype=j_idx.dtype) + j_idx[None, :] + + dx_flat = tl.reshape(dx, (BLOCK * BLOCK,)) + dy_flat = tl.reshape(dy, (BLOCK * BLOCK,)) + dz_flat = tl.reshape(dz, (BLOCK * BLOCK,)) + dist_flat = tl.reshape(tl.sqrt(dist2), (BLOCK * BLOCK,)) + + i_flat = tl.reshape(i_mat, (BLOCK * BLOCK,)) + j_flat = tl.reshape(j_mat, (BLOCK * BLOCK,)) + + valid_flat = tl.reshape(valid_pair, (BLOCK * BLOCK,)) + valid_int = valid_flat.to(tl.int32) + total_pairs = tl.sum(valid_int) + + if include_transpose: + valid_t_flat = valid_flat & (i_flat != j_flat) + valid_t_int = valid_t_flat.to(tl.int32) + total_transpose = tl.sum(valid_t_int) + total_out = total_pairs + total_transpose + else: + total_out = total_pairs + + has_out = total_out > 0 + start_idx = tl.atomic_add(counter_ptr, total_out, mask=has_out) + start_idx = tl.where(has_out, start_idx, 0) + start_idx = tl.broadcast_to(start_idx, valid_flat.shape) + + prefix = tl.cumsum(valid_int, axis=0) - 1 + out_idx = start_idx + prefix + + mask_store = valid_flat & (out_idx < max_pairs) + tl.store(neighbors0_ptr + out_idx, i_flat, mask=mask_store) + tl.store(neighbors1_ptr + out_idx, j_flat, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 0, dx_flat, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 1, dy_flat, mask=mask_store) + tl.store(deltas_ptr + out_idx * 3 + 2, dz_flat, mask=mask_store) + tl.store(distances_ptr + out_idx, dist_flat, mask=mask_store) + + if include_transpose: + prefix_t = tl.cumsum(valid_t_int, axis=0) - 1 + out_idx_t = start_idx + total_pairs + prefix_t + + mask_store_t = valid_t_flat & (out_idx_t < max_pairs) + tl.store(neighbors0_ptr + out_idx_t, j_flat, mask=mask_store_t) + tl.store(neighbors1_ptr + out_idx_t, i_flat, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_flat, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_flat, mask=mask_store_t) + tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_flat, mask=mask_store_t) + tl.store(distances_ptr + out_idx_t, dist_flat, mask=mask_store_t) + + +class TritonSharedNeighborAutograd(TritonNeighborAutograd): + @staticmethod + def forward( # type: ignore[override] + ctx, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, + ): + if not _HAS_TRITON: + raise RuntimeError("Triton is not available") + + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + if positions.dim() != 2 or positions.size(1) != 3: + raise ValueError('Expected "positions" to have shape (N, 3)') + if batch.dim() != 1 or batch.size(0) != n_atoms: + raise ValueError('Expected "batch" to have shape (N,)') + if max_num_pairs <= 0: + raise ValueError('Expected "max_num_pairs" to be positive') + + batch = batch.contiguous() + positions = positions.contiguous() + + if use_periodic: + if box_vectors.dim() == 2: + box_vectors = box_vectors.unsqueeze(0) + elif box_vectors.dim() != 3: + raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') + box_vectors = box_vectors.to(device=device, dtype=dtype).contiguous() + box_stride_0 = 0 if box_vectors.size(0) == 1 else box_vectors.stride(0) + else: + # Dummy tensor to avoid conditional code paths in the kernel signature. + box_vectors = positions + box_stride_0 = 0 + + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) + counter = torch.zeros((1,), device=device, dtype=torch.int32) + + BLOCK = 64 + num_blocks = max((n_atoms + BLOCK - 1) // BLOCK, 1) + grid = (num_blocks, num_blocks) + + _neighbor_shared_kernel[grid]( + positions, + batch, + box_vectors, + neighbors[0], + neighbors[1], + deltas, + distances, + counter, + positions.stride(0), + positions.stride(1), + batch.stride(0), + box_stride_0, + box_vectors.stride(1) if use_periodic else 0, + box_vectors.stride(2) if use_periodic else 0, + n_atoms, + use_periodic, + include_transpose, + loop, + max_num_pairs, + float(cutoff_lower * cutoff_lower), + float(cutoff_upper * cutoff_upper), + BLOCK=BLOCK, + ) + + num_pairs = counter.to(torch.long) + ctx.save_for_backward(neighbors, deltas, distances) + ctx.num_atoms = n_atoms + return neighbors, deltas, distances, num_pairs From c1a59570b7c7e9be13135e35e79a155b22aa0e47 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Fri, 12 Dec 2025 17:00:14 +0200 Subject: [PATCH 16/80] update issue in benchmark --- benchmarks/neighbors.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index 596f81b51..a9d8d8f8a 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -120,6 +120,8 @@ def benchmark_neighbors( n_atoms_per_batch[i] -= 1 difference += 1 lbox = np.cbrt(num_particles / density) + lbox = max(lbox, 2 * cutoff + 0.01) + assert lbox > 2 * cutoff, "Box size must be greater than 2*cutoff" batch = torch.repeat_interleave( torch.arange(n_batches, dtype=torch.int64), n_atoms_per_batch ).to(device) @@ -178,7 +180,7 @@ def benchmark_neighbors( if __name__ == "__main__": - strategies = ["distance", "brute"] # , "cell", "shared"] + strategies = ["distance", "brute", "cell", "shared"] n_particles = 32767 mean_num_neighbors = min(n_particles, 64) density = 0.8 From eca967d824c7ab0d7d3f87a2b18066f55f56ba67 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 11:31:14 +0200 Subject: [PATCH 17/80] cleanup --- torchmdnet/extensions/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchmdnet/extensions/__init__.py b/torchmdnet/extensions/__init__.py index f474bff89..c618f93cb 100644 --- a/torchmdnet/extensions/__init__.py +++ b/torchmdnet/extensions/__init__.py @@ -9,4 +9,4 @@ import torch from pathlib import Path -from . import torchmdnet_extensions, ops +from . import ops From eea283194d7c7d4e6cf799744eba6699894be217 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 11:31:30 +0200 Subject: [PATCH 18/80] cleanup --- torchmdnet/extensions/ops.py | 38 ------------------------------------ 1 file changed, 38 deletions(-) diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index 9dd44c00e..5a77b8f7e 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -118,41 +118,3 @@ def get_neighbor_pairs_kernel( loop, include_transpose, ) - - -# Registers a FakeTensor kernel (aka "meta kernel", "abstract impl") -# that describes what the properties of the output Tensor are given -# the properties of the input Tensor. The FakeTensor kernel is necessary -# for the op to work performantly with torch.compile. -@torch.library.register_fake("torchmdnet_extensions::get_neighbor_pairs_bkwd") -def _( - grad_edge_vec: Tensor, - grad_edge_weight: Tensor, - edge_index: Tensor, - edge_vec: Tensor, - edge_weight: Tensor, - num_atoms: int, -): - return torch.zeros((num_atoms, 3), dtype=edge_vec.dtype, device=edge_vec.device) - - -@torch.library.register_fake("torchmdnet_extensions::get_neighbor_pairs_fwd") -def _( - strategy: str, - positions: Tensor, - batch: Tensor, - box_vectors: Tensor, - use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, - max_num_pairs: int, - loop: bool, - include_transpose: bool, -) -> Tuple[Tensor, Tensor, Tensor, Tensor]: - """Returns empty vectors with the correct shape for the output of get_neighbor_pairs_kernel.""" - size = max_num_pairs - edge_index = torch.empty((2, size), dtype=torch.long, device=positions.device) - edge_distance = torch.empty((size,), dtype=positions.dtype, device=positions.device) - edge_vec = torch.empty((size, 3), dtype=positions.dtype, device=positions.device) - num_pairs = torch.empty((1,), dtype=torch.long, device=positions.device) - return edge_index, edge_vec, edge_distance, num_pairs From dd021d7be05a98b4fea944df34c2b5807de3e8d6 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 11:31:44 +0200 Subject: [PATCH 19/80] fix benchmark --- benchmarks/neighbors.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index a9d8d8f8a..e494f7d7f 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -250,9 +250,9 @@ def benchmark_neighbors( for n_particles in n_particles_list: base = results["distance", n_particles] brute_speedup = base / results["brute", n_particles] - if n_particles > 32000: - results["brute", n_particles] = 0 - brute_speedup = 0 + # if n_particles > 32000: + # results["brute", n_particles] = 0 + # brute_speedup = 0 row = f"{n_particles:<10}" for strategy in strategies: row += f"{results[strategy, n_particles]:<4.2f} x{base / results[strategy, n_particles]:<14.2f} " From 40e1fc211b2b68f1ccc7c783e400e0ba3bbac397 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 11:32:04 +0200 Subject: [PATCH 20/80] cell implementation closer to CUDA --- torchmdnet/extensions/triton_cell.py | 219 ++++++++++++--------------- 1 file changed, 94 insertions(+), 125 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 93c5f77bd..9c19b19e1 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -113,27 +113,25 @@ def _traverse_cell_kernel( include_transpose: tl.constexpr, loop: tl.constexpr, max_pairs: tl.constexpr, - BLOCK_ATOMS: tl.constexpr, - BLOCK_NEI: tl.constexpr, MAX_CELL_ITERS: tl.constexpr, ): - pid = tl.program_id(axis=0) - i_idx = pid * BLOCK_ATOMS + tl.arange(0, BLOCK_ATOMS) - mask_i = i_idx < n_atoms - - pos_ix = tl.load( - pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1, mask=mask_i, other=0.0 - ) - pos_iy = tl.load( - pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1, mask=mask_i, other=0.0 - ) - pos_iz = tl.load( - pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1, mask=mask_i, other=0.0 - ) - - batch_i = tl.load(batch_ptr + i_idx * stride_batch, mask=mask_i, other=0) - - # Cell coordinate for atom i + """ + CUDA-like kernel: one program per atom, scalar operations, sequential neighbor iteration. + This mimics the CUDA implementation's parallelization strategy. + """ + # One atom per program (like CUDA's one thread per atom) + i_idx = tl.program_id(axis=0) + if i_idx >= n_atoms: + return + + # Load atom i data (scalar values) + pos_ix = tl.load(pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1) + pos_iy = tl.load(pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1) + pos_iz = tl.load(pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1) + batch_i = tl.load(batch_ptr + i_idx * stride_batch) + ori = tl.load(sorted_index_ptr + i_idx * stride_sorted) + + # Compute cell coordinate for atom i pwx = pos_ix - _tl_round(pos_ix / box_x) * box_x pwy = pos_iy - _tl_round(pos_iy / box_y) * box_y pwz = pos_iz - _tl_round(pos_iz / box_z) * box_z @@ -144,8 +142,7 @@ def _traverse_cell_kernel( cy = tl.where(cy == cell_y, 0, cy) cz = tl.where(cz == cell_z, 0, cz) - offs_nei = tl.arange(0, BLOCK_NEI) - + # Loop over the 27 neighboring cells (like CUDA) for neigh in range(27): dx_cell = (neigh % 3) - 1 dy_cell = ((neigh // 3) % 3) - 1 @@ -155,6 +152,7 @@ def _traverse_cell_kernel( ny = cy + dy_cell nz = cz + dz_cell + # Periodic wrapping of cell coordinates nx = tl.where(nx < 0, nx + cell_x, nx) ny = tl.where(ny < 0, ny + cell_y, ny) nz = tl.where(nz < 0, nz + cell_z, nz) @@ -163,120 +161,92 @@ def _traverse_cell_kernel( nz = tl.where(nz >= cell_z, nz - cell_z, nz) neighbor_cell = nx + cell_x * (ny + cell_y * nz) - start = tl.load(cell_start_ptr + neighbor_cell, mask=mask_i, other=-1) - end = tl.load(cell_end_ptr + neighbor_cell, mask=mask_i, other=0) - has_atoms = start != -1 - start = start[:, None] - end = end[:, None] - has_atoms = has_atoms[:, None] - cell_len = tl.maximum(end - start, 0) - max_iters = tl.cdiv(cell_len + BLOCK_NEI - 1, BLOCK_NEI) - - for it in range(MAX_CELL_ITERS): - active_iter = it < max_iters - base = start + it * BLOCK_NEI - j_idx = base + offs_nei[None, :] - valid_j = mask_i[:, None] & has_atoms & active_iter & (j_idx < end) + start = tl.load(cell_start_ptr + neighbor_cell) + end = tl.load(cell_end_ptr + neighbor_cell) + + # Skip empty cells (like CUDA's if (first_particle != -1)) + if start == -1: + continue + + # Iterate over atoms in this cell (like CUDA's for loop) + for j_offset in range(MAX_CELL_ITERS): + j = start + j_offset + + # Early exit when we've processed all atoms in this cell + if j >= end: + break + + # Only consider j < i (or j <= i for loop mode) if loop: - valid_j = valid_j & ( - (j_idx < i_idx[:, None]) | (j_idx == i_idx[:, None]) - ) + if j > i_idx: + continue else: - valid_j = valid_j & (j_idx < i_idx[:, None]) + if j >= i_idx: + continue - batch_j = tl.load(batch_ptr + j_idx * stride_batch, mask=valid_j, other=0) - valid_j = valid_j & (batch_j == batch_i[:, None]) + # Check same batch + batch_j = tl.load(batch_ptr + j * stride_batch) + if batch_j != batch_i: + continue - pos_jx = tl.load( - pos_ptr + j_idx * stride_pos_0 + 0 * stride_pos_1, - mask=valid_j, - other=0.0, - ) - pos_jy = tl.load( - pos_ptr + j_idx * stride_pos_0 + 1 * stride_pos_1, - mask=valid_j, - other=0.0, - ) - pos_jz = tl.load( - pos_ptr + j_idx * stride_pos_0 + 2 * stride_pos_1, - mask=valid_j, - other=0.0, - ) + # Load position of atom j + pos_jx = tl.load(pos_ptr + j * stride_pos_0 + 0 * stride_pos_1) + pos_jy = tl.load(pos_ptr + j * stride_pos_0 + 1 * stride_pos_1) + pos_jz = tl.load(pos_ptr + j * stride_pos_0 + 2 * stride_pos_1) - dx = pos_ix[:, None] - pos_jx - dy = pos_iy[:, None] - pos_jy - dz = pos_iz[:, None] - pos_jz + # Compute distance + dx = pos_ix - pos_jx + dy = pos_iy - pos_jy + dz = pos_iz - pos_jz + # Apply periodic boundary conditions if use_periodic: dx = dx - _tl_round(dx / box_x) * box_x dy = dy - _tl_round(dy / box_y) * box_y dz = dz - _tl_round(dz / box_z) * box_z dist2 = dx * dx + dy * dy + dz * dz - is_self = j_idx == i_idx[:, None] - valid_pair = valid_j & ( - ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | (loop & is_self) - ) + is_self = j == i_idx - ori_i = tl.load( - sorted_index_ptr + i_idx * stride_sorted, mask=mask_i, other=0 - ) - orj = tl.load( - sorted_index_ptr + j_idx * stride_sorted, mask=valid_j, other=0 + # Check distance criteria + valid = ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | ( + loop & is_self ) - ori = ori_i[:, None] + tl.zeros((BLOCK_NEI,), dtype=ori_i.dtype) - - # Elementwise max/min; tl.max would perform a reduction over an axis - ni = tl.maximum(ori, orj) - nj = tl.minimum(ori, orj) - sign = tl.where(ni == ori, 1.0, -1.0).to(dx.dtype) - - dx_out = dx * sign - dy_out = dy * sign - dz_out = dz * sign - dist = tl.sqrt(dist2) - - # Flatten per-atom neighbor results to 1D for contiguous writes - valid_pair_flat = tl.reshape(valid_pair, (BLOCK_ATOMS * BLOCK_NEI,)) - valid_pair_int = valid_pair_flat.to(tl.int32) - total_pairs = tl.sum(valid_pair_int) - prefix = tl.cumsum(valid_pair_int, axis=0) - 1 - base_idx = tl.atomic_add(counter_ptr, total_pairs, mask=total_pairs > 0) - out_idx = base_idx + prefix - - ni_flat = tl.reshape(ni, (BLOCK_ATOMS * BLOCK_NEI,)) - nj_flat = tl.reshape(nj, (BLOCK_ATOMS * BLOCK_NEI,)) - dx_flat = tl.reshape(dx_out, (BLOCK_ATOMS * BLOCK_NEI,)) - dy_flat = tl.reshape(dy_out, (BLOCK_ATOMS * BLOCK_NEI,)) - dz_flat = tl.reshape(dz_out, (BLOCK_ATOMS * BLOCK_NEI,)) - dist_flat = tl.reshape(dist, (BLOCK_ATOMS * BLOCK_NEI,)) - - mask_store = valid_pair_flat & (out_idx < max_pairs) - tl.store(neighbors0_ptr + out_idx, ni_flat, mask=mask_store) - tl.store(neighbors1_ptr + out_idx, nj_flat, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 0, dx_flat, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 1, dy_flat, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 2, dz_flat, mask=mask_store) - tl.store(distances_ptr + out_idx, dist_flat, mask=mask_store) - - if include_transpose: - valid_t = valid_pair & (ni != nj) - valid_t_flat = tl.reshape(valid_t, (BLOCK_ATOMS * BLOCK_NEI,)) - valid_t_int = valid_t_flat.to(tl.int32) - total_pairs_t = tl.sum(valid_t_int) - prefix_t = tl.cumsum(valid_t_int, axis=0) - 1 - base_idx_t = tl.atomic_add( - counter_ptr, total_pairs_t, mask=total_pairs_t > 0 - ) - out_idx_t = base_idx_t + prefix_t - - mask_store_t = valid_t_flat & (out_idx_t < max_pairs) - tl.store(neighbors0_ptr + out_idx_t, nj_flat, mask=mask_store_t) - tl.store(neighbors1_ptr + out_idx_t, ni_flat, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_flat, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_flat, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_flat, mask=mask_store_t) - tl.store(distances_ptr + out_idx_t, dist_flat, mask=mask_store_t) + + if valid: + orj = tl.load(sorted_index_ptr + j * stride_sorted) + + # Canonical ordering: ni > nj + ni = tl.maximum(ori, orj) + nj = tl.minimum(ori, orj) + sign = tl.where(ni == ori, 1.0, -1.0).to(dx.dtype) + + dx_out = dx * sign + dy_out = dy * sign + dz_out = dz * sign + dist = tl.sqrt(dist2) + + # Atomic add to reserve output slot + out_idx = tl.atomic_add(counter_ptr, 1) + if out_idx < max_pairs: + tl.store(neighbors0_ptr + out_idx, ni) + tl.store(neighbors1_ptr + out_idx, nj) + tl.store(deltas_ptr + out_idx * 3 + 0, dx_out) + tl.store(deltas_ptr + out_idx * 3 + 1, dy_out) + tl.store(deltas_ptr + out_idx * 3 + 2, dz_out) + tl.store(distances_ptr + out_idx, dist) + + # Add transpose pair if needed + if include_transpose: + if ni != nj: + out_idx_t = tl.atomic_add(counter_ptr, 1) + if out_idx_t < max_pairs: + tl.store(neighbors0_ptr + out_idx_t, nj) + tl.store(neighbors1_ptr + out_idx_t, ni) + tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_out) + tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_out) + tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_out) + tl.store(distances_ptr + out_idx_t, dist) class TritonCellNeighborAutograd(TritonNeighborAutograd): @@ -367,7 +337,8 @@ def forward( # type: ignore[override] distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) counter = torch.zeros((1,), device=device, dtype=torch.int32) - grid_traverse = lambda meta: (triton.cdiv(n_atoms, meta["BLOCK_ATOMS"]),) + # One program per atom (like CUDA's one thread per atom) + grid_traverse = (n_atoms,) _traverse_cell_kernel[grid_traverse]( sorted_positions, sorted_batch, @@ -398,9 +369,7 @@ def forward( # type: ignore[override] include_transpose, loop, max_num_pairs, - BLOCK_ATOMS=32, - BLOCK_NEI=32, - MAX_CELL_ITERS=64, + MAX_CELL_ITERS=512, # Max atoms per cell; adjust based on density ) num_pairs = counter.to(torch.long) From 3c692d49949229753b918bb040afa997d43c2478 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 11:51:48 +0200 Subject: [PATCH 21/80] use a while loop instead of breaking which doesn't work in triton --- torchmdnet/extensions/triton_cell.py | 227 +++++++++++++++++---------- 1 file changed, 140 insertions(+), 87 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 9c19b19e1..7b0c657c4 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -83,12 +83,17 @@ def _fill_cell_offsets_kernel( @triton.jit -def _traverse_cell_kernel( +def _process_neighbor( + j, + i_idx, + pos_ix, + pos_iy, + pos_iz, + batch_i, + ori, pos_ptr, batch_ptr, sorted_index_ptr, - cell_start_ptr, - cell_end_ptr, neighbors0_ptr, neighbors1_ptr, deltas_ptr, @@ -98,97 +103,27 @@ def _traverse_cell_kernel( stride_pos_1: tl.constexpr, stride_batch: tl.constexpr, stride_sorted: tl.constexpr, - n_atoms: tl.constexpr, - num_cells: tl.constexpr, - cell_x: tl.constexpr, - cell_y: tl.constexpr, - cell_z: tl.constexpr, box_x: tl.constexpr, box_y: tl.constexpr, box_z: tl.constexpr, - cutoff: tl.constexpr, cutoff_lower2: tl.constexpr, cutoff_upper2: tl.constexpr, use_periodic: tl.constexpr, include_transpose: tl.constexpr, loop: tl.constexpr, max_pairs: tl.constexpr, - MAX_CELL_ITERS: tl.constexpr, ): - """ - CUDA-like kernel: one program per atom, scalar operations, sequential neighbor iteration. - This mimics the CUDA implementation's parallelization strategy. - """ - # One atom per program (like CUDA's one thread per atom) - i_idx = tl.program_id(axis=0) - if i_idx >= n_atoms: - return - - # Load atom i data (scalar values) - pos_ix = tl.load(pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1) - pos_iy = tl.load(pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1) - pos_iz = tl.load(pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1) - batch_i = tl.load(batch_ptr + i_idx * stride_batch) - ori = tl.load(sorted_index_ptr + i_idx * stride_sorted) - - # Compute cell coordinate for atom i - pwx = pos_ix - _tl_round(pos_ix / box_x) * box_x - pwy = pos_iy - _tl_round(pos_iy / box_y) * box_y - pwz = pos_iz - _tl_round(pos_iz / box_z) * box_z - cx = tl.math.floor((pwx + 0.5 * box_x) / cutoff).to(tl.int32) - cy = tl.math.floor((pwy + 0.5 * box_y) / cutoff).to(tl.int32) - cz = tl.math.floor((pwz + 0.5 * box_z) / cutoff).to(tl.int32) - cx = tl.where(cx == cell_x, 0, cx) - cy = tl.where(cy == cell_y, 0, cy) - cz = tl.where(cz == cell_z, 0, cz) - - # Loop over the 27 neighboring cells (like CUDA) - for neigh in range(27): - dx_cell = (neigh % 3) - 1 - dy_cell = ((neigh // 3) % 3) - 1 - dz_cell = (neigh // 9) - 1 - - nx = cx + dx_cell - ny = cy + dy_cell - nz = cz + dz_cell - - # Periodic wrapping of cell coordinates - nx = tl.where(nx < 0, nx + cell_x, nx) - ny = tl.where(ny < 0, ny + cell_y, ny) - nz = tl.where(nz < 0, nz + cell_z, nz) - nx = tl.where(nx >= cell_x, nx - cell_x, nx) - ny = tl.where(ny >= cell_y, ny - cell_y, ny) - nz = tl.where(nz >= cell_z, nz - cell_z, nz) - - neighbor_cell = nx + cell_x * (ny + cell_y * nz) - start = tl.load(cell_start_ptr + neighbor_cell) - end = tl.load(cell_end_ptr + neighbor_cell) - - # Skip empty cells (like CUDA's if (first_particle != -1)) - if start == -1: - continue - - # Iterate over atoms in this cell (like CUDA's for loop) - for j_offset in range(MAX_CELL_ITERS): - j = start + j_offset - - # Early exit when we've processed all atoms in this cell - if j >= end: - break - - # Only consider j < i (or j <= i for loop mode) - if loop: - if j > i_idx: - continue - else: - if j >= i_idx: - continue - - # Check same batch - batch_j = tl.load(batch_ptr + j * stride_batch) - if batch_j != batch_i: - continue - + """Process a single neighbor j for atom i.""" + # Only consider j < i (or j <= i for loop mode) + if loop: + valid_j = j <= i_idx + else: + valid_j = j < i_idx + + if valid_j: + # Check same batch + batch_j = tl.load(batch_ptr + j * stride_batch) + if batch_j == batch_i: # Load position of atom j pos_jx = tl.load(pos_ptr + j * stride_pos_0 + 0 * stride_pos_1) pos_jy = tl.load(pos_ptr + j * stride_pos_0 + 1 * stride_pos_1) @@ -209,11 +144,11 @@ def _traverse_cell_kernel( is_self = j == i_idx # Check distance criteria - valid = ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | ( + valid_pair = ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | ( loop & is_self ) - if valid: + if valid_pair: orj = tl.load(sorted_index_ptr + j * stride_sorted) # Canonical ordering: ni > nj @@ -249,6 +184,125 @@ def _traverse_cell_kernel( tl.store(distances_ptr + out_idx_t, dist) +@triton.jit +def _traverse_cell_kernel( + pos_ptr, + batch_ptr, + sorted_index_ptr, + cell_start_ptr, + cell_end_ptr, + neighbors0_ptr, + neighbors1_ptr, + deltas_ptr, + distances_ptr, + counter_ptr, + stride_pos_0: tl.constexpr, + stride_pos_1: tl.constexpr, + stride_batch: tl.constexpr, + stride_sorted: tl.constexpr, + n_atoms: tl.constexpr, + num_cells: tl.constexpr, + cell_x: tl.constexpr, + cell_y: tl.constexpr, + cell_z: tl.constexpr, + box_x: tl.constexpr, + box_y: tl.constexpr, + box_z: tl.constexpr, + cutoff: tl.constexpr, + cutoff_lower2: tl.constexpr, + cutoff_upper2: tl.constexpr, + use_periodic: tl.constexpr, + include_transpose: tl.constexpr, + loop: tl.constexpr, + max_pairs: tl.constexpr, +): + """ + CUDA-like kernel: one program per atom, scalar operations, dynamic neighbor iteration. + Uses tl.while_loop for work-efficient iteration like CUDA. + """ + # One atom per program (like CUDA's one thread per atom) + i_idx = tl.program_id(axis=0) + if i_idx >= n_atoms: + return + + # Load atom i data (scalar values) + pos_ix = tl.load(pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1) + pos_iy = tl.load(pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1) + pos_iz = tl.load(pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1) + batch_i = tl.load(batch_ptr + i_idx * stride_batch) + ori = tl.load(sorted_index_ptr + i_idx * stride_sorted) + + # Compute cell coordinate for atom i + pwx = pos_ix - _tl_round(pos_ix / box_x) * box_x + pwy = pos_iy - _tl_round(pos_iy / box_y) * box_y + pwz = pos_iz - _tl_round(pos_iz / box_z) * box_z + cx = tl.math.floor((pwx + 0.5 * box_x) / cutoff).to(tl.int32) + cy = tl.math.floor((pwy + 0.5 * box_y) / cutoff).to(tl.int32) + cz = tl.math.floor((pwz + 0.5 * box_z) / cutoff).to(tl.int32) + cx = tl.where(cx == cell_x, 0, cx) + cy = tl.where(cy == cell_y, 0, cy) + cz = tl.where(cz == cell_z, 0, cz) + + # Loop over the 27 neighboring cells (like CUDA) + for neigh in range(27): + dx_cell = (neigh % 3) - 1 + dy_cell = ((neigh // 3) % 3) - 1 + dz_cell = (neigh // 9) - 1 + + nx = cx + dx_cell + ny = cy + dy_cell + nz = cz + dz_cell + + # Periodic wrapping of cell coordinates + nx = tl.where(nx < 0, nx + cell_x, nx) + ny = tl.where(ny < 0, ny + cell_y, ny) + nz = tl.where(nz < 0, nz + cell_z, nz) + nx = tl.where(nx >= cell_x, nx - cell_x, nx) + ny = tl.where(ny >= cell_y, ny - cell_y, ny) + nz = tl.where(nz >= cell_z, nz - cell_z, nz) + + neighbor_cell = nx + cell_x * (ny + cell_y * nz) + start = tl.load(cell_start_ptr + neighbor_cell) + end = tl.load(cell_end_ptr + neighbor_cell) + + # Skip empty cells + if start != -1: + # Use while_loop for dynamic iteration (like CUDA's for loop) + j = start + while j < end: + _process_neighbor( + j, + i_idx, + pos_ix, + pos_iy, + pos_iz, + batch_i, + ori, + pos_ptr, + batch_ptr, + sorted_index_ptr, + neighbors0_ptr, + neighbors1_ptr, + deltas_ptr, + distances_ptr, + counter_ptr, + stride_pos_0, + stride_pos_1, + stride_batch, + stride_sorted, + box_x, + box_y, + box_z, + cutoff_lower2, + cutoff_upper2, + use_periodic, + include_transpose, + loop, + max_pairs, + ) + j += 1 + + class TritonCellNeighborAutograd(TritonNeighborAutograd): @staticmethod def forward( # type: ignore[override] @@ -369,7 +423,6 @@ def forward( # type: ignore[override] include_transpose, loop, max_num_pairs, - MAX_CELL_ITERS=512, # Max atoms per cell; adjust based on density ) num_pairs = counter.to(torch.long) From 2ecd6da9eb08a618b2f0fc3c657d57aa82021a95 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 13:46:23 +0200 Subject: [PATCH 22/80] better printing --- benchmarks/neighbors.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index e494f7d7f..d3ea0f4f1 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -212,7 +212,7 @@ def benchmark_neighbors( # Print a column per strategy, show speedup over Distance in parenthesis for n_batches in batch_sizes: base = results["distance", n_batches] - row = f"{n_batches:<10}" + row = f"{n_batches:<11}" for strategy in strategies: row += f"{results[strategy, n_batches]:<4.2f} x{base / results[strategy, n_batches]:<14.2f} " print(row) @@ -243,7 +243,7 @@ def benchmark_neighbors( print("-------") headers = "N Particles " for strategy in strategies: - headers += f"{strategy.capitalize()}(ms) " + headers += f"{strategy.capitalize()+'(ms)':<21}" print(headers) print("-" * len(headers)) # Print a column per strategy, show speedup over Distance in parenthesis @@ -253,7 +253,7 @@ def benchmark_neighbors( # if n_particles > 32000: # results["brute", n_particles] = 0 # brute_speedup = 0 - row = f"{n_particles:<10}" + row = f"{n_particles:<12}" for strategy in strategies: row += f"{results[strategy, n_particles]:<4.2f} x{base / results[strategy, n_particles]:<14.2f} " print(row) From f3dbc331fc4e0ef5786930135f228e8b42607b89 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 14:25:21 +0200 Subject: [PATCH 23/80] initial sorted cell list impl --- .../extensions/triton_sorted_cell_list.py | 328 ++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 torchmdnet/extensions/triton_sorted_cell_list.py diff --git a/torchmdnet/extensions/triton_sorted_cell_list.py b/torchmdnet/extensions/triton_sorted_cell_list.py new file mode 100644 index 000000000..e79703a91 --- /dev/null +++ b/torchmdnet/extensions/triton_sorted_cell_list.py @@ -0,0 +1,328 @@ +import torch + +import torch +import triton +import triton.language as tl + + +@triton.jit +def neighbor_list_kernel( + # Pointers to inputs + Coords, # [N_atoms, 3] Sorted coordinates + CellStart, # [N_cells] Index where each cell starts in Coords + CellCount, # [N_cells] Number of atoms in each cell + # Pointers to outputs + OutPairs, # [2, Max_Pairs] + OutDeltas, # [Max_Pairs, 3] + OutDists, # [Max_Pairs] + GlobalCounter, # [1] Atomic counter for current pair count + # Constants + n_atoms, # Total atoms + max_pairs, # Size of output buffer + cutoff_sq, # Cutoff squared + # Box dimensions for PBC + box_x, + box_y, + box_z, + # Grid dimensions + n_cells_x, + n_cells_y, + n_cells_z, + # Block constants + BLOCK_M: tl.constexpr, # Size of Query Block +): + # 1. Identify Query Atoms + pid = tl.program_id(0) + # Range of atom indices this block handles + idx_m = pid * BLOCK_M + tl.arange(0, BLOCK_M) + mask_m = idx_m < n_atoms + + # Load Query Coordinates + # We assume Coords are [N, 3] and contiguous (row-major) + off_x = idx_m * 3 + 0 + off_y = idx_m * 3 + 1 + off_z = idx_m * 3 + 2 + + # Load query positions + pos_mx = tl.load(Coords + off_x, mask=mask_m, other=0.0) + pos_my = tl.load(Coords + off_y, mask=mask_m, other=0.0) + pos_mz = tl.load(Coords + off_z, mask=mask_m, other=0.0) + + # 2. Determine which Cell these atoms belong to + # Since input is sorted, we can just look at the cell of the first atom in the block + # (Approximation: assumes BLOCK_M atoms fit in one or two cells, usually true for sorted data) + # Ideally, we calculate cell indices explicitly for robustness. + # Cell index = floor(pos / cell_size). Here we reconstruct it: + # Note: For highest speed, pass 'CellIndices' array instead of recomputing. + # Below we use the Grid Loop strategy: Iterate ALL 27 neighbor cells relative to the query cell. + + # Calculating cell index for the *first* atom in block to find "Home Cell" + # (Assuming sorted atoms are localized) + cell_sx = box_x / n_cells_x + cell_sy = box_y / n_cells_y + cell_sz = box_z / n_cells_z + + # Current cell indices (i, j, k) for the first atom in the block + c_i = (pos_mx[0] / cell_sx).to(tl.int32) + c_j = (pos_my[0] / cell_sy).to(tl.int32) + c_k = (pos_mz[0] / cell_sz).to(tl.int32) + + # 3. Iterate over 3x3x3 Neighbor Cells + # We loop -1 to 1 in each dimension + for i in range(-1, 2): + for j in range(-1, 2): + for k in range(-1, 2): + + # Apply PBC to find neighbor cell index + # (x % N + N) % N handles negative wrapping + n_idx_x = (c_i + i + n_cells_x) % n_cells_x + n_idx_y = (c_j + j + n_cells_y) % n_cells_y + n_idx_z = (c_k + k + n_cells_z) % n_cells_z + + # Flat neighbor cell index + cell_idx = ( + n_idx_x * (n_cells_y * n_cells_z) + n_idx_y * n_cells_z + n_idx_z + ) + + # Get start and count of atoms in this neighbor cell + start = tl.load(CellStart + cell_idx) + count = tl.load(CellCount + cell_idx) + + # Loop over atoms in the neighbor cell + # We process them in chunks of BLOCK_M (or similar size) + for tile_idx in range(0, count, BLOCK_M): + # Candidate Indices + idx_n = start + tile_idx + tl.arange(0, BLOCK_M) + mask_n = (tile_idx + tl.arange(0, BLOCK_M)) < count + + # Load Candidate Coords + off_nx = idx_n * 3 + 0 + off_ny = idx_n * 3 + 1 + off_nz = idx_n * 3 + 2 + + pos_nx = tl.load(Coords + off_nx, mask=mask_n, other=0.0) + pos_ny = tl.load(Coords + off_ny, mask=mask_n, other=0.0) + pos_nz = tl.load(Coords + off_nz, mask=mask_n, other=0.0) + + # Broadcast shapes for pairwise calculation + # Query: [BLOCK_M, 1], Candidate: [1, BLOCK_M] + q_x = pos_mx[:, None] + q_y = pos_my[:, None] + q_z = pos_mz[:, None] + + c_x = pos_nx[None, :] + c_y = pos_ny[None, :] + c_z = pos_nz[None, :] + + # --- PBC Distance Calculation (Minimum Image) --- + dx = q_x - c_x + dy = q_y - c_y + dz = q_z - c_z + + # dx = dx - box * round(dx / box) + dx = dx - box_x * tl.math.round(dx / box_x) + dy = dy - box_y * tl.math.round(dy / box_y) + dz = dz - box_z * tl.math.round(dz / box_z) + + dist_sq = dx * dx + dy * dy + dz * dz + + # --- Filtering --- + # 1. Distance check + is_neighbor = dist_sq < cutoff_sq + + # 2. Avoid double counting (i < j) and self-interaction (i != j) + # Note: For simple neighbor lists, we often want i != j. + # If you need half-list (Newton's 3rd law), use idx_m[:, None] < idx_n[None, :] + idx_m_bc = idx_m[:, None] + idx_n_bc = idx_n[None, :] + + # Enforce strictly upper triangular for half-list, or just i != j for full + valid_mask = ( + is_neighbor + & (idx_m_bc < idx_n_bc) + & mask_m[:, None] + & mask_n[None, :] + ) + + # --- Block-wise Output Allocation --- + # Count how many pairs we found in this tile + # We cast to int32 because sum returns same dtype as input (int1) + num_found = tl.sum(valid_mask.to(tl.int32)) + + if num_found > 0: + # ATOMIC ADD: Reserve space in the global output buffer + # This happens once per tile, not per pair -> Much faster + current_offset = tl.atomic_add(GlobalCounter, num_found) + + # Guard against overflow + if current_offset + num_found <= max_pairs: + # We need to flatten the 2D block results to 1D to write them out. + # Triton doesn't have a direct "compress/compact" instruction yet for 2D->1D. + # We compute running index (prefix sum) within the block to find write slot. + + # Flatten the mask to [BLOCK_M * BLOCK_M] + flat_mask = tl.ravel(valid_mask) + + # Compute exclusive scan (cumsum) to determine thread offset + # Note: tl.cumsum is not fully exposed on all blocks easily, + # usually strictly sequential manual scan or use 'where' logic. + # OPTIMIZATION: For Triton, we can iterate positions. + + # Because fully parallel scan is complex in a snippet, + # we verify valid indices and write. + + # Calculate write indices + # This is a bit tricky in Triton without `scan`. + # Simpler approach for snippet: iterate and write (serialized within block) + # OR utilize `tl.where` with pre-calculated indices if density is high. + + # High-Performance approach: + # Since we know `num_found` is small (sparse), we can just store + # the valid pairs. + + # Generate offsets for valid elements + csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) + # csum is inclusive, so write_idx = start + csum - 1 + + store_idx = current_offset + csum - 1 + + # Flatten data + flat_dx = tl.ravel(dx) + flat_dy = tl.ravel(dy) + flat_dz = tl.ravel(dz) + flat_dsq = tl.ravel(dist_sq) + flat_idx_m = tl.ravel(idx_m_bc) + flat_idx_n = tl.ravel(idx_n_bc) + + # Write only valid entries + tl.store( + OutPairs + 0 * max_pairs + store_idx, + flat_idx_m, + mask=flat_mask, + ) + tl.store( + OutPairs + 1 * max_pairs + store_idx, + flat_idx_n, + mask=flat_mask, + ) + + tl.store( + OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask + ) + tl.store( + OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask + ) + tl.store( + OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask + ) + + tl.store( + OutDists + store_idx, tl.sqrt(flat_dsq), mask=flat_mask + ) + + +def find_neighbors(positions, box, cutoff, max_pairs=10_000_000): + """ + positions: [N, 3] tensor + box: [3] tensor (Lx, Ly, Lz) + cutoff: scalar + """ + N = positions.shape[0] + device = positions.device + + # 1. Setup Cell Grid (Host side logic) + # Ensure cell size >= cutoff + n_cells = (box / cutoff).floor().int() + cell_size = box / n_cells + + # 2. Sort Particles (Crucial for performance) + # Calculate cell index for every atom + cell_idx_x = (positions[:, 0] / cell_size[0]).long().clamp(0, n_cells[0] - 1) + cell_idx_y = (positions[:, 1] / cell_size[1]).long().clamp(0, n_cells[1] - 1) + cell_idx_z = (positions[:, 2] / cell_size[2]).long().clamp(0, n_cells[2] - 1) + + # Flat cell index + flat_cell_indices = ( + cell_idx_x * n_cells[1] * n_cells[2] + cell_idx_y * n_cells[2] + cell_idx_z + ) + + # Sort atoms by cell index + sorted_cell_indices, sort_idx = torch.sort(flat_cell_indices) + sorted_pos = positions[sort_idx].contiguous() + + # 3. Build Cell Pointers (Start/Count) + # Using unique_consecutive to find cell boundaries + unique_cells, counts = torch.unique_consecutive( + sorted_cell_indices, return_counts=True + ) + + # We need dense arrays for the kernel [Total_Cells] + total_cells = n_cells[0] * n_cells[1] * n_cells[2] + cell_start = torch.zeros(total_cells, dtype=torch.int32, device=device) + cell_count = torch.zeros(total_cells, dtype=torch.int32, device=device) + + # Compute starts (requires a search or scatter, here simplified) + # In production, use scatter_add or searchsorted + # Simple trick: scatter counts + cell_count.index_add_(0, unique_cells.int(), counts.int()) + + # Cumulative sum to get starts? No, we need starts in the *sorted* array. + # Since we sorted by cell, we can find starts easily. + # A fast way involves searchsorted if cells are sparse, + # but for water (dense), most cells are filled. + # We can compute starts using the counts and a prefix sum, + # but strictly speaking, we need the index in 'sorted_pos'. + + # Fast GPU-friendly start index construction: + # Find where cell index changes + change_mask = torch.cat( + [ + torch.tensor([1], device=device), + sorted_cell_indices[1:] != sorted_cell_indices[:-1], + ] + ) + change_indices = torch.nonzero(change_mask).squeeze() + # This maps unique_cells -> start_index in sorted_pos + cell_start.index_copy_(0, unique_cells.int(), change_indices.int()) + + # 4. Prepare Outputs + out_pairs = torch.empty((2, max_pairs), dtype=torch.int32, device=device) + out_deltas = torch.empty((max_pairs, 3), dtype=torch.float32, device=device) + out_dists = torch.empty((max_pairs,), dtype=torch.float32, device=device) + global_counter = torch.zeros((1,), dtype=torch.int32, device=device) + + # 5. Launch Kernel + grid = lambda META: (triton.cdiv(N, META["BLOCK_M"]),) + + neighbor_list_kernel[grid]( + sorted_pos, + cell_start, + cell_count, + out_pairs, + out_deltas, + out_dists, + global_counter, + N, + max_pairs, + cutoff**2, + box[0].item(), + box[1].item(), + box[2].item(), + n_cells[0].item(), + n_cells[1].item(), + n_cells[2].item(), + BLOCK_M=64, # Tuning parameter + ) + + num_pairs = global_counter.item() + + # Note: The output pairs use indices from 'sorted_pos'. + # If you need original indices, you must map them back using 'sort_idx'. + # remapped_pairs = sort_idx[out_pairs[:, :num_pairs]] + + return ( + out_pairs[:, :num_pairs], + out_deltas[:num_pairs], + out_dists[:num_pairs], + num_pairs, + ) From 7e544c892f6bd1a89633bdf131d549b1f67649ac Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 15:41:18 +0200 Subject: [PATCH 24/80] fix benchmark printing --- benchmarks/neighbors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index d3ea0f4f1..bbdb4e15f 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -214,7 +214,7 @@ def benchmark_neighbors( base = results["distance", n_batches] row = f"{n_batches:<11}" for strategy in strategies: - row += f"{results[strategy, n_batches]:<4.2f} x{base / results[strategy, n_batches]:<14.2f} " + row += f"{results[strategy, n_batches]:<5.2f} x{base / results[strategy, n_batches]:<13.2f} " print(row) n_particles_list = np.power(2, np.arange(8, 18)) @@ -255,5 +255,5 @@ def benchmark_neighbors( # brute_speedup = 0 row = f"{n_particles:<12}" for strategy in strategies: - row += f"{results[strategy, n_particles]:<4.2f} x{base / results[strategy, n_particles]:<14.2f} " + row += f"{results[strategy, n_particles]:<5.2f} x{base / results[strategy, n_particles]:<13.2f} " print(row) From a56524cf488ef7c093a033aef6bed2edd8b26268 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 15:48:21 +0200 Subject: [PATCH 25/80] nearly working cell impl --- torchmdnet/extensions/triton_cell.py | 791 ++++++++++-------- .../extensions/triton_sorted_cell_list.py | 328 -------- 2 files changed, 447 insertions(+), 672 deletions(-) delete mode 100644 torchmdnet/extensions/triton_sorted_cell_list.py diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 7b0c657c4..d0e9bb5ad 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -8,8 +8,8 @@ tl = None _HAS_TRITON = False -from torch import Tensor import torch +from torch import Tensor from torchmdnet.extensions.triton_neighbors import ( _tl_round, TritonNeighborAutograd, @@ -18,289 +18,375 @@ ) -@triton.jit -def _assign_cell_indices_kernel( - pos_ptr, - cell_index_ptr, - stride_pos_0: tl.constexpr, - stride_pos_1: tl.constexpr, - n_atoms: tl.constexpr, - box_x: tl.constexpr, - box_y: tl.constexpr, - box_z: tl.constexpr, - cutoff: tl.constexpr, - cell_x: tl.constexpr, - cell_y: tl.constexpr, - cell_z: tl.constexpr, - BLOCK: tl.constexpr, -): - pid = tl.program_id(axis=0) - idx = pid * BLOCK + tl.arange(0, BLOCK) - mask = idx < n_atoms - - px = tl.load(pos_ptr + idx * stride_pos_0 + 0 * stride_pos_1, mask=mask, other=0.0) - py = tl.load(pos_ptr + idx * stride_pos_0 + 1 * stride_pos_1, mask=mask, other=0.0) - pz = tl.load(pos_ptr + idx * stride_pos_0 + 2 * stride_pos_1, mask=mask, other=0.0) - - # Bring to [-0.5*box, 0.5*box] (rectangular PBC) - px = px - _tl_round(px / box_x) * box_x - py = py - _tl_round(py / box_y) * box_y - pz = pz - _tl_round(pz / box_z) * box_z - - cx = tl.math.floor((px + 0.5 * box_x) / cutoff).to(tl.int32) - cy = tl.math.floor((py + 0.5 * box_y) / cutoff).to(tl.int32) - cz = tl.math.floor((pz + 0.5 * box_z) / cutoff).to(tl.int32) +import torch +import triton +import triton.language as tl - cx = tl.where(cx == cell_x, 0, cx) - cy = tl.where(cy == cell_y, 0, cy) - cz = tl.where(cz == cell_z, 0, cz) - cell_index = cx + cell_x * (cy + cell_y * cz) - tl.store(cell_index_ptr + idx, cell_index, mask=mask) +import torch +import triton +import triton.language as tl @triton.jit -def _fill_cell_offsets_kernel( - sorted_cell_ptr, - cell_start_ptr, - cell_end_ptr, - n_atoms: tl.constexpr, - BLOCK: tl.constexpr, +def neighbor_list_kernel( + # Pointers + SortedCoords, + SortedBatch, + SortedToOrig, + CellStart, + CellEnd, + OutPairs, + OutDeltas, + OutDists, + GlobalCounter, + # Parameters + n_atoms, + max_pairs, + cutoff_lower_sq, + cutoff_upper_sq, + box_x, + box_y, + box_z, + n_cells_x, + n_cells_y, + n_cells_z, + # Flags + use_periodic: tl.constexpr, # Enable/Disable PBC + loop: tl.constexpr, # Enable/Disable Self-interactions + include_transpose: tl.constexpr, # True: i!=j (Full), False: i 0), other=0) - - is_first = idx == 0 - is_new = is_first | (icell != prev) - - tl.store(cell_start_ptr + icell, idx, mask=mask & is_new) - tl.store(cell_end_ptr + prev, idx, mask=mask & (is_new & (idx > 0))) - tl.store(cell_end_ptr + icell, idx + 1, mask=mask & (idx == n_atoms - 1)) - + pid = tl.program_id(0) + idx_m = pid * BLOCK_M + tl.arange(0, BLOCK_M) + mask_m = idx_m < n_atoms + + # Load Query Data + off_m = idx_m + pos_mx = tl.load(SortedCoords + off_m * 3 + 0, mask=mask_m, other=0.0) + pos_my = tl.load(SortedCoords + off_m * 3 + 1, mask=mask_m, other=0.0) + pos_mz = tl.load(SortedCoords + off_m * 3 + 2, mask=mask_m, other=0.0) + batch_m = tl.load(SortedBatch + off_m, mask=mask_m, other=-1) + + # Identify Home Cell - vectorized for all BLOCK_M atoms + cell_sx = box_x / n_cells_x + cell_sy = box_y / n_cells_y + cell_sz = box_z / n_cells_z + + # Local coords for cell calculation (vectorized for all atoms in block) + px = pos_mx + py = pos_my + pz = pos_mz + + if use_periodic: + px = px - box_x * tl.math.floor(px / box_x) + py = py - box_y * tl.math.floor(py / box_y) + pz = pz - box_z * tl.math.floor(pz / box_z) + + # Cell indices for each atom in the block (vectors of size BLOCK_M) + c_i_vec = (px / cell_sx).to(tl.int32) + c_j_vec = (py / cell_sy).to(tl.int32) + c_k_vec = (pz / cell_sz).to(tl.int32) + + # Clamp to valid range + c_i_vec = tl.maximum(tl.minimum(c_i_vec, n_cells_x - 1), 0) + c_j_vec = tl.maximum(tl.minimum(c_j_vec, n_cells_y - 1), 0) + c_k_vec = tl.maximum(tl.minimum(c_k_vec, n_cells_z - 1), 0) + + # Iterate over neighbor cell offsets + for i in range(-1, 2): + for j in range(-1, 2): + for k in range(-1, 2): + + # Compute neighbor cell indices for all atoms in block (vectorized) + n_idx_x = c_i_vec + i + n_idx_y = c_j_vec + j + n_idx_z = c_k_vec + k + + # --- PBC CHECK (vectorized) --- + if use_periodic: + # Wrap around + n_idx_x = (n_idx_x + n_cells_x) % n_cells_x + n_idx_y = (n_idx_y + n_cells_y) % n_cells_y + n_idx_z = (n_idx_z + n_cells_z) % n_cells_z + valid_cell_mask = mask_m # All cells valid with PBC + else: + # Strict Bounds Check (vectorized) + valid_cell_mask = ( + (n_idx_x >= 0) + & (n_idx_x < n_cells_x) + & (n_idx_y >= 0) + & (n_idx_y < n_cells_y) + & (n_idx_z >= 0) + & (n_idx_z < n_cells_z) + & mask_m + ) + + # Compute flat cell indices (vectorized, one per query atom) + cell_idx_vec = ( + n_idx_x * (n_cells_y * n_cells_z) + n_idx_y * n_cells_z + n_idx_z + ) -@triton.jit -def _process_neighbor( - j, - i_idx, - pos_ix, - pos_iy, - pos_iz, - batch_i, - ori, - pos_ptr, - batch_ptr, - sorted_index_ptr, - neighbors0_ptr, - neighbors1_ptr, - deltas_ptr, - distances_ptr, - counter_ptr, - stride_pos_0: tl.constexpr, - stride_pos_1: tl.constexpr, - stride_batch: tl.constexpr, - stride_sorted: tl.constexpr, - box_x: tl.constexpr, - box_y: tl.constexpr, - box_z: tl.constexpr, - cutoff_lower2: tl.constexpr, - cutoff_upper2: tl.constexpr, - use_periodic: tl.constexpr, - include_transpose: tl.constexpr, - loop: tl.constexpr, - max_pairs: tl.constexpr, -): - """Process a single neighbor j for atom i.""" - # Only consider j < i (or j <= i for loop mode) - if loop: - valid_j = j <= i_idx - else: - valid_j = j < i_idx - - if valid_j: - # Check same batch - batch_j = tl.load(batch_ptr + j * stride_batch) - if batch_j == batch_i: - # Load position of atom j - pos_jx = tl.load(pos_ptr + j * stride_pos_0 + 0 * stride_pos_1) - pos_jy = tl.load(pos_ptr + j * stride_pos_0 + 1 * stride_pos_1) - pos_jz = tl.load(pos_ptr + j * stride_pos_0 + 2 * stride_pos_1) - - # Compute distance - dx = pos_ix - pos_jx - dy = pos_iy - pos_jy - dz = pos_iz - pos_jz - - # Apply periodic boundary conditions - if use_periodic: - dx = dx - _tl_round(dx / box_x) * box_x - dy = dy - _tl_round(dy / box_y) * box_y - dz = dz - _tl_round(dz / box_z) * box_z - - dist2 = dx * dx + dy * dy + dz * dz - is_self = j == i_idx - - # Check distance criteria - valid_pair = ((dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2)) | ( - loop & is_self - ) - - if valid_pair: - orj = tl.load(sorted_index_ptr + j * stride_sorted) - - # Canonical ordering: ni > nj - ni = tl.maximum(ori, orj) - nj = tl.minimum(ori, orj) - sign = tl.where(ni == ori, 1.0, -1.0).to(dx.dtype) - - dx_out = dx * sign - dy_out = dy * sign - dz_out = dz * sign - dist = tl.sqrt(dist2) - - # Atomic add to reserve output slot - out_idx = tl.atomic_add(counter_ptr, 1) - if out_idx < max_pairs: - tl.store(neighbors0_ptr + out_idx, ni) - tl.store(neighbors1_ptr + out_idx, nj) - tl.store(deltas_ptr + out_idx * 3 + 0, dx_out) - tl.store(deltas_ptr + out_idx * 3 + 1, dy_out) - tl.store(deltas_ptr + out_idx * 3 + 2, dz_out) - tl.store(distances_ptr + out_idx, dist) - - # Add transpose pair if needed - if include_transpose: - if ni != nj: - out_idx_t = tl.atomic_add(counter_ptr, 1) - if out_idx_t < max_pairs: - tl.store(neighbors0_ptr + out_idx_t, nj) - tl.store(neighbors1_ptr + out_idx_t, ni) - tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_out) - tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_out) - tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_out) - tl.store(distances_ptr + out_idx_t, dist) + # Gather cell boundaries for each query atom's neighbor cell + start_vec = tl.load( + CellStart + cell_idx_vec, mask=valid_cell_mask, other=-1 + ) + end_vec = tl.load(CellEnd + cell_idx_vec, mask=valid_cell_mask, other=0) + # Find the maximum range we need to scan + max_end = tl.max(tl.where(valid_cell_mask, end_vec, 0)) + min_start = tl.min( + tl.where(valid_cell_mask & (start_vec >= 0), start_vec, n_atoms) + ) -@triton.jit -def _traverse_cell_kernel( - pos_ptr, - batch_ptr, - sorted_index_ptr, - cell_start_ptr, - cell_end_ptr, - neighbors0_ptr, - neighbors1_ptr, - deltas_ptr, - distances_ptr, - counter_ptr, - stride_pos_0: tl.constexpr, - stride_pos_1: tl.constexpr, - stride_batch: tl.constexpr, - stride_sorted: tl.constexpr, - n_atoms: tl.constexpr, - num_cells: tl.constexpr, - cell_x: tl.constexpr, - cell_y: tl.constexpr, - cell_z: tl.constexpr, - box_x: tl.constexpr, - box_y: tl.constexpr, - box_z: tl.constexpr, - cutoff: tl.constexpr, - cutoff_lower2: tl.constexpr, - cutoff_upper2: tl.constexpr, - use_periodic: tl.constexpr, - include_transpose: tl.constexpr, - loop: tl.constexpr, - max_pairs: tl.constexpr, -): + # Use fixed iteration count for CUDA graph compatibility + # Iterate over all possible neighbor atoms (worst case: all atoms) + for tile_idx in range(MAX_TILES): + # Neighbor atom indices (global indices in sorted array) + idx_n = tile_idx * BLOCK_M + tl.arange(0, BLOCK_M) + # Only process if within valid range [min_start, max_end) and within n_atoms + mask_n = ( + (idx_n >= min_start) & (idx_n < max_end) & (idx_n < n_atoms) + ) + + # Load Candidate atoms + off_n = idx_n + pos_nx = tl.load( + SortedCoords + off_n * 3 + 0, mask=mask_n, other=0.0 + ) + pos_ny = tl.load( + SortedCoords + off_n * 3 + 1, mask=mask_n, other=0.0 + ) + pos_nz = tl.load( + SortedCoords + off_n * 3 + 2, mask=mask_n, other=0.0 + ) + batch_n = tl.load(SortedBatch + off_n, mask=mask_n, other=-2) + + # Compute distances: [BLOCK_M query atoms, BLOCK_M candidate atoms] + d_x = pos_mx[:, None] - pos_nx[None, :] + d_y = pos_my[:, None] - pos_ny[None, :] + d_z = pos_mz[:, None] - pos_nz[None, :] + + # --- PBC Distance Adjustment --- + if use_periodic: + d_x = d_x - box_x * _tl_round(d_x / box_x) + d_y = d_y - box_y * _tl_round(d_y / box_y) + d_z = d_z - box_z * _tl_round(d_z / box_z) + + dist_sq = d_x * d_x + d_y * d_y + d_z * d_z + + # --- Interaction Logic --- + # 1. Distance & Batch conditions + cond_dist = (dist_sq <= cutoff_upper_sq) & ( + dist_sq >= cutoff_lower_sq + ) + cond_batch = batch_m[:, None] == batch_n[None, :] + + # 2. Check if neighbor is within each query atom's cell range + # idx_n is [BLOCK_M], start_vec is [BLOCK_M], end_vec is [BLOCK_M] + # We need [BLOCK_M, BLOCK_M] comparison + idx_n_bc = idx_n[None, :] # [1, BLOCK_M] + start_bc = start_vec[:, None] # [BLOCK_M, 1] + end_bc = end_vec[:, None] # [BLOCK_M, 1] + valid_cell_bc = valid_cell_mask[:, None] # [BLOCK_M, 1] + + # Neighbor must be in the query atom's specific cell range + cond_in_range = ( + (idx_n_bc >= start_bc) & (idx_n_bc < end_bc) & valid_cell_bc + ) + + # Load original indices for loop/transpose logic + # The condition must be based on original indices, not sorted indices + orig_m = tl.load(SortedToOrig + idx_m, mask=mask_m, other=-1) + orig_n = tl.load(SortedToOrig + idx_n, mask=mask_n, other=-1) + + # 3. Index / Loop Logic (using original indices) + orig_m_bc = orig_m[:, None] + orig_n_bc = orig_n[None, :] + + if include_transpose: + # Full List (both i->j and j->i) + if loop: + # Accept everything (i!=j AND i==j) -> All True + cond_idx = True + else: + # Accept only i != j + cond_idx = orig_m_bc != orig_n_bc + else: + # Half List (lower triangle convention: i >= j) + if loop: + # Accept i >= j (includes diagonal) + cond_idx = orig_m_bc >= orig_n_bc + else: + # Accept i > j (excludes diagonal) + cond_idx = orig_m_bc > orig_n_bc + + valid_mask = ( + cond_dist + & cond_batch + & cond_idx + & cond_in_range + & mask_m[:, None] + & mask_n[None, :] + ) + + # --- Store Block --- + num_found = tl.sum(valid_mask.to(tl.int32)) + if num_found > 0: + current_offset = tl.atomic_add(GlobalCounter, num_found) + if current_offset + num_found <= max_pairs: + flat_mask = tl.ravel(valid_mask) + csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) + store_idx = current_offset + csum - 1 + + flat_orig_m = tl.ravel( + tl.broadcast_to(orig_m[:, None], (BLOCK_M, BLOCK_M)) + ) + flat_orig_n = tl.ravel( + tl.broadcast_to(orig_n[None, :], (BLOCK_M, BLOCK_M)) + ) + + tl.store( + OutPairs + 0 * max_pairs + store_idx, + flat_orig_m, + mask=flat_mask, + ) + tl.store( + OutPairs + 1 * max_pairs + store_idx, + flat_orig_n, + mask=flat_mask, + ) + tl.store( + OutDeltas + store_idx * 3 + 0, + tl.ravel(d_x), + mask=flat_mask, + ) + tl.store( + OutDeltas + store_idx * 3 + 1, + tl.ravel(d_y), + mask=flat_mask, + ) + tl.store( + OutDeltas + store_idx * 3 + 2, + tl.ravel(d_z), + mask=flat_mask, + ) + tl.store( + OutDists + store_idx, + tl.sqrt(tl.ravel(dist_sq)), + mask=flat_mask, + ) + + +def find_neighbors(positions, box, cutoff, max_pairs=10_000_000): """ - CUDA-like kernel: one program per atom, scalar operations, dynamic neighbor iteration. - Uses tl.while_loop for work-efficient iteration like CUDA. + positions: [N, 3] tensor + box: [3] tensor (Lx, Ly, Lz) + cutoff: scalar """ - # One atom per program (like CUDA's one thread per atom) - i_idx = tl.program_id(axis=0) - if i_idx >= n_atoms: - return - - # Load atom i data (scalar values) - pos_ix = tl.load(pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1) - pos_iy = tl.load(pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1) - pos_iz = tl.load(pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1) - batch_i = tl.load(batch_ptr + i_idx * stride_batch) - ori = tl.load(sorted_index_ptr + i_idx * stride_sorted) - - # Compute cell coordinate for atom i - pwx = pos_ix - _tl_round(pos_ix / box_x) * box_x - pwy = pos_iy - _tl_round(pos_iy / box_y) * box_y - pwz = pos_iz - _tl_round(pos_iz / box_z) * box_z - cx = tl.math.floor((pwx + 0.5 * box_x) / cutoff).to(tl.int32) - cy = tl.math.floor((pwy + 0.5 * box_y) / cutoff).to(tl.int32) - cz = tl.math.floor((pwz + 0.5 * box_z) / cutoff).to(tl.int32) - cx = tl.where(cx == cell_x, 0, cx) - cy = tl.where(cy == cell_y, 0, cy) - cz = tl.where(cz == cell_z, 0, cz) - - # Loop over the 27 neighboring cells (like CUDA) - for neigh in range(27): - dx_cell = (neigh % 3) - 1 - dy_cell = ((neigh // 3) % 3) - 1 - dz_cell = (neigh // 9) - 1 - - nx = cx + dx_cell - ny = cy + dy_cell - nz = cz + dz_cell - - # Periodic wrapping of cell coordinates - nx = tl.where(nx < 0, nx + cell_x, nx) - ny = tl.where(ny < 0, ny + cell_y, ny) - nz = tl.where(nz < 0, nz + cell_z, nz) - nx = tl.where(nx >= cell_x, nx - cell_x, nx) - ny = tl.where(ny >= cell_y, ny - cell_y, ny) - nz = tl.where(nz >= cell_z, nz - cell_z, nz) - - neighbor_cell = nx + cell_x * (ny + cell_y * nz) - start = tl.load(cell_start_ptr + neighbor_cell) - end = tl.load(cell_end_ptr + neighbor_cell) - - # Skip empty cells - if start != -1: - # Use while_loop for dynamic iteration (like CUDA's for loop) - j = start - while j < end: - _process_neighbor( - j, - i_idx, - pos_ix, - pos_iy, - pos_iz, - batch_i, - ori, - pos_ptr, - batch_ptr, - sorted_index_ptr, - neighbors0_ptr, - neighbors1_ptr, - deltas_ptr, - distances_ptr, - counter_ptr, - stride_pos_0, - stride_pos_1, - stride_batch, - stride_sorted, - box_x, - box_y, - box_z, - cutoff_lower2, - cutoff_upper2, - use_periodic, - include_transpose, - loop, - max_pairs, - ) - j += 1 + N = positions.shape[0] + device = positions.device + + # 1. Setup Cell Grid (Host side logic) + # Ensure cell size >= cutoff + n_cells = (box / cutoff).floor().int() + cell_size = box / n_cells + + # 2. Sort Particles (Crucial for performance) + # Calculate cell index for every atom + cell_idx_x = (positions[:, 0] / cell_size[0]).long().clamp(0, n_cells[0] - 1) + cell_idx_y = (positions[:, 1] / cell_size[1]).long().clamp(0, n_cells[1] - 1) + cell_idx_z = (positions[:, 2] / cell_size[2]).long().clamp(0, n_cells[2] - 1) + + # Flat cell index + flat_cell_indices = ( + cell_idx_x * n_cells[1] * n_cells[2] + cell_idx_y * n_cells[2] + cell_idx_z + ) + + # Sort atoms by cell index + sorted_cell_indices, sort_idx = torch.sort(flat_cell_indices) + sorted_pos = positions[sort_idx].contiguous() + + # 3. Build Cell Pointers (Start/Count) + # Using unique_consecutive to find cell boundaries + unique_cells, counts = torch.unique_consecutive( + sorted_cell_indices, return_counts=True + ) + + # We need dense arrays for the kernel [Total_Cells] + total_cells = n_cells[0] * n_cells[1] * n_cells[2] + cell_start = torch.zeros(total_cells, dtype=torch.int32, device=device) + cell_count = torch.zeros(total_cells, dtype=torch.int32, device=device) + + # Compute starts (requires a search or scatter, here simplified) + # In production, use scatter_add or searchsorted + # Simple trick: scatter counts + cell_count.index_add_(0, unique_cells.int(), counts.int()) + + # Cumulative sum to get starts? No, we need starts in the *sorted* array. + # Since we sorted by cell, we can find starts easily. + # A fast way involves searchsorted if cells are sparse, + # but for water (dense), most cells are filled. + # We can compute starts using the counts and a prefix sum, + # but strictly speaking, we need the index in 'sorted_pos'. + + # Fast GPU-friendly start index construction: + # Find where cell index changes + change_mask = torch.cat( + [ + torch.tensor([1], device=device), + sorted_cell_indices[1:] != sorted_cell_indices[:-1], + ] + ) + change_indices = torch.nonzero(change_mask).squeeze() + # This maps unique_cells -> start_index in sorted_pos + cell_start.index_copy_(0, unique_cells.int(), change_indices.int()) + + # 4. Prepare Outputs + out_pairs = torch.empty((2, max_pairs), dtype=torch.int32, device=device) + out_deltas = torch.empty((max_pairs, 3), dtype=torch.float32, device=device) + out_dists = torch.empty((max_pairs,), dtype=torch.float32, device=device) + global_counter = torch.zeros((1,), dtype=torch.int32, device=device) + + # 5. Launch Kernel + grid = lambda META: (triton.cdiv(N, META["BLOCK_M"]),) + BLOCK_M = 64 + max_tiles = (N + BLOCK_M - 1) // BLOCK_M + + neighbor_list_kernel[grid]( + sorted_pos, + cell_start, + cell_count, + out_pairs, + out_deltas, + out_dists, + global_counter, + N, + max_pairs, + cutoff**2, + box[0].item(), + box[1].item(), + box[2].item(), + n_cells[0].item(), + n_cells[1].item(), + n_cells[2].item(), + BLOCK_M=BLOCK_M, # Tuning parameter + MAX_TILES=max_tiles, + ) + + num_pairs = global_counter.item() + + # Note: The output pairs use indices from 'sorted_pos'. + # If you need original indices, you must map them back using 'sort_idx'. + # remapped_pairs = sort_idx[out_pairs[:, :num_pairs]] + + return ( + out_pairs[:, :num_pairs], + out_deltas[:num_pairs], + out_dists[:num_pairs], + num_pairs, + ) class TritonCellNeighborAutograd(TritonNeighborAutograd): @@ -319,11 +405,12 @@ def forward( # type: ignore[override] ): if not _HAS_TRITON: raise RuntimeError("Triton is not available") + device = positions.device dtype = positions.dtype n_atoms = positions.size(0) - # Validate inputs (mirror CUDA constraints) + # Validate inputs if positions.dim() != 2 or positions.size(1) != 3: raise ValueError('Expected "positions" to have shape (N, 3)') if batch.dim() != 1 or batch.size(0) != n_atoms: @@ -331,101 +418,117 @@ def forward( # type: ignore[override] if max_num_pairs <= 0: raise ValueError('Expected "max_num_pairs" to be positive') - # Ensure box is well-formed and diagonal (cell list only supports rectangular boxes) - box_vectors = _validate_box(box_vectors, float(cutoff_upper), 1) - # Keep box on host to avoid H2D during CUDA graph capture; only scalars are used in kernels - box_vectors = box_vectors.to( - dtype=dtype, device=box_vectors.device - ).contiguous() + box_vectors = box_vectors.to(dtype=dtype, device=device).contiguous() box_diag = box_vectors[0] if box_vectors.dim() == 3 else box_vectors + box_x, box_y, box_z = ( + float(box_diag[0, 0]), + float(box_diag[1, 1]), + float(box_diag[2, 2]), + ) - # Cell grid dimensions (host math to match CUDA getCellDimensions) cell_dim_x, cell_dim_y, cell_dim_z = _get_cell_dimensions( box_vectors, float(cutoff_upper) ) num_cells = cell_dim_x * cell_dim_y * cell_dim_z - batch = batch.contiguous() - positions = positions.contiguous() - - # 1. Compute cell index per atom - cell_indices = torch.empty((n_atoms,), device=device, dtype=torch.int32) - grid_assign = lambda meta: (triton.cdiv(n_atoms, meta["BLOCK"]),) - _assign_cell_indices_kernel[grid_assign]( - positions, - cell_indices, - positions.stride(0), - positions.stride(1), - n_atoms, - float(box_diag[0, 0]), - float(box_diag[1, 1]), - float(box_diag[2, 2]), - float(cutoff_upper), - cell_dim_x, - cell_dim_y, - cell_dim_z, - BLOCK=256, - ) - - # 2. Sort atoms by cell index + # 1. Cell Index Calculation + # If Periodic: Wrap positions into [0, Box]. + # If Non-Periodic: We do NOT wrap positions physically (to preserve absolute coords), + # but we shift/map them to cell grid indices. + # Standard assumption: Positions are roughly within the box definition. + + if use_periodic: + inv_box_x = 1.0 / box_x + inv_box_y = 1.0 / box_y + inv_box_z = 1.0 / box_z + px = positions[:, 0] - torch.floor(positions[:, 0] * inv_box_x) * box_x + py = positions[:, 1] - torch.floor(positions[:, 1] * inv_box_y) * box_y + pz = positions[:, 2] - torch.floor(positions[:, 2] * inv_box_z) * box_z + else: + # For non-periodic, use raw coords. + # We assume box starts at (0,0,0). If atoms are negative, we clamp index to 0. + px, py, pz = positions[:, 0], positions[:, 1], positions[:, 2] + + cx = (px / cutoff_upper).long().clamp(0, cell_dim_x - 1) + cy = (py / cutoff_upper).long().clamp(0, cell_dim_y - 1) + cz = (pz / cutoff_upper).long().clamp(0, cell_dim_z - 1) + + cell_indices = cx * (cell_dim_y * cell_dim_z) + cy * cell_dim_z + cz + + # 2. Sort sorted_cell_indices, sorted_atom_indices = torch.sort(cell_indices) - sorted_atom_indices = sorted_atom_indices.to(torch.int32) - sorted_positions = positions.index_select(0, sorted_atom_indices) - sorted_batch = batch.index_select(0, sorted_atom_indices) + sorted_atom_indices = sorted_atom_indices.int() - # 3. Build cell start/end offsets + sorted_positions = positions.index_select( + 0, sorted_atom_indices.long() + ).contiguous() + sorted_batch = batch.index_select(0, sorted_atom_indices.long()).contiguous() + + # 3. Cell Pointers cell_start = torch.full((num_cells,), -1, device=device, dtype=torch.int32) - cell_end = torch.empty((num_cells,), device=device, dtype=torch.int32) - grid_offsets = lambda meta: (triton.cdiv(n_atoms, meta["BLOCK"]),) - _fill_cell_offsets_kernel[grid_offsets]( - sorted_cell_indices, - cell_start, - cell_end, - n_atoms, - BLOCK=256, + cell_end = torch.zeros((num_cells,), device=device, dtype=torch.int32) + + change_mask = torch.cat( + [ + torch.tensor([True], device=device), + sorted_cell_indices[1:] != sorted_cell_indices[:-1], + ] ) + change_indices = torch.nonzero(change_mask, as_tuple=False).squeeze(-1) + unique_cells = sorted_cell_indices[change_indices] + end_indices = torch.cat( + [change_indices[1:], torch.tensor([n_atoms], device=device)] + ) + + cell_start.index_copy_(0, unique_cells.long(), change_indices.int()) + cell_end.index_copy_(0, unique_cells.long(), end_indices.int()) - # 4. Traverse cell list to generate neighbor pairs - neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) - deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) - distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) + # 4. Kernel Launch + neighbors = torch.empty((2, max_num_pairs), device=device, dtype=torch.long) + deltas = torch.empty((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.empty((max_num_pairs,), device=device, dtype=dtype) counter = torch.zeros((1,), device=device, dtype=torch.int32) - # One program per atom (like CUDA's one thread per atom) - grid_traverse = (n_atoms,) - _traverse_cell_kernel[grid_traverse]( + BLOCK_M = 64 + grid = (triton.cdiv(n_atoms, BLOCK_M),) + + # Compute MAX_TILES for fixed iteration count (CUDA graph compatible) + max_tiles = (n_atoms + BLOCK_M - 1) // BLOCK_M + + neighbor_list_kernel[grid]( sorted_positions, sorted_batch, sorted_atom_indices, cell_start, cell_end, - neighbors[0], - neighbors[1], + neighbors, deltas, distances, counter, - sorted_positions.stride(0), - sorted_positions.stride(1), - sorted_batch.stride(0), - sorted_atom_indices.stride(0), n_atoms, - num_cells, - cell_dim_x, - cell_dim_y, - cell_dim_z, - float(box_diag[0, 0]), - float(box_diag[1, 1]), - float(box_diag[2, 2]), - float(cutoff_upper), - float(cutoff_lower * cutoff_lower), - float(cutoff_upper * cutoff_upper), - use_periodic, - include_transpose, - loop, max_num_pairs, + float(cutoff_lower**2), + float(cutoff_upper**2), + box_x, + box_y, + box_z, + int(cell_dim_x), + int(cell_dim_y), + int(cell_dim_z), + use_periodic=use_periodic, + loop=loop, + include_transpose=include_transpose, + BLOCK_M=BLOCK_M, + MAX_TILES=max_tiles, ) - num_pairs = counter.to(torch.long) + num_found = counter.item() + + # Trim results + neighbors = neighbors[:, :num_found] + deltas = deltas[:num_found] + distances = distances[:num_found] + ctx.save_for_backward(neighbors, deltas, distances) ctx.num_atoms = n_atoms - return neighbors, deltas, distances, num_pairs + return neighbors, deltas, distances, torch.tensor([num_found], device=device) diff --git a/torchmdnet/extensions/triton_sorted_cell_list.py b/torchmdnet/extensions/triton_sorted_cell_list.py deleted file mode 100644 index e79703a91..000000000 --- a/torchmdnet/extensions/triton_sorted_cell_list.py +++ /dev/null @@ -1,328 +0,0 @@ -import torch - -import torch -import triton -import triton.language as tl - - -@triton.jit -def neighbor_list_kernel( - # Pointers to inputs - Coords, # [N_atoms, 3] Sorted coordinates - CellStart, # [N_cells] Index where each cell starts in Coords - CellCount, # [N_cells] Number of atoms in each cell - # Pointers to outputs - OutPairs, # [2, Max_Pairs] - OutDeltas, # [Max_Pairs, 3] - OutDists, # [Max_Pairs] - GlobalCounter, # [1] Atomic counter for current pair count - # Constants - n_atoms, # Total atoms - max_pairs, # Size of output buffer - cutoff_sq, # Cutoff squared - # Box dimensions for PBC - box_x, - box_y, - box_z, - # Grid dimensions - n_cells_x, - n_cells_y, - n_cells_z, - # Block constants - BLOCK_M: tl.constexpr, # Size of Query Block -): - # 1. Identify Query Atoms - pid = tl.program_id(0) - # Range of atom indices this block handles - idx_m = pid * BLOCK_M + tl.arange(0, BLOCK_M) - mask_m = idx_m < n_atoms - - # Load Query Coordinates - # We assume Coords are [N, 3] and contiguous (row-major) - off_x = idx_m * 3 + 0 - off_y = idx_m * 3 + 1 - off_z = idx_m * 3 + 2 - - # Load query positions - pos_mx = tl.load(Coords + off_x, mask=mask_m, other=0.0) - pos_my = tl.load(Coords + off_y, mask=mask_m, other=0.0) - pos_mz = tl.load(Coords + off_z, mask=mask_m, other=0.0) - - # 2. Determine which Cell these atoms belong to - # Since input is sorted, we can just look at the cell of the first atom in the block - # (Approximation: assumes BLOCK_M atoms fit in one or two cells, usually true for sorted data) - # Ideally, we calculate cell indices explicitly for robustness. - # Cell index = floor(pos / cell_size). Here we reconstruct it: - # Note: For highest speed, pass 'CellIndices' array instead of recomputing. - # Below we use the Grid Loop strategy: Iterate ALL 27 neighbor cells relative to the query cell. - - # Calculating cell index for the *first* atom in block to find "Home Cell" - # (Assuming sorted atoms are localized) - cell_sx = box_x / n_cells_x - cell_sy = box_y / n_cells_y - cell_sz = box_z / n_cells_z - - # Current cell indices (i, j, k) for the first atom in the block - c_i = (pos_mx[0] / cell_sx).to(tl.int32) - c_j = (pos_my[0] / cell_sy).to(tl.int32) - c_k = (pos_mz[0] / cell_sz).to(tl.int32) - - # 3. Iterate over 3x3x3 Neighbor Cells - # We loop -1 to 1 in each dimension - for i in range(-1, 2): - for j in range(-1, 2): - for k in range(-1, 2): - - # Apply PBC to find neighbor cell index - # (x % N + N) % N handles negative wrapping - n_idx_x = (c_i + i + n_cells_x) % n_cells_x - n_idx_y = (c_j + j + n_cells_y) % n_cells_y - n_idx_z = (c_k + k + n_cells_z) % n_cells_z - - # Flat neighbor cell index - cell_idx = ( - n_idx_x * (n_cells_y * n_cells_z) + n_idx_y * n_cells_z + n_idx_z - ) - - # Get start and count of atoms in this neighbor cell - start = tl.load(CellStart + cell_idx) - count = tl.load(CellCount + cell_idx) - - # Loop over atoms in the neighbor cell - # We process them in chunks of BLOCK_M (or similar size) - for tile_idx in range(0, count, BLOCK_M): - # Candidate Indices - idx_n = start + tile_idx + tl.arange(0, BLOCK_M) - mask_n = (tile_idx + tl.arange(0, BLOCK_M)) < count - - # Load Candidate Coords - off_nx = idx_n * 3 + 0 - off_ny = idx_n * 3 + 1 - off_nz = idx_n * 3 + 2 - - pos_nx = tl.load(Coords + off_nx, mask=mask_n, other=0.0) - pos_ny = tl.load(Coords + off_ny, mask=mask_n, other=0.0) - pos_nz = tl.load(Coords + off_nz, mask=mask_n, other=0.0) - - # Broadcast shapes for pairwise calculation - # Query: [BLOCK_M, 1], Candidate: [1, BLOCK_M] - q_x = pos_mx[:, None] - q_y = pos_my[:, None] - q_z = pos_mz[:, None] - - c_x = pos_nx[None, :] - c_y = pos_ny[None, :] - c_z = pos_nz[None, :] - - # --- PBC Distance Calculation (Minimum Image) --- - dx = q_x - c_x - dy = q_y - c_y - dz = q_z - c_z - - # dx = dx - box * round(dx / box) - dx = dx - box_x * tl.math.round(dx / box_x) - dy = dy - box_y * tl.math.round(dy / box_y) - dz = dz - box_z * tl.math.round(dz / box_z) - - dist_sq = dx * dx + dy * dy + dz * dz - - # --- Filtering --- - # 1. Distance check - is_neighbor = dist_sq < cutoff_sq - - # 2. Avoid double counting (i < j) and self-interaction (i != j) - # Note: For simple neighbor lists, we often want i != j. - # If you need half-list (Newton's 3rd law), use idx_m[:, None] < idx_n[None, :] - idx_m_bc = idx_m[:, None] - idx_n_bc = idx_n[None, :] - - # Enforce strictly upper triangular for half-list, or just i != j for full - valid_mask = ( - is_neighbor - & (idx_m_bc < idx_n_bc) - & mask_m[:, None] - & mask_n[None, :] - ) - - # --- Block-wise Output Allocation --- - # Count how many pairs we found in this tile - # We cast to int32 because sum returns same dtype as input (int1) - num_found = tl.sum(valid_mask.to(tl.int32)) - - if num_found > 0: - # ATOMIC ADD: Reserve space in the global output buffer - # This happens once per tile, not per pair -> Much faster - current_offset = tl.atomic_add(GlobalCounter, num_found) - - # Guard against overflow - if current_offset + num_found <= max_pairs: - # We need to flatten the 2D block results to 1D to write them out. - # Triton doesn't have a direct "compress/compact" instruction yet for 2D->1D. - # We compute running index (prefix sum) within the block to find write slot. - - # Flatten the mask to [BLOCK_M * BLOCK_M] - flat_mask = tl.ravel(valid_mask) - - # Compute exclusive scan (cumsum) to determine thread offset - # Note: tl.cumsum is not fully exposed on all blocks easily, - # usually strictly sequential manual scan or use 'where' logic. - # OPTIMIZATION: For Triton, we can iterate positions. - - # Because fully parallel scan is complex in a snippet, - # we verify valid indices and write. - - # Calculate write indices - # This is a bit tricky in Triton without `scan`. - # Simpler approach for snippet: iterate and write (serialized within block) - # OR utilize `tl.where` with pre-calculated indices if density is high. - - # High-Performance approach: - # Since we know `num_found` is small (sparse), we can just store - # the valid pairs. - - # Generate offsets for valid elements - csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) - # csum is inclusive, so write_idx = start + csum - 1 - - store_idx = current_offset + csum - 1 - - # Flatten data - flat_dx = tl.ravel(dx) - flat_dy = tl.ravel(dy) - flat_dz = tl.ravel(dz) - flat_dsq = tl.ravel(dist_sq) - flat_idx_m = tl.ravel(idx_m_bc) - flat_idx_n = tl.ravel(idx_n_bc) - - # Write only valid entries - tl.store( - OutPairs + 0 * max_pairs + store_idx, - flat_idx_m, - mask=flat_mask, - ) - tl.store( - OutPairs + 1 * max_pairs + store_idx, - flat_idx_n, - mask=flat_mask, - ) - - tl.store( - OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask - ) - tl.store( - OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask - ) - tl.store( - OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask - ) - - tl.store( - OutDists + store_idx, tl.sqrt(flat_dsq), mask=flat_mask - ) - - -def find_neighbors(positions, box, cutoff, max_pairs=10_000_000): - """ - positions: [N, 3] tensor - box: [3] tensor (Lx, Ly, Lz) - cutoff: scalar - """ - N = positions.shape[0] - device = positions.device - - # 1. Setup Cell Grid (Host side logic) - # Ensure cell size >= cutoff - n_cells = (box / cutoff).floor().int() - cell_size = box / n_cells - - # 2. Sort Particles (Crucial for performance) - # Calculate cell index for every atom - cell_idx_x = (positions[:, 0] / cell_size[0]).long().clamp(0, n_cells[0] - 1) - cell_idx_y = (positions[:, 1] / cell_size[1]).long().clamp(0, n_cells[1] - 1) - cell_idx_z = (positions[:, 2] / cell_size[2]).long().clamp(0, n_cells[2] - 1) - - # Flat cell index - flat_cell_indices = ( - cell_idx_x * n_cells[1] * n_cells[2] + cell_idx_y * n_cells[2] + cell_idx_z - ) - - # Sort atoms by cell index - sorted_cell_indices, sort_idx = torch.sort(flat_cell_indices) - sorted_pos = positions[sort_idx].contiguous() - - # 3. Build Cell Pointers (Start/Count) - # Using unique_consecutive to find cell boundaries - unique_cells, counts = torch.unique_consecutive( - sorted_cell_indices, return_counts=True - ) - - # We need dense arrays for the kernel [Total_Cells] - total_cells = n_cells[0] * n_cells[1] * n_cells[2] - cell_start = torch.zeros(total_cells, dtype=torch.int32, device=device) - cell_count = torch.zeros(total_cells, dtype=torch.int32, device=device) - - # Compute starts (requires a search or scatter, here simplified) - # In production, use scatter_add or searchsorted - # Simple trick: scatter counts - cell_count.index_add_(0, unique_cells.int(), counts.int()) - - # Cumulative sum to get starts? No, we need starts in the *sorted* array. - # Since we sorted by cell, we can find starts easily. - # A fast way involves searchsorted if cells are sparse, - # but for water (dense), most cells are filled. - # We can compute starts using the counts and a prefix sum, - # but strictly speaking, we need the index in 'sorted_pos'. - - # Fast GPU-friendly start index construction: - # Find where cell index changes - change_mask = torch.cat( - [ - torch.tensor([1], device=device), - sorted_cell_indices[1:] != sorted_cell_indices[:-1], - ] - ) - change_indices = torch.nonzero(change_mask).squeeze() - # This maps unique_cells -> start_index in sorted_pos - cell_start.index_copy_(0, unique_cells.int(), change_indices.int()) - - # 4. Prepare Outputs - out_pairs = torch.empty((2, max_pairs), dtype=torch.int32, device=device) - out_deltas = torch.empty((max_pairs, 3), dtype=torch.float32, device=device) - out_dists = torch.empty((max_pairs,), dtype=torch.float32, device=device) - global_counter = torch.zeros((1,), dtype=torch.int32, device=device) - - # 5. Launch Kernel - grid = lambda META: (triton.cdiv(N, META["BLOCK_M"]),) - - neighbor_list_kernel[grid]( - sorted_pos, - cell_start, - cell_count, - out_pairs, - out_deltas, - out_dists, - global_counter, - N, - max_pairs, - cutoff**2, - box[0].item(), - box[1].item(), - box[2].item(), - n_cells[0].item(), - n_cells[1].item(), - n_cells[2].item(), - BLOCK_M=64, # Tuning parameter - ) - - num_pairs = global_counter.item() - - # Note: The output pairs use indices from 'sorted_pos'. - # If you need original indices, you must map them back using 'sort_idx'. - # remapped_pairs = sort_idx[out_pairs[:, :num_pairs]] - - return ( - out_pairs[:, :num_pairs], - out_deltas[:num_pairs], - out_dists[:num_pairs], - num_pairs, - ) From a4b4564b631acd2195eee7acd50fe08d91f5aa58 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 16:20:57 +0200 Subject: [PATCH 26/80] wip --- torchmdnet/extensions/triton_cell.py | 93 ++++++++++++++-------------- 1 file changed, 47 insertions(+), 46 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index d0e9bb5ad..bc2acc0b2 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -1,3 +1,5 @@ +import math + try: import triton import triton.language as tl @@ -18,16 +20,6 @@ ) -import torch -import triton -import triton.language as tl - - -import torch -import triton -import triton.language as tl - - @triton.jit def neighbor_list_kernel( # Pointers @@ -75,14 +67,16 @@ def neighbor_list_kernel( cell_sz = box_z / n_cells_z # Local coords for cell calculation (vectorized for all atoms in block) - px = pos_mx - py = pos_my - pz = pos_mz - + # Match CUDA implementation: for periodic, wrap to [0, box); for non-periodic, shift by 0.5*box if use_periodic: - px = px - box_x * tl.math.floor(px / box_x) - py = py - box_y * tl.math.floor(py / box_y) - pz = pz - box_z * tl.math.floor(pz / box_z) + px = pos_mx - box_x * tl.math.floor(pos_mx / box_x) + py = pos_my - box_y * tl.math.floor(pos_my / box_y) + pz = pos_mz - box_z * tl.math.floor(pos_mz / box_z) + else: + # For non-periodic, shift by half box (like CUDA impl: (p + 0.5*box) / cutoff) + px = pos_mx + 0.5 * box_x + py = pos_my + 0.5 * box_y + pz = pos_mz + 0.5 * box_z # Cell indices for each atom in the block (vectors of size BLOCK_M) c_i_vec = (px / cell_sx).to(tl.int32) @@ -418,7 +412,12 @@ def forward( # type: ignore[override] if max_num_pairs <= 0: raise ValueError('Expected "max_num_pairs" to be positive') - box_vectors = box_vectors.to(dtype=dtype, device=device).contiguous() + # Handle box_vectors - following CUDA cell implementation approach: + # The box must be provided and valid. For non-periodic, the box defines the cell grid bounds. + # Move to correct device/dtype only if needed (avoid CPU sync during graph capture) + if box_vectors.device != device or box_vectors.dtype != dtype: + box_vectors = box_vectors.to(dtype=dtype, device=device) + box_vectors = box_vectors.contiguous() box_diag = box_vectors[0] if box_vectors.dim() == 3 else box_vectors box_x, box_y, box_z = ( float(box_diag[0, 0]), @@ -426,17 +425,16 @@ def forward( # type: ignore[override] float(box_diag[2, 2]), ) + # Compute cell dimensions - match CUDA implementation limits cell_dim_x, cell_dim_y, cell_dim_z = _get_cell_dimensions( box_vectors, float(cutoff_upper) ) num_cells = cell_dim_x * cell_dim_y * cell_dim_z # 1. Cell Index Calculation - # If Periodic: Wrap positions into [0, Box]. - # If Non-Periodic: We do NOT wrap positions physically (to preserve absolute coords), - # but we shift/map them to cell grid indices. - # Standard assumption: Positions are roughly within the box definition. - + # For periodic: wrap positions to [0, box) using PBC + # For non-periodic: shift positions by half box (matching CUDA cell implementation) + # The CUDA implementation uses: (p + 0.5 * box_size) / cutoff for cell index if use_periodic: inv_box_x = 1.0 / box_x inv_box_y = 1.0 / box_y @@ -445,9 +443,11 @@ def forward( # type: ignore[override] py = positions[:, 1] - torch.floor(positions[:, 1] * inv_box_y) * box_y pz = positions[:, 2] - torch.floor(positions[:, 2] * inv_box_z) * box_z else: - # For non-periodic, use raw coords. - # We assume box starts at (0,0,0). If atoms are negative, we clamp index to 0. - px, py, pz = positions[:, 0], positions[:, 1], positions[:, 2] + # For non-periodic, shift positions by half box (like CUDA impl) + # This centers the cell grid around the origin + px = positions[:, 0] + 0.5 * box_x + py = positions[:, 1] + 0.5 * box_y + pz = positions[:, 2] + 0.5 * box_z cx = (px / cutoff_upper).long().clamp(0, cell_dim_x - 1) cy = (py / cutoff_upper).long().clamp(0, cell_dim_y - 1) @@ -464,24 +464,29 @@ def forward( # type: ignore[override] ).contiguous() sorted_batch = batch.index_select(0, sorted_atom_indices.long()).contiguous() - # 3. Cell Pointers - cell_start = torch.full((num_cells,), -1, device=device, dtype=torch.int32) + # 3. Cell Pointers (CUDA graph compatible using scatter_reduce) + # Initialize cell_start with n_atoms (will use scatter_reduce 'amin') + # Initialize cell_end with 0 (will use scatter_reduce 'amax') + cell_start = torch.full((num_cells,), n_atoms, device=device, dtype=torch.int32) cell_end = torch.zeros((num_cells,), device=device, dtype=torch.int32) - change_mask = torch.cat( - [ - torch.tensor([True], device=device), - sorted_cell_indices[1:] != sorted_cell_indices[:-1], - ] + # Compute cell boundaries using scatter_reduce (fixed output size, CUDA graph compatible) + atom_indices = torch.arange(n_atoms, device=device, dtype=torch.int32) + sorted_cell_indices_long = sorted_cell_indices.long() + # cell_start[cell] = min index of atoms in that cell + cell_start.scatter_reduce_( + 0, sorted_cell_indices_long, atom_indices, reduce="amin", include_self=True ) - change_indices = torch.nonzero(change_mask, as_tuple=False).squeeze(-1) - unique_cells = sorted_cell_indices[change_indices] - end_indices = torch.cat( - [change_indices[1:], torch.tensor([n_atoms], device=device)] + # cell_end[cell] = max index + 1 of atoms in that cell + end_indices = atom_indices + 1 + cell_end.scatter_reduce_( + 0, sorted_cell_indices_long, end_indices, reduce="amax", include_self=True ) - cell_start.index_copy_(0, unique_cells.long(), change_indices.int()) - cell_end.index_copy_(0, unique_cells.long(), end_indices.int()) + # Mark empty cells with -1 for cell_start (cells where cell_end remained 0) + # Use in-place operation to avoid tensor creation during CUDA graph capture + empty_cell_mask = cell_end == 0 + cell_start.masked_fill_(empty_cell_mask, -1) # 4. Kernel Launch neighbors = torch.empty((2, max_num_pairs), device=device, dtype=torch.long) @@ -522,13 +527,9 @@ def forward( # type: ignore[override] MAX_TILES=max_tiles, ) - num_found = counter.item() - - # Trim results - neighbors = neighbors[:, :num_found] - deltas = deltas[:num_found] - distances = distances[:num_found] + # Return counter as tensor to avoid GPU->CPU sync (CUDA graph compatible) + num_pairs = counter.to(torch.long) ctx.save_for_backward(neighbors, deltas, distances) ctx.num_atoms = n_atoms - return neighbors, deltas, distances, torch.tensor([num_found], device=device) + return neighbors, deltas, distances, num_pairs From ade0732a1ca527615817bad80b8d0128bc4041b3 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Mon, 15 Dec 2025 16:22:14 +0200 Subject: [PATCH 27/80] wip --- torchmdnet/extensions/triton_cell.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index bc2acc0b2..2aec8067e 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -489,9 +489,10 @@ def forward( # type: ignore[override] cell_start.masked_fill_(empty_cell_mask, -1) # 4. Kernel Launch - neighbors = torch.empty((2, max_num_pairs), device=device, dtype=torch.long) - deltas = torch.empty((max_num_pairs, 3), device=device, dtype=dtype) - distances = torch.empty((max_num_pairs,), device=device, dtype=dtype) + # Initialize neighbors to -1 so unused slots are properly marked + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) counter = torch.zeros((1,), device=device, dtype=torch.int32) BLOCK_M = 64 From 96bdd98df112b56e726d86df142ca209c90d2228 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 12:41:26 +0200 Subject: [PATCH 28/80] different cell impl --- torchmdnet/extensions/ops.py | 32 +----- .../extensions/torchmdnet_extensions.cpp | 73 -------------- torchmdnet/extensions/triton_cell.py | 99 ++++++++++++------- torchmdnet/extensions/triton_neighbors.py | 23 +---- torchmdnet/models/output_modules.py | 3 +- torchmdnet/models/utils.py | 24 ++++- 6 files changed, 96 insertions(+), 158 deletions(-) delete mode 100644 torchmdnet/extensions/torchmdnet_extensions.cpp diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index 5a77b8f7e..d10a58762 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -10,36 +10,11 @@ import torch from torch import Tensor from typing import Tuple -from torch.library import register_fake from . import triton_neighbors -__all__ = ["is_current_stream_capturing", "get_neighbor_pairs_kernel"] - - -def is_current_stream_capturing(): - """Returns True if the current CUDA stream is capturing. - - Returns False if CUDA is not available or the current stream is not capturing. - - This utility is required because the builtin torch function that does this is not scriptable. - """ - _is_current_stream_capturing = ( - torch.ops.torchmdnet_extensions.is_current_stream_capturing - ) - return _is_current_stream_capturing() - - -@torch.jit.ignore -def _stream_is_capturing_runtime() -> bool: - try: - return torch.cuda.is_current_stream_capturing() - except Exception: - try: - return is_current_stream_capturing() - except Exception: - return False +__all__ = ["get_neighbor_pairs_kernel"] def get_neighbor_pairs_kernel( @@ -53,6 +28,7 @@ def get_neighbor_pairs_kernel( max_num_pairs: int, loop: bool, include_transpose: bool, + num_cells: int, ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: """Computes the neighbor pairs for a given set of atomic positions. The list is generated as a list of pairs (i,j) without any enforced ordering. @@ -80,7 +56,8 @@ def get_neighbor_pairs_kernel( Whether to include self-interactions. include_transpose : bool Whether to include the transpose of the neighbor list (pair i,j and pair j,i). - + num_cells : int + The number of cells in the grid if using the cell strategy. Returns ------- neighbors : Tensor @@ -117,4 +94,5 @@ def get_neighbor_pairs_kernel( max_num_pairs, loop, include_transpose, + num_cells, ) diff --git a/torchmdnet/extensions/torchmdnet_extensions.cpp b/torchmdnet/extensions/torchmdnet_extensions.cpp deleted file mode 100644 index 992a3b178..000000000 --- a/torchmdnet/extensions/torchmdnet_extensions.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - *(See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - * Raul P. Pelaez 2023. Torch extensions to the torchmdnet library. - * You can expose functions to python here which will be compatible with TorchScript. - * Add your exports to the TORCH_LIBRARY macro below, see __init__.py to see how to access them from python. - * The WITH_CUDA macro will be defined when compiling with CUDA support. - */ - - -#include -#include -#include -#include - -#if defined(WITH_CUDA) -#include -#include -#endif - - -extern "C" { - /* Creates a dummy empty torchmdnet_extensions module that can be imported from Python. - The import from Python will load the .so consisting of this file - in this extension, so that the TORCH_LIBRARY static initializers - below are run. */ - PyObject* PyInit_torchmdnet_extensions(void) - { - static struct PyModuleDef module_def = { - PyModuleDef_HEAD_INIT, - "torchmdnet_extensions", /* name of module */ - NULL, /* module documentation, may be NULL */ - -1, /* size of per-interpreter state of the module, - or -1 if the module keeps state in global variables. */ - NULL, /* methods */ - }; - return PyModule_Create(&module_def); - } -} - -/* @brief Returns true if the current torch CUDA stream is capturing. - * This function is required because the one available in torch is not compatible with TorchScript. - * @return True if the current torch CUDA stream is capturing. - */ -bool is_current_stream_capturing() { -#if defined(WITH_CUDA) - auto current_stream = at::cuda::getCurrentCUDAStream().stream(); - cudaStreamCaptureStatus capture_status; - cudaError_t err = cudaStreamGetCaptureInfo(current_stream, &capture_status, nullptr); - if (err != cudaSuccess) { - throw std::runtime_error(cudaGetErrorString(err)); - } - return capture_status == cudaStreamCaptureStatus::cudaStreamCaptureStatusActive; -#else - return false; -#endif -} - -TORCH_LIBRARY(torchmdnet_extensions, m) { - m.def("is_current_stream_capturing", is_current_stream_capturing); - m.def("get_neighbor_pairs(str strategy, Tensor positions, Tensor batch, Tensor box_vectors, " - "bool use_periodic, Scalar cutoff_lower, Scalar cutoff_upper, Scalar max_num_pairs, bool " - "loop, bool include_transpose) -> (Tensor neighbors, Tensor distances, Tensor " - "distance_vecs, Tensor num_pairs)"); - //The individual fwd and bkwd functions must be exposed in order to register their meta implementations python side. - m.def("get_neighbor_pairs_fwd(str strategy, Tensor positions, Tensor batch, Tensor box_vectors, " - "bool use_periodic, Scalar cutoff_lower, Scalar cutoff_upper, Scalar max_num_pairs, bool " - "loop, bool include_transpose) -> (Tensor neighbors, Tensor distances, Tensor " - "distance_vecs, Tensor num_pairs)"); - m.def("get_neighbor_pairs_bkwd(Tensor grad_edge_vec, Tensor grad_edge_weight, Tensor edge_index, " - "Tensor edge_vec, Tensor edge_weight, int num_atoms) -> Tensor"); -} diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 2aec8067e..1b895379e 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -1,5 +1,3 @@ -import math - try: import triton import triton.language as tl @@ -16,7 +14,6 @@ _tl_round, TritonNeighborAutograd, _validate_box, - _get_cell_dimensions, ) @@ -32,17 +29,13 @@ def neighbor_list_kernel( OutDeltas, OutDists, GlobalCounter, + BoxSizes, # Pointer to [box_x, box_y, box_z] + CellDims, # Pointer to [n_cells_x, n_cells_y, n_cells_z] # Parameters n_atoms, max_pairs, cutoff_lower_sq, cutoff_upper_sq, - box_x, - box_y, - box_z, - n_cells_x, - n_cells_y, - n_cells_z, # Flags use_periodic: tl.constexpr, # Enable/Disable PBC loop: tl.constexpr, # Enable/Disable Self-interactions @@ -54,6 +47,16 @@ def neighbor_list_kernel( idx_m = pid * BLOCK_M + tl.arange(0, BLOCK_M) mask_m = idx_m < n_atoms + # Load box sizes (CUDA graph compatible - no CPU sync) + box_x = tl.load(BoxSizes + 0) + box_y = tl.load(BoxSizes + 1) + box_z = tl.load(BoxSizes + 2) + + # Load cell dimensions (CUDA graph compatible - no CPU sync) + n_cells_x = tl.load(CellDims + 0) + n_cells_y = tl.load(CellDims + 1) + n_cells_z = tl.load(CellDims + 2) + # Load Query Data off_m = idx_m pos_mx = tl.load(SortedCoords + off_m * 3 + 0, mask=mask_m, other=0.0) @@ -383,6 +386,18 @@ def find_neighbors(positions, box, cutoff, max_pairs=10_000_000): ) +def _get_cell_dimensions( + box_x: torch.float32, + box_y: torch.float32, + box_z: torch.float32, + cutoff_upper: torch.float32, +) -> int: + nx = torch.floor(box_x / cutoff_upper).clamp(min=3).long() + ny = torch.floor(box_y / cutoff_upper).clamp(min=3).long() + nz = torch.floor(box_z / cutoff_upper).clamp(min=3).long() + return torch.stack([nx, ny, nz]) + + class TritonCellNeighborAutograd(TritonNeighborAutograd): @staticmethod def forward( # type: ignore[override] @@ -391,11 +406,12 @@ def forward( # type: ignore[override] batch: Tensor, box_vectors: Tensor, use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, + cutoff_lower: torch.float32, + cutoff_upper: torch.float32, max_num_pairs: int, loop: bool, include_transpose: bool, + num_cells: int, ): if not _HAS_TRITON: raise RuntimeError("Triton is not available") @@ -415,21 +431,19 @@ def forward( # type: ignore[override] # Handle box_vectors - following CUDA cell implementation approach: # The box must be provided and valid. For non-periodic, the box defines the cell grid bounds. # Move to correct device/dtype only if needed (avoid CPU sync during graph capture) - if box_vectors.device != device or box_vectors.dtype != dtype: - box_vectors = box_vectors.to(dtype=dtype, device=device) + # if box_vectors.device != device or box_vectors.dtype != dtype: + # box_vectors = box_vectors.to(dtype=dtype, device=device) box_vectors = box_vectors.contiguous() box_diag = box_vectors[0] if box_vectors.dim() == 3 else box_vectors - box_x, box_y, box_z = ( - float(box_diag[0, 0]), - float(box_diag[1, 1]), - float(box_diag[2, 2]), - ) + # Keep as tensors to avoid GPU->CPU sync during CUDA graph capture + box_x = box_diag[0, 0] + box_y = box_diag[1, 1] + box_z = box_diag[2, 2] + # Create a contiguous tensor for kernel (CUDA graph compatible) + box_sizes = torch.stack([box_x, box_y, box_z]).contiguous() - # Compute cell dimensions - match CUDA implementation limits - cell_dim_x, cell_dim_y, cell_dim_z = _get_cell_dimensions( - box_vectors, float(cutoff_upper) - ) - num_cells = cell_dim_x * cell_dim_y * cell_dim_z + # Compute dimensions using torch operations (stays on GPU) + cell_dims = _get_cell_dimensions(box_x, box_y, box_z, cutoff_upper) # 1. Cell Index Calculation # For periodic: wrap positions to [0, box) using PBC @@ -449,11 +463,22 @@ def forward( # type: ignore[override] py = positions[:, 1] + 0.5 * box_y pz = positions[:, 2] + 0.5 * box_z - cx = (px / cutoff_upper).long().clamp(0, cell_dim_x - 1) - cy = (py / cutoff_upper).long().clamp(0, cell_dim_y - 1) - cz = (pz / cutoff_upper).long().clamp(0, cell_dim_z - 1) + # Compute cell indices and clamp using broadcasting to avoid scalar extraction + # Stack positions for vectorized operation + p_stacked = torch.stack([px, py, pz], dim=1) # (n_atoms, 3) + cell_coords = (p_stacked / cutoff_upper).long() # (n_atoms, 3) - cell_indices = cx * (cell_dim_y * cell_dim_z) + cy * cell_dim_z + cz + # Clamp using broadcasting: cell_dims is shape (3,), cell_coords is (n_atoms, 3) + cell_coords = torch.clamp( + cell_coords, min=torch.zeros(3, device=device), max=cell_dims - 1 + ) + + # Extract individual coordinates + cx = cell_coords[:, 0] + cy = cell_coords[:, 1] + cz = cell_coords[:, 2] + + cell_indices = cx * (cell_dims[1] * cell_dims[2]) + cy * cell_dims[2] + cz # 2. Sort sorted_cell_indices, sorted_atom_indices = torch.sort(cell_indices) @@ -467,6 +492,7 @@ def forward( # type: ignore[override] # 3. Cell Pointers (CUDA graph compatible using scatter_reduce) # Initialize cell_start with n_atoms (will use scatter_reduce 'amin') # Initialize cell_end with 0 (will use scatter_reduce 'amax') + # num_cells_t is a tensor, PyTorch will extract the value for buffer size cell_start = torch.full((num_cells,), n_atoms, device=device, dtype=torch.int32) cell_end = torch.zeros((num_cells,), device=device, dtype=torch.int32) @@ -511,16 +537,12 @@ def forward( # type: ignore[override] deltas, distances, counter, + box_sizes, + cell_dims, n_atoms, max_num_pairs, - float(cutoff_lower**2), - float(cutoff_upper**2), - box_x, - box_y, - box_z, - int(cell_dim_x), - int(cell_dim_y), - int(cell_dim_z), + cutoff_lower**2, + cutoff_upper**2, use_periodic=use_periodic, loop=loop, include_transpose=include_transpose, @@ -534,3 +556,10 @@ def forward( # type: ignore[override] ctx.save_for_backward(neighbors, deltas, distances) ctx.num_atoms = n_atoms return neighbors, deltas, distances, num_pairs + + @staticmethod + def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] + bwd = TritonNeighborAutograd.backward( + ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs + ) + return *bwd, None diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index b94283c06..bca2842ce 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -44,23 +44,6 @@ def _validate_box(box_vectors: Tensor, cutoff_upper: float, n_batch: int) -> Ten return box_vectors -def _get_cell_dimensions( - box_vectors: Tensor, cutoff_upper: float -) -> Tuple[int, int, int]: - """Return (nx, ny, nz) cell counts following the CUDA cell list logic.""" - # box_vectors is either (3, 3) or (1, 3, 3) and already validated as diagonal - if box_vectors.dim() == 3: - box_diag = box_vectors[0] - else: - box_diag = box_vectors - nx = int(max(math.floor(float(box_diag[0, 0]) / cutoff_upper), 3)) - ny = int(max(math.floor(float(box_diag[1, 1]) / cutoff_upper), 3)) - nz = int(max(math.floor(float(box_diag[2, 2]) / cutoff_upper), 3)) - if nx > 1024 or ny > 1024 or nz > 1024: - raise RuntimeError("Too many cells in one dimension. Maximum is 1024") - return nx, ny, nz - - def _apply_pbc_torch(deltas: Tensor, box_for_pairs: Tensor) -> Tensor: # box_for_pairs: (num_pairs, 3, 3) scale3 = _round_nearest(deltas[:, 2] / box_for_pairs[:, 2, 2]) @@ -266,6 +249,7 @@ def triton_neighbor_pairs( max_num_pairs: int, loop: bool, include_transpose: bool, + num_cells: int, ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd @@ -296,11 +280,12 @@ def triton_neighbor_pairs( batch, box_vectors, use_periodic, - float(cutoff_lower), - float(cutoff_upper), + cutoff_lower, + cutoff_upper, int(max_num_pairs), bool(loop), bool(include_transpose), + num_cells, ) elif strategy == "shared": return TritonSharedNeighborAutograd.apply( diff --git a/torchmdnet/models/output_modules.py b/torchmdnet/models/output_modules.py index a2537a0e6..5bcee7d08 100644 --- a/torchmdnet/models/output_modules.py +++ b/torchmdnet/models/output_modules.py @@ -13,7 +13,6 @@ MLP, ) from torchmdnet.utils import atomic_masses -from torchmdnet.extensions.ops import is_current_stream_capturing from warnings import warn __all__ = ["Scalar", "DipoleMoment", "ElectronicSpatialExtent"] @@ -40,7 +39,7 @@ def pre_reduce(self, x, v, z, pos, batch): return def reduce(self, x, batch): - is_capturing = x.is_cuda and is_current_stream_capturing() + is_capturing = x.is_cuda and torch.cuda.is_current_stream_capturing() if not x.is_cuda or not is_capturing: self.dim_size = int(batch.max().item() + 1) if is_capturing: diff --git a/torchmdnet/models/utils.py b/torchmdnet/models/utils.py index 7b0452a9e..c1c579233 100644 --- a/torchmdnet/models/utils.py +++ b/torchmdnet/models/utils.py @@ -207,6 +207,7 @@ def __init__( self.include_transpose = include_transpose self.resize_to_fit = resize_to_fit self.use_periodic = True + self.num_cells = 0 if self.box is None: self.use_periodic = False self.box = torch.empty((0, 0)) @@ -217,7 +218,18 @@ def __init__( [[lbox, 0, 0], [0, lbox, 0], [0, 0, lbox]], device="cpu" ) if self.strategy == "cell": - self.box = self.box.cpu() + from torchmdnet.extensions.triton_cell import _get_cell_dimensions + + cell_dims = _get_cell_dimensions( + self.box[0, 0], self.box[1, 1], self.box[2, 2], cutoff_upper + ) + self.num_cells = int(cell_dims.prod()) + if self.num_cells > 1024**3: + raise RuntimeError( + f"Too many cells: {self.num_cells}. Maximum is 1024^3. " + f"Reduce box size or increase cutoff." + ) + self.check_errors = check_errors self.long_edge_index = long_edge_index @@ -255,9 +267,16 @@ def forward( use_periodic = self.use_periodic if not use_periodic: use_periodic = box is not None + using_default_box = box is None box = self.box if box is None else box assert box is not None, "Box must be provided" - box = box.to(pos.dtype) + # Move box to correct device/dtype. Cache result if using default box + # to avoid CPU->GPU transfer during CUDA graph capture. + if box.device != pos.device or box.dtype != pos.dtype: + box = box.to(dtype=pos.dtype, device=pos.device) + if using_default_box: + self.box = box + max_pairs: int = self.max_num_pairs if self.max_num_pairs < 0: max_pairs = -self.max_num_pairs * pos.shape[0] @@ -274,6 +293,7 @@ def forward( include_transpose=self.include_transpose, box_vectors=box, use_periodic=use_periodic, + num_cells=self.num_cells, ) if self.check_errors: assert ( From c14981a8a092fe61431dbec28a54249e98c5f5fc Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 13:26:38 +0200 Subject: [PATCH 29/80] one more cell implementation --- torchmdnet/extensions/triton_cell.py | 110 ----- torchmdnet/extensions/triton_cell_v2.py | 498 ++++++++++++++++++++++ torchmdnet/extensions/triton_neighbors.py | 3 +- 3 files changed, 500 insertions(+), 111 deletions(-) create mode 100644 torchmdnet/extensions/triton_cell_v2.py diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 1b895379e..f129b93be 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -276,116 +276,6 @@ def neighbor_list_kernel( ) -def find_neighbors(positions, box, cutoff, max_pairs=10_000_000): - """ - positions: [N, 3] tensor - box: [3] tensor (Lx, Ly, Lz) - cutoff: scalar - """ - N = positions.shape[0] - device = positions.device - - # 1. Setup Cell Grid (Host side logic) - # Ensure cell size >= cutoff - n_cells = (box / cutoff).floor().int() - cell_size = box / n_cells - - # 2. Sort Particles (Crucial for performance) - # Calculate cell index for every atom - cell_idx_x = (positions[:, 0] / cell_size[0]).long().clamp(0, n_cells[0] - 1) - cell_idx_y = (positions[:, 1] / cell_size[1]).long().clamp(0, n_cells[1] - 1) - cell_idx_z = (positions[:, 2] / cell_size[2]).long().clamp(0, n_cells[2] - 1) - - # Flat cell index - flat_cell_indices = ( - cell_idx_x * n_cells[1] * n_cells[2] + cell_idx_y * n_cells[2] + cell_idx_z - ) - - # Sort atoms by cell index - sorted_cell_indices, sort_idx = torch.sort(flat_cell_indices) - sorted_pos = positions[sort_idx].contiguous() - - # 3. Build Cell Pointers (Start/Count) - # Using unique_consecutive to find cell boundaries - unique_cells, counts = torch.unique_consecutive( - sorted_cell_indices, return_counts=True - ) - - # We need dense arrays for the kernel [Total_Cells] - total_cells = n_cells[0] * n_cells[1] * n_cells[2] - cell_start = torch.zeros(total_cells, dtype=torch.int32, device=device) - cell_count = torch.zeros(total_cells, dtype=torch.int32, device=device) - - # Compute starts (requires a search or scatter, here simplified) - # In production, use scatter_add or searchsorted - # Simple trick: scatter counts - cell_count.index_add_(0, unique_cells.int(), counts.int()) - - # Cumulative sum to get starts? No, we need starts in the *sorted* array. - # Since we sorted by cell, we can find starts easily. - # A fast way involves searchsorted if cells are sparse, - # but for water (dense), most cells are filled. - # We can compute starts using the counts and a prefix sum, - # but strictly speaking, we need the index in 'sorted_pos'. - - # Fast GPU-friendly start index construction: - # Find where cell index changes - change_mask = torch.cat( - [ - torch.tensor([1], device=device), - sorted_cell_indices[1:] != sorted_cell_indices[:-1], - ] - ) - change_indices = torch.nonzero(change_mask).squeeze() - # This maps unique_cells -> start_index in sorted_pos - cell_start.index_copy_(0, unique_cells.int(), change_indices.int()) - - # 4. Prepare Outputs - out_pairs = torch.empty((2, max_pairs), dtype=torch.int32, device=device) - out_deltas = torch.empty((max_pairs, 3), dtype=torch.float32, device=device) - out_dists = torch.empty((max_pairs,), dtype=torch.float32, device=device) - global_counter = torch.zeros((1,), dtype=torch.int32, device=device) - - # 5. Launch Kernel - grid = lambda META: (triton.cdiv(N, META["BLOCK_M"]),) - BLOCK_M = 64 - max_tiles = (N + BLOCK_M - 1) // BLOCK_M - - neighbor_list_kernel[grid]( - sorted_pos, - cell_start, - cell_count, - out_pairs, - out_deltas, - out_dists, - global_counter, - N, - max_pairs, - cutoff**2, - box[0].item(), - box[1].item(), - box[2].item(), - n_cells[0].item(), - n_cells[1].item(), - n_cells[2].item(), - BLOCK_M=BLOCK_M, # Tuning parameter - MAX_TILES=max_tiles, - ) - - num_pairs = global_counter.item() - - # Note: The output pairs use indices from 'sorted_pos'. - # If you need original indices, you must map them back using 'sort_idx'. - # remapped_pairs = sort_idx[out_pairs[:, :num_pairs]] - - return ( - out_pairs[:, :num_pairs], - out_deltas[:num_pairs], - out_dists[:num_pairs], - num_pairs, - ) - - def _get_cell_dimensions( box_x: torch.float32, box_y: torch.float32, diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py new file mode 100644 index 000000000..b1b2c7488 --- /dev/null +++ b/torchmdnet/extensions/triton_cell_v2.py @@ -0,0 +1,498 @@ +""" +Efficient cell list neighbor list implementation for Triton. + +Key design: +- One program per cell (not per atom) +- Fixed-size padded cell buffers for CUDA graph compatibility +- O(n) complexity: each cell examines only 27 neighboring cells +""" + +try: + import triton + import triton.language as tl + + _HAS_TRITON = True +except Exception: + triton = None + tl = None + _HAS_TRITON = False + +import torch +from torch import Tensor +from typing import Tuple + +from torchmdnet.extensions.triton_neighbors import TritonNeighborAutograd +from torchmdnet.extensions.triton_cell import _get_cell_dimensions + + +@triton.jit +def _tl_round(x): + return tl.where(x >= 0, tl.math.floor(x + 0.5), tl.math.ceil(x - 0.5)) + + +@triton.jit +def cell_neighbor_kernel( + # Cell data structure + CellAtoms, # [num_cells, MAX_ATOMS_PER_CELL] - atom indices in each cell + CellCounts, # [num_cells] - number of atoms in each cell + Positions, # [n_atoms, 3] - positions (original order) + Batch, # [n_atoms] - batch indices + # Box parameters + BoxSizes, # [3] - box dimensions + CellDims, # [3] - number of cells in each dimension (int32) + # Output + OutPairs, # [2, max_pairs] + OutDeltas, # [max_pairs, 3] + OutDists, # [max_pairs] + GlobalCounter, # [1] + # Scalar parameters + max_pairs, + cutoff_lower_sq, + cutoff_upper_sq, + # Flags + use_periodic: tl.constexpr, + loop: tl.constexpr, + include_transpose: tl.constexpr, + # Block sizes + MAX_ATOMS_PER_CELL: tl.constexpr, +): + """ + Each program processes one cell (the "home" cell). + It finds all pairs where the first atom is in the home cell + and the second atom is in one of the 27 neighboring cells (including home). + + To avoid double-counting, we use the convention: + - For half list (include_transpose=False): only emit pairs where home_atom > neighbor_atom + - For full list (include_transpose=True): emit both directions + """ + home_cell_id = tl.program_id(0) + + # Load box and cell dimensions + box_x = tl.load(BoxSizes + 0) + box_y = tl.load(BoxSizes + 1) + box_z = tl.load(BoxSizes + 2) + + num_cells_x = tl.load(CellDims + 0) + num_cells_y = tl.load(CellDims + 1) + num_cells_z = tl.load(CellDims + 2) + + # Decompose home cell ID into 3D coordinates + cells_yz = num_cells_y * num_cells_z + home_cx = home_cell_id // cells_yz + home_cy = (home_cell_id % cells_yz) // num_cells_z + home_cz = home_cell_id % num_cells_z + + # Load home cell data + home_count = tl.load(CellCounts + home_cell_id) + home_idx = tl.arange(0, MAX_ATOMS_PER_CELL) + home_mask = home_idx < home_count + + # Load atom indices for home cell + home_atoms = tl.load( + CellAtoms + home_cell_id * MAX_ATOMS_PER_CELL + home_idx, + mask=home_mask, + other=0, + ) + + # Load positions for home atoms (gather) + home_x = tl.load(Positions + home_atoms * 3 + 0, mask=home_mask, other=0.0) + home_y = tl.load(Positions + home_atoms * 3 + 1, mask=home_mask, other=0.0) + home_z = tl.load(Positions + home_atoms * 3 + 2, mask=home_mask, other=0.0) + home_batch = tl.load(Batch + home_atoms, mask=home_mask, other=-1) + + # Loop over 27 neighbor cells + # Use tl.range() for runtime loop (not unrolled at compile time) + for neighbor_offset in tl.range(0, 27): + # Decompose neighbor_offset into di, dj, dk (each in {-1, 0, 1}) + di = (neighbor_offset % 3) - 1 + dj = ((neighbor_offset // 3) % 3) - 1 + dk = (neighbor_offset // 9) - 1 + + # Compute neighbor cell coordinates + ni = home_cx + di + nj = home_cy + dj + nk = home_cz + dk + + # Handle boundary conditions + if use_periodic: + # Wrap around with PBC + ni = (ni + num_cells_x) % num_cells_x + nj = (nj + num_cells_y) % num_cells_y + nk = (nk + num_cells_z) % num_cells_z + cell_valid = True + else: + # Check bounds for non-periodic + cell_valid = ( + (ni >= 0) + & (ni < num_cells_x) + & (nj >= 0) + & (nj < num_cells_y) + & (nk >= 0) + & (nk < num_cells_z) + ) + + # Skip invalid cells (non-periodic boundary) + # Note: We can't early-continue in Triton, so we use masking + neighbor_cell_id = ni * cells_yz + nj * num_cells_z + nk + + # Load neighbor cell data + neighbor_count = tl.load(CellCounts + neighbor_cell_id) + # Apply cell_valid to count (if cell invalid, treat as empty) + neighbor_count = tl.where(cell_valid, neighbor_count, 0) + + neighbor_idx = tl.arange(0, MAX_ATOMS_PER_CELL) + neighbor_mask = neighbor_idx < neighbor_count + + # Load atom indices for neighbor cell + neighbor_atoms = tl.load( + CellAtoms + neighbor_cell_id * MAX_ATOMS_PER_CELL + neighbor_idx, + mask=neighbor_mask, + other=0, + ) + + # Load positions for neighbor atoms + neighbor_x = tl.load( + Positions + neighbor_atoms * 3 + 0, mask=neighbor_mask, other=0.0 + ) + neighbor_y = tl.load( + Positions + neighbor_atoms * 3 + 1, mask=neighbor_mask, other=0.0 + ) + neighbor_z = tl.load( + Positions + neighbor_atoms * 3 + 2, mask=neighbor_mask, other=0.0 + ) + neighbor_batch = tl.load(Batch + neighbor_atoms, mask=neighbor_mask, other=-2) + + # Compute pairwise distances: [MAX_ATOMS_PER_CELL, MAX_ATOMS_PER_CELL] + # home atoms are rows, neighbor atoms are columns + dx = home_x[:, None] - neighbor_x[None, :] + dy = home_y[:, None] - neighbor_y[None, :] + dz = home_z[:, None] - neighbor_z[None, :] + + # Apply PBC to distance vectors + if use_periodic: + dx = dx - box_x * _tl_round(dx / box_x) + dy = dy - box_y * _tl_round(dy / box_y) + dz = dz - box_z * _tl_round(dz / box_z) + + dist_sq = dx * dx + dy * dy + dz * dz + + # Build validity mask + # 1. Distance within cutoff + cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) + + # 2. Same batch + cond_batch = home_batch[:, None] == neighbor_batch[None, :] + + # 3. Index ordering to avoid double-counting + home_atoms_bc = home_atoms[:, None] + neighbor_atoms_bc = neighbor_atoms[None, :] + + if include_transpose: + # Full list: emit both (i,j) and (j,i), but only from one cell + # We emit when home_atom != neighbor_atom (self-loops handled by loop flag) + if loop: + cond_idx = True # Include self-loops + else: + cond_idx = home_atoms_bc != neighbor_atoms_bc + else: + # Half list: only emit (i,j) where i > j + # This ensures each pair is emitted exactly once + if loop: + cond_idx = home_atoms_bc >= neighbor_atoms_bc + else: + cond_idx = home_atoms_bc > neighbor_atoms_bc + + # 4. Both atoms must be valid (within cell counts) + cond_valid = home_mask[:, None] & neighbor_mask[None, :] + + # Combined validity + valid_mask = cond_dist & cond_batch & cond_idx & cond_valid + + # Count and store valid pairs + num_found = tl.sum(valid_mask.to(tl.int32)) + + if num_found > 0: + # Atomically reserve space in output + current_offset = tl.atomic_add(GlobalCounter, num_found) + + if current_offset + num_found <= max_pairs: + # Compute storage indices using cumsum + flat_mask = tl.ravel(valid_mask) + csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) + store_idx = current_offset + csum - 1 + + # Prepare flattened data + flat_home = tl.ravel( + tl.broadcast_to( + home_atoms[:, None], + (MAX_ATOMS_PER_CELL, MAX_ATOMS_PER_CELL), + ) + ) + flat_neighbor = tl.ravel( + tl.broadcast_to( + neighbor_atoms[None, :], + (MAX_ATOMS_PER_CELL, MAX_ATOMS_PER_CELL), + ) + ) + flat_dx = tl.ravel(dx) + flat_dy = tl.ravel(dy) + flat_dz = tl.ravel(dz) + flat_dist = tl.sqrt(tl.ravel(dist_sq)) + + # Store pairs + tl.store( + OutPairs + 0 * max_pairs + store_idx, + flat_home, + mask=flat_mask, + ) + tl.store( + OutPairs + 1 * max_pairs + store_idx, + flat_neighbor, + mask=flat_mask, + ) + + # Store deltas (interleaved x,y,z) + tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) + + # Store distances + tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) + + +def build_cell_list( + positions: Tensor, + box_sizes: Tensor, # [3] diagonal elements + use_periodic: bool, + cell_dims: Tensor, # [3] number of cells in each dimension + num_cells: int, # total number of cells (fixed for CUDA graphs) + max_atoms_per_cell: int, +) -> Tuple[Tensor, Tensor]: + """ + Build the cell list data structure. + + Args: + positions: [N, 3] atom positions + batch: [N] batch indices + box_sizes: [3] box diagonal elements + cutoff: cutoff distance + use_periodic: whether to use periodic boundary conditions + cell_dims: [3] number of cells in each dimension (pre-computed) + num_cells: total number of cells (pre-computed, fixed for CUDA graphs) + max_atoms_per_cell: maximum atoms per cell + + Returns: + cell_atoms: [num_cells, max_atoms_per_cell] - atom indices per cell + cell_counts: [num_cells] - number of atoms in each cell + """ + device = positions.device + n_atoms = positions.size(0) + + # Compute cell index for each atom + if use_periodic: + # Wrap to [0, box) + inv_box = 1.0 / box_sizes + wrapped = positions - torch.floor(positions * inv_box) * box_sizes + else: + # Shift by half box (like CUDA implementation) + wrapped = positions + 0.5 * box_sizes + + # Cell coordinates + cell_size = box_sizes / cell_dims.float() + cell_coords = (wrapped / cell_size).long() + cell_coords = torch.clamp( + cell_coords, min=torch.zeros(3, device=device), max=cell_dims - 1 + ) + + # Flat cell index + cell_idx = ( + cell_coords[:, 0] * (cell_dims[1] * cell_dims[2]) + + cell_coords[:, 1] * cell_dims[2] + + cell_coords[:, 2] + ).long() + + # Count atoms per cell + cell_counts = torch.zeros(num_cells, dtype=torch.int32, device=device) + cell_counts.scatter_add_( + 0, cell_idx, torch.ones(n_atoms, dtype=torch.int32, device=device) + ) + + # Check for overflow + max_count = cell_counts.max().item() + if max_count > max_atoms_per_cell: + raise RuntimeError( + f"Cell overflow: {max_count} atoms in one cell, but max_atoms_per_cell={max_atoms_per_cell}. " + f"Increase max_atoms_per_cell or use a larger cutoff." + ) + + # Build cell_atoms array using sorting approach + # Sort atoms by cell index + sorted_cell_idx, sort_order = torch.sort(cell_idx) + + # Compute starting position for each cell + cell_starts = torch.zeros(num_cells + 1, dtype=torch.long, device=device) + cell_starts[1:] = torch.cumsum(cell_counts.long(), dim=0) + + # Initialize cell_atoms with -1 (invalid) + cell_atoms = torch.full( + (num_cells, max_atoms_per_cell), -1, dtype=torch.int32, device=device + ) + + # Fill cell_atoms using a vectorized approach + # Create position within cell for each atom + atom_positions = torch.arange(n_atoms, device=device) + # Position within cell = atom_position - cell_start[cell_of_atom] + position_in_cell = atom_positions - cell_starts[sorted_cell_idx] + + # Scatter atom indices into cell_atoms + # cell_atoms[sorted_cell_idx, position_in_cell] = sort_order + flat_idx = sorted_cell_idx * max_atoms_per_cell + position_in_cell + cell_atoms.view(-1).scatter_(0, flat_idx, sort_order.int()) + + return cell_atoms, cell_counts + + +class TritonCellNeighborV2(TritonNeighborAutograd): + @staticmethod + def forward( + ctx, + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, + num_cells: int, + max_atoms_per_cell: int = 128, + ): + if not _HAS_TRITON: + raise RuntimeError("Triton is not available") + + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + # Validate inputs + if positions.dim() != 2 or positions.size(1) != 3: + raise ValueError('Expected "positions" to have shape (N, 3)') + if batch.dim() != 1 or batch.size(0) != n_atoms: + raise ValueError('Expected "batch" to have shape (N,)') + + # Extract box diagonal + box_vectors = box_vectors.contiguous() + if box_vectors.dim() == 3: + box_diag = box_vectors[0] + else: + box_diag = box_vectors + box_sizes = torch.stack( + [box_diag[0, 0], box_diag[1, 1], box_diag[2, 2]] + ).contiguous() + + # Compute cell dimensions using shared utility (stays on GPU) + cell_dims = _get_cell_dimensions( + box_sizes[0], box_sizes[1], box_sizes[2], cutoff_upper + ) + + # Build cell list + cell_atoms, cell_counts = build_cell_list( + positions, box_sizes, use_periodic, cell_dims, num_cells, max_atoms_per_cell + ) + + # Allocate outputs + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) + distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) + counter = torch.zeros((1,), device=device, dtype=torch.int32) + + # Launch kernel: one program per cell + grid = (num_cells,) + cell_neighbor_kernel[grid]( + cell_atoms, + cell_counts, + positions, + batch, + box_sizes, + cell_dims, + neighbors, + deltas, + distances, + counter, + max_num_pairs, + cutoff_lower**2, + cutoff_upper**2, + use_periodic=use_periodic, + loop=loop, + include_transpose=include_transpose, + MAX_ATOMS_PER_CELL=max_atoms_per_cell, + ) + num_pairs = counter.to(torch.long) + + ctx.save_for_backward(neighbors, deltas, distances) + ctx.num_atoms = n_atoms + return neighbors, deltas, distances, num_pairs + + @staticmethod + def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] + # Call parent backward (returns 9 values) and add None for num_cells and max_atoms_per_cell + parent_grads = TritonNeighborAutograd.backward( + ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs + ) + return (*parent_grads, None, None) + + +# def triton_cell_neighbor_v2( +# positions: Tensor, +# batch: Tensor, +# box_vectors: Tensor, +# use_periodic: bool, +# cutoff_lower: float, +# cutoff_upper: float, +# max_num_pairs: int, +# loop: bool, +# include_transpose: bool, +# num_cells: int, +# max_atoms_per_cell: int = 64, +# ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: +# """ +# Efficient cell list neighbor list using Triton. + +# This implementation achieves O(n) complexity by: +# 1. Spawning one program per cell +# 2. Using fixed-size cell buffers (MAX_ATOMS_PER_CELL) +# 3. Each program only examines the 27 neighboring cells + +# Args: +# positions: [N, 3] atom positions +# batch: [N] batch indices +# box_vectors: [3, 3] or [n_batch, 3, 3] box vectors (must be diagonal) +# use_periodic: whether to use periodic boundary conditions +# cutoff_lower: lower cutoff distance +# cutoff_upper: upper cutoff distance +# max_num_pairs: maximum number of pairs to return +# loop: whether to include self-interactions (i == j) +# include_transpose: whether to include both (i,j) and (j,i) +# num_cells: total number of cells (fixed for CUDA graph compatibility) +# max_atoms_per_cell: maximum atoms per cell (default 64) + +# Returns: +# neighbors: [2, num_pairs] pair indices +# deltas: [num_pairs, 3] displacement vectors +# distances: [num_pairs] distances +# num_pairs: [1] number of pairs found +# """ +# return TritonCellNeighborV2.apply( +# positions, +# batch, +# box_vectors, +# use_periodic, +# cutoff_lower, +# cutoff_upper, +# max_num_pairs, +# loop, +# include_transpose, +# num_cells, +# max_atoms_per_cell, +# ) diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index bca2842ce..f4f97b251 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -254,6 +254,7 @@ def triton_neighbor_pairs( from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd from torchmdnet.extensions.triton_shared import TritonSharedNeighborAutograd + from torchmdnet.extensions.triton_cell_v2 import TritonCellNeighborV2 if not _HAS_TRITON: raise RuntimeError("Triton is not available") @@ -275,7 +276,7 @@ def triton_neighbor_pairs( bool(include_transpose), ) elif strategy == "cell": - return TritonCellNeighborAutograd.apply( + return TritonCellNeighborV2.apply( positions, batch, box_vectors, From c07c6abec6ed1efb954aa3fd6297ebeb963480eb Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 13:28:16 +0200 Subject: [PATCH 30/80] cuda graph comp --- torchmdnet/extensions/triton_cell_v2.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py index b1b2c7488..496b61a97 100644 --- a/torchmdnet/extensions/triton_cell_v2.py +++ b/torchmdnet/extensions/triton_cell_v2.py @@ -318,12 +318,13 @@ def build_cell_list( ) # Check for overflow - max_count = cell_counts.max().item() - if max_count > max_atoms_per_cell: - raise RuntimeError( - f"Cell overflow: {max_count} atoms in one cell, but max_atoms_per_cell={max_atoms_per_cell}. " - f"Increase max_atoms_per_cell or use a larger cutoff." - ) + if not torch.cuda.is_current_stream_capturing(): + max_count = cell_counts.max().item() + if max_count > max_atoms_per_cell: + raise RuntimeError( + f"Cell overflow: {max_count} atoms in one cell, but max_atoms_per_cell={max_atoms_per_cell}. " + f"Increase max_atoms_per_cell or use a larger cutoff." + ) # Build cell_atoms array using sorting approach # Sort atoms by cell index From 99d2775aaaa7202368d6b770aa8f16251ffbef36 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 14:05:26 +0200 Subject: [PATCH 31/80] tiled version --- benchmarks/neighbors.py | 3 + torchmdnet/extensions/triton_cell_v2.py | 270 ++++++++++++------------ 2 files changed, 143 insertions(+), 130 deletions(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index bbdb4e15f..bb1517809 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -11,6 +11,9 @@ from torch_cluster import radius_graph +water_density = 0.0334 * 3 # Atoms/A^3 + + class Distance(nn.Module): def __init__( self, diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py index 496b61a97..ccc225025 100644 --- a/torchmdnet/extensions/triton_cell_v2.py +++ b/torchmdnet/extensions/triton_cell_v2.py @@ -55,12 +55,17 @@ def cell_neighbor_kernel( include_transpose: tl.constexpr, # Block sizes MAX_ATOMS_PER_CELL: tl.constexpr, + TILE_SIZE: tl.constexpr, # Tile size for pairwise computation (e.g., 32) ): """ Each program processes one cell (the "home" cell). It finds all pairs where the first atom is in the home cell and the second atom is in one of the 27 neighboring cells (including home). + Uses tiled computation to keep memory usage low: + - Instead of MAX_ATOMS_PER_CELL × MAX_ATOMS_PER_CELL matrices + - We use TILE_SIZE × TILE_SIZE matrices (e.g., 32×32 = 1024 elements) + To avoid double-counting, we use the convention: - For half list (include_transpose=False): only emit pairs where home_atom > neighbor_atom - For full list (include_transpose=True): emit both directions @@ -82,23 +87,11 @@ def cell_neighbor_kernel( home_cy = (home_cell_id % cells_yz) // num_cells_z home_cz = home_cell_id % num_cells_z - # Load home cell data + # Load home cell count home_count = tl.load(CellCounts + home_cell_id) - home_idx = tl.arange(0, MAX_ATOMS_PER_CELL) - home_mask = home_idx < home_count - - # Load atom indices for home cell - home_atoms = tl.load( - CellAtoms + home_cell_id * MAX_ATOMS_PER_CELL + home_idx, - mask=home_mask, - other=0, - ) - # Load positions for home atoms (gather) - home_x = tl.load(Positions + home_atoms * 3 + 0, mask=home_mask, other=0.0) - home_y = tl.load(Positions + home_atoms * 3 + 1, mask=home_mask, other=0.0) - home_z = tl.load(Positions + home_atoms * 3 + 2, mask=home_mask, other=0.0) - home_batch = tl.load(Batch + home_atoms, mask=home_mask, other=-1) + # Number of tiles needed + NUM_TILES: tl.constexpr = MAX_ATOMS_PER_CELL // TILE_SIZE # Loop over 27 neighbor cells # Use tl.range() for runtime loop (not unrolled at compile time) @@ -132,132 +125,142 @@ def cell_neighbor_kernel( ) # Skip invalid cells (non-periodic boundary) - # Note: We can't early-continue in Triton, so we use masking neighbor_cell_id = ni * cells_yz + nj * num_cells_z + nk - # Load neighbor cell data + # Load neighbor cell count neighbor_count = tl.load(CellCounts + neighbor_cell_id) # Apply cell_valid to count (if cell invalid, treat as empty) neighbor_count = tl.where(cell_valid, neighbor_count, 0) - neighbor_idx = tl.arange(0, MAX_ATOMS_PER_CELL) - neighbor_mask = neighbor_idx < neighbor_count - - # Load atom indices for neighbor cell - neighbor_atoms = tl.load( - CellAtoms + neighbor_cell_id * MAX_ATOMS_PER_CELL + neighbor_idx, - mask=neighbor_mask, - other=0, - ) - - # Load positions for neighbor atoms - neighbor_x = tl.load( - Positions + neighbor_atoms * 3 + 0, mask=neighbor_mask, other=0.0 - ) - neighbor_y = tl.load( - Positions + neighbor_atoms * 3 + 1, mask=neighbor_mask, other=0.0 - ) - neighbor_z = tl.load( - Positions + neighbor_atoms * 3 + 2, mask=neighbor_mask, other=0.0 - ) - neighbor_batch = tl.load(Batch + neighbor_atoms, mask=neighbor_mask, other=-2) - - # Compute pairwise distances: [MAX_ATOMS_PER_CELL, MAX_ATOMS_PER_CELL] - # home atoms are rows, neighbor atoms are columns - dx = home_x[:, None] - neighbor_x[None, :] - dy = home_y[:, None] - neighbor_y[None, :] - dz = home_z[:, None] - neighbor_z[None, :] - - # Apply PBC to distance vectors - if use_periodic: - dx = dx - box_x * _tl_round(dx / box_x) - dy = dy - box_y * _tl_round(dy / box_y) - dz = dz - box_z * _tl_round(dz / box_z) - - dist_sq = dx * dx + dy * dy + dz * dz - - # Build validity mask - # 1. Distance within cutoff - cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) - - # 2. Same batch - cond_batch = home_batch[:, None] == neighbor_batch[None, :] - - # 3. Index ordering to avoid double-counting - home_atoms_bc = home_atoms[:, None] - neighbor_atoms_bc = neighbor_atoms[None, :] - - if include_transpose: - # Full list: emit both (i,j) and (j,i), but only from one cell - # We emit when home_atom != neighbor_atom (self-loops handled by loop flag) - if loop: - cond_idx = True # Include self-loops - else: - cond_idx = home_atoms_bc != neighbor_atoms_bc - else: - # Half list: only emit (i,j) where i > j - # This ensures each pair is emitted exactly once - if loop: - cond_idx = home_atoms_bc >= neighbor_atoms_bc - else: - cond_idx = home_atoms_bc > neighbor_atoms_bc - - # 4. Both atoms must be valid (within cell counts) - cond_valid = home_mask[:, None] & neighbor_mask[None, :] - - # Combined validity - valid_mask = cond_dist & cond_batch & cond_idx & cond_valid - - # Count and store valid pairs - num_found = tl.sum(valid_mask.to(tl.int32)) - - if num_found > 0: - # Atomically reserve space in output - current_offset = tl.atomic_add(GlobalCounter, num_found) - - if current_offset + num_found <= max_pairs: - # Compute storage indices using cumsum - flat_mask = tl.ravel(valid_mask) - csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) - store_idx = current_offset + csum - 1 - - # Prepare flattened data - flat_home = tl.ravel( - tl.broadcast_to( - home_atoms[:, None], - (MAX_ATOMS_PER_CELL, MAX_ATOMS_PER_CELL), - ) + # Tiled iteration over home atoms + for home_tile in tl.static_range(NUM_TILES): + home_tile_start = home_tile * TILE_SIZE + home_idx = home_tile_start + tl.arange(0, TILE_SIZE) + home_mask = home_idx < home_count + + # Load home tile data + home_atoms = tl.load( + CellAtoms + home_cell_id * MAX_ATOMS_PER_CELL + home_idx, + mask=home_mask, + other=0, + ) + home_x = tl.load(Positions + home_atoms * 3 + 0, mask=home_mask, other=0.0) + home_y = tl.load(Positions + home_atoms * 3 + 1, mask=home_mask, other=0.0) + home_z = tl.load(Positions + home_atoms * 3 + 2, mask=home_mask, other=0.0) + home_batch = tl.load(Batch + home_atoms, mask=home_mask, other=-1) + + # Tiled iteration over neighbor atoms + for neighbor_tile in tl.static_range(NUM_TILES): + neighbor_tile_start = neighbor_tile * TILE_SIZE + neighbor_idx = neighbor_tile_start + tl.arange(0, TILE_SIZE) + neighbor_mask = neighbor_idx < neighbor_count + + # Load neighbor tile data + neighbor_atoms = tl.load( + CellAtoms + neighbor_cell_id * MAX_ATOMS_PER_CELL + neighbor_idx, + mask=neighbor_mask, + other=0, ) - flat_neighbor = tl.ravel( - tl.broadcast_to( - neighbor_atoms[None, :], - (MAX_ATOMS_PER_CELL, MAX_ATOMS_PER_CELL), - ) + neighbor_x = tl.load( + Positions + neighbor_atoms * 3 + 0, mask=neighbor_mask, other=0.0 ) - flat_dx = tl.ravel(dx) - flat_dy = tl.ravel(dy) - flat_dz = tl.ravel(dz) - flat_dist = tl.sqrt(tl.ravel(dist_sq)) - - # Store pairs - tl.store( - OutPairs + 0 * max_pairs + store_idx, - flat_home, - mask=flat_mask, + neighbor_y = tl.load( + Positions + neighbor_atoms * 3 + 1, mask=neighbor_mask, other=0.0 ) - tl.store( - OutPairs + 1 * max_pairs + store_idx, - flat_neighbor, - mask=flat_mask, + neighbor_z = tl.load( + Positions + neighbor_atoms * 3 + 2, mask=neighbor_mask, other=0.0 + ) + neighbor_batch = tl.load( + Batch + neighbor_atoms, mask=neighbor_mask, other=-2 ) - # Store deltas (interleaved x,y,z) - tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) - tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) - tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) - - # Store distances - tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) + # Compute pairwise distances: [TILE_SIZE, TILE_SIZE] + dx = home_x[:, None] - neighbor_x[None, :] + dy = home_y[:, None] - neighbor_y[None, :] + dz = home_z[:, None] - neighbor_z[None, :] + + # Apply PBC to distance vectors + if use_periodic: + dx = dx - box_x * _tl_round(dx / box_x) + dy = dy - box_y * _tl_round(dy / box_y) + dz = dz - box_z * _tl_round(dz / box_z) + + dist_sq = dx * dx + dy * dy + dz * dz + + # Build validity mask + # 1. Distance within cutoff + cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) + + # 2. Same batch + cond_batch = home_batch[:, None] == neighbor_batch[None, :] + + # 3. Index ordering to avoid double-counting + home_atoms_bc = home_atoms[:, None] + neighbor_atoms_bc = neighbor_atoms[None, :] + + if include_transpose: + if loop: + cond_idx = True # Include self-loops + else: + cond_idx = home_atoms_bc != neighbor_atoms_bc + else: + if loop: + cond_idx = home_atoms_bc >= neighbor_atoms_bc + else: + cond_idx = home_atoms_bc > neighbor_atoms_bc + + # 4. Both atoms must be valid (within cell counts) + cond_valid = home_mask[:, None] & neighbor_mask[None, :] + + # Combined validity + valid_mask = cond_dist & cond_batch & cond_idx & cond_valid + + # Count and store valid pairs + num_found = tl.sum(valid_mask.to(tl.int32)) + + if num_found > 0: + # Atomically reserve space in output + current_offset = tl.atomic_add(GlobalCounter, num_found) + + if current_offset + num_found <= max_pairs: + # Compute storage indices using cumsum + flat_mask = tl.ravel(valid_mask) + csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) + store_idx = current_offset + csum - 1 + + # Prepare flattened data + flat_home = tl.ravel( + tl.broadcast_to(home_atoms[:, None], (TILE_SIZE, TILE_SIZE)) + ) + flat_neighbor = tl.ravel( + tl.broadcast_to( + neighbor_atoms[None, :], (TILE_SIZE, TILE_SIZE) + ) + ) + flat_dx = tl.ravel(dx) + flat_dy = tl.ravel(dy) + flat_dz = tl.ravel(dz) + flat_dist = tl.sqrt(tl.ravel(dist_sq)) + + # Store pairs + tl.store( + OutPairs + 0 * max_pairs + store_idx, + flat_home, + mask=flat_mask, + ) + tl.store( + OutPairs + 1 * max_pairs + store_idx, + flat_neighbor, + mask=flat_mask, + ) + + # Store deltas + tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) + + # Store distances + tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) def build_cell_list( @@ -409,6 +412,12 @@ def forward( counter = torch.zeros((1,), device=device, dtype=torch.int32) # Launch kernel: one program per cell + # TILE_SIZE controls memory usage: 32×32=1K elements per tile (fits in registers) + TILE_SIZE = 32 + assert ( + max_atoms_per_cell % TILE_SIZE == 0 + ), f"max_atoms_per_cell ({max_atoms_per_cell}) must be divisible by TILE_SIZE ({TILE_SIZE})" + grid = (num_cells,) cell_neighbor_kernel[grid]( cell_atoms, @@ -428,6 +437,7 @@ def forward( loop=loop, include_transpose=include_transpose, MAX_ATOMS_PER_CELL=max_atoms_per_cell, + TILE_SIZE=TILE_SIZE, ) num_pairs = counter.to(torch.long) From 5d3a0b2df5afc1168cc284e9c23b46e438eaf9e3 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 14:21:51 +0200 Subject: [PATCH 32/80] another impl --- torchmdnet/extensions/triton_cell_v2.py | 337 +++++++----------------- 1 file changed, 89 insertions(+), 248 deletions(-) diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py index ccc225025..f7ba328c3 100644 --- a/torchmdnet/extensions/triton_cell_v2.py +++ b/torchmdnet/extensions/triton_cell_v2.py @@ -32,11 +32,12 @@ def _tl_round(x): @triton.jit def cell_neighbor_kernel( - # Cell data structure - CellAtoms, # [num_cells, MAX_ATOMS_PER_CELL] - atom indices in each cell - CellCounts, # [num_cells] - number of atoms in each cell + # Cell data structure (1D sorted approach) + SortedIndices, # [n_atoms] - original atom indices, sorted by cell + CellStart, # [num_cells] - start index in SortedIndices for each cell + CellEnd, # [num_cells] - end index (exclusive) in SortedIndices for each cell Positions, # [n_atoms, 3] - positions (original order) - Batch, # [n_atoms] - batch indices + Batch, # [n_atoms] - batch indices (original order) # Box parameters BoxSizes, # [3] - box dimensions CellDims, # [3] - number of cells in each dimension (int32) @@ -53,20 +54,13 @@ def cell_neighbor_kernel( use_periodic: tl.constexpr, loop: tl.constexpr, include_transpose: tl.constexpr, - # Block sizes - MAX_ATOMS_PER_CELL: tl.constexpr, - TILE_SIZE: tl.constexpr, # Tile size for pairwise computation (e.g., 32) ): """ Each program processes one cell (the "home" cell). - It finds all pairs where the first atom is in the home cell - and the second atom is in one of the 27 neighboring cells (including home). + Uses 1D sorted array with cell_start/cell_end pointers. + Iterates only over actual atoms in each cell using while loops. - Uses tiled computation to keep memory usage low: - - Instead of MAX_ATOMS_PER_CELL × MAX_ATOMS_PER_CELL matrices - - We use TILE_SIZE × TILE_SIZE matrices (e.g., 32×32 = 1024 elements) - - To avoid double-counting, we use the convention: + To avoid double-counting: - For half list (include_transpose=False): only emit pairs where home_atom > neighbor_atom - For full list (include_transpose=True): emit both directions """ @@ -87,14 +81,11 @@ def cell_neighbor_kernel( home_cy = (home_cell_id % cells_yz) // num_cells_z home_cz = home_cell_id % num_cells_z - # Load home cell count - home_count = tl.load(CellCounts + home_cell_id) - - # Number of tiles needed - NUM_TILES: tl.constexpr = MAX_ATOMS_PER_CELL // TILE_SIZE + # Load home cell boundaries + home_start = tl.load(CellStart + home_cell_id) + home_end = tl.load(CellEnd + home_cell_id) # Loop over 27 neighbor cells - # Use tl.range() for runtime loop (not unrolled at compile time) for neighbor_offset in tl.range(0, 27): # Decompose neighbor_offset into di, dj, dk (each in {-1, 0, 1}) di = (neighbor_offset % 3) - 1 @@ -108,13 +99,11 @@ def cell_neighbor_kernel( # Handle boundary conditions if use_periodic: - # Wrap around with PBC ni = (ni + num_cells_x) % num_cells_x nj = (nj + num_cells_y) % num_cells_y nk = (nk + num_cells_z) % num_cells_z cell_valid = True else: - # Check bounds for non-periodic cell_valid = ( (ni >= 0) & (ni < num_cells_x) @@ -124,62 +113,42 @@ def cell_neighbor_kernel( & (nk < num_cells_z) ) - # Skip invalid cells (non-periodic boundary) neighbor_cell_id = ni * cells_yz + nj * num_cells_z + nk - # Load neighbor cell count - neighbor_count = tl.load(CellCounts + neighbor_cell_id) - # Apply cell_valid to count (if cell invalid, treat as empty) - neighbor_count = tl.where(cell_valid, neighbor_count, 0) - - # Tiled iteration over home atoms - for home_tile in tl.static_range(NUM_TILES): - home_tile_start = home_tile * TILE_SIZE - home_idx = home_tile_start + tl.arange(0, TILE_SIZE) - home_mask = home_idx < home_count - - # Load home tile data - home_atoms = tl.load( - CellAtoms + home_cell_id * MAX_ATOMS_PER_CELL + home_idx, - mask=home_mask, - other=0, - ) - home_x = tl.load(Positions + home_atoms * 3 + 0, mask=home_mask, other=0.0) - home_y = tl.load(Positions + home_atoms * 3 + 1, mask=home_mask, other=0.0) - home_z = tl.load(Positions + home_atoms * 3 + 2, mask=home_mask, other=0.0) - home_batch = tl.load(Batch + home_atoms, mask=home_mask, other=-1) - - # Tiled iteration over neighbor atoms - for neighbor_tile in tl.static_range(NUM_TILES): - neighbor_tile_start = neighbor_tile * TILE_SIZE - neighbor_idx = neighbor_tile_start + tl.arange(0, TILE_SIZE) - neighbor_mask = neighbor_idx < neighbor_count - - # Load neighbor tile data - neighbor_atoms = tl.load( - CellAtoms + neighbor_cell_id * MAX_ATOMS_PER_CELL + neighbor_idx, - mask=neighbor_mask, - other=0, - ) - neighbor_x = tl.load( - Positions + neighbor_atoms * 3 + 0, mask=neighbor_mask, other=0.0 - ) - neighbor_y = tl.load( - Positions + neighbor_atoms * 3 + 1, mask=neighbor_mask, other=0.0 - ) - neighbor_z = tl.load( - Positions + neighbor_atoms * 3 + 2, mask=neighbor_mask, other=0.0 - ) - neighbor_batch = tl.load( - Batch + neighbor_atoms, mask=neighbor_mask, other=-2 - ) - - # Compute pairwise distances: [TILE_SIZE, TILE_SIZE] - dx = home_x[:, None] - neighbor_x[None, :] - dy = home_y[:, None] - neighbor_y[None, :] - dz = home_z[:, None] - neighbor_z[None, :] - - # Apply PBC to distance vectors + # Load neighbor cell boundaries + neighbor_start = tl.load(CellStart + neighbor_cell_id) + neighbor_end = tl.load(CellEnd + neighbor_cell_id) + + # If cell is invalid (non-periodic boundary), make it empty + neighbor_start = tl.where(cell_valid, neighbor_start, 0) + neighbor_end = tl.where(cell_valid, neighbor_end, 0) + + # Iterate over home atoms using while loop (only actual atoms) + home_i = home_start + while home_i < home_end: + # Load home atom data + home_atom = tl.load(SortedIndices + home_i) + home_x = tl.load(Positions + home_atom * 3 + 0) + home_y = tl.load(Positions + home_atom * 3 + 1) + home_z = tl.load(Positions + home_atom * 3 + 2) + home_batch = tl.load(Batch + home_atom) + + # Iterate over neighbor atoms using while loop (only actual atoms) + neighbor_i = neighbor_start + while neighbor_i < neighbor_end: + # Load neighbor atom data + neighbor_atom = tl.load(SortedIndices + neighbor_i) + neighbor_x = tl.load(Positions + neighbor_atom * 3 + 0) + neighbor_y = tl.load(Positions + neighbor_atom * 3 + 1) + neighbor_z = tl.load(Positions + neighbor_atom * 3 + 2) + neighbor_batch = tl.load(Batch + neighbor_atom) + + # Compute distance + dx = home_x - neighbor_x + dy = home_y - neighbor_y + dz = home_z - neighbor_z + + # Apply PBC if use_periodic: dx = dx - box_x * _tl_round(dx / box_x) dy = dy - box_y * _tl_round(dy / box_y) @@ -187,80 +156,42 @@ def cell_neighbor_kernel( dist_sq = dx * dx + dy * dy + dz * dz - # Build validity mask - # 1. Distance within cutoff + # Check validity cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) + cond_batch = home_batch == neighbor_batch - # 2. Same batch - cond_batch = home_batch[:, None] == neighbor_batch[None, :] - - # 3. Index ordering to avoid double-counting - home_atoms_bc = home_atoms[:, None] - neighbor_atoms_bc = neighbor_atoms[None, :] - + # Index ordering to avoid double-counting if include_transpose: if loop: - cond_idx = True # Include self-loops + cond_idx = True else: - cond_idx = home_atoms_bc != neighbor_atoms_bc + cond_idx = home_atom != neighbor_atom else: if loop: - cond_idx = home_atoms_bc >= neighbor_atoms_bc + cond_idx = home_atom >= neighbor_atom else: - cond_idx = home_atoms_bc > neighbor_atoms_bc - - # 4. Both atoms must be valid (within cell counts) - cond_valid = home_mask[:, None] & neighbor_mask[None, :] - - # Combined validity - valid_mask = cond_dist & cond_batch & cond_idx & cond_valid + cond_idx = home_atom > neighbor_atom - # Count and store valid pairs - num_found = tl.sum(valid_mask.to(tl.int32)) + is_valid = cond_dist & cond_batch & cond_idx - if num_found > 0: - # Atomically reserve space in output - current_offset = tl.atomic_add(GlobalCounter, num_found) + if is_valid: + # Atomically reserve one slot + current_offset = tl.atomic_add(GlobalCounter, 1) - if current_offset + num_found <= max_pairs: - # Compute storage indices using cumsum - flat_mask = tl.ravel(valid_mask) - csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) - store_idx = current_offset + csum - 1 - - # Prepare flattened data - flat_home = tl.ravel( - tl.broadcast_to(home_atoms[:, None], (TILE_SIZE, TILE_SIZE)) - ) - flat_neighbor = tl.ravel( - tl.broadcast_to( - neighbor_atoms[None, :], (TILE_SIZE, TILE_SIZE) - ) - ) - flat_dx = tl.ravel(dx) - flat_dy = tl.ravel(dy) - flat_dz = tl.ravel(dz) - flat_dist = tl.sqrt(tl.ravel(dist_sq)) - - # Store pairs + if current_offset < max_pairs: + dist = tl.sqrt(dist_sq) + # Store pair + tl.store(OutPairs + 0 * max_pairs + current_offset, home_atom) tl.store( - OutPairs + 0 * max_pairs + store_idx, - flat_home, - mask=flat_mask, + OutPairs + 1 * max_pairs + current_offset, neighbor_atom ) - tl.store( - OutPairs + 1 * max_pairs + store_idx, - flat_neighbor, - mask=flat_mask, - ) - - # Store deltas - tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) - tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) - tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) + tl.store(OutDeltas + current_offset * 3 + 0, dx) + tl.store(OutDeltas + current_offset * 3 + 1, dy) + tl.store(OutDeltas + current_offset * 3 + 2, dz) + tl.store(OutDists + current_offset, dist) - # Store distances - tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) + neighbor_i += 1 + home_i += 1 def build_cell_list( @@ -269,24 +200,21 @@ def build_cell_list( use_periodic: bool, cell_dims: Tensor, # [3] number of cells in each dimension num_cells: int, # total number of cells (fixed for CUDA graphs) - max_atoms_per_cell: int, -) -> Tuple[Tensor, Tensor]: +) -> Tuple[Tensor, Tensor, Tensor]: """ - Build the cell list data structure. + Build the cell list data structure using 1D sorted arrays. Args: positions: [N, 3] atom positions - batch: [N] batch indices box_sizes: [3] box diagonal elements - cutoff: cutoff distance use_periodic: whether to use periodic boundary conditions cell_dims: [3] number of cells in each dimension (pre-computed) num_cells: total number of cells (pre-computed, fixed for CUDA graphs) - max_atoms_per_cell: maximum atoms per cell Returns: - cell_atoms: [num_cells, max_atoms_per_cell] - atom indices per cell - cell_counts: [num_cells] - number of atoms in each cell + sorted_indices: [n_atoms] - original atom indices, sorted by cell + cell_start: [num_cells] - start index in sorted_indices for each cell + cell_end: [num_cells] - end index (exclusive) in sorted_indices for each cell """ device = positions.device n_atoms = positions.size(0) @@ -314,46 +242,22 @@ def build_cell_list( + cell_coords[:, 2] ).long() + # Sort atoms by cell index + sorted_cell_idx, sort_order = torch.sort(cell_idx) + sorted_indices = sort_order.int() # Original atom indices, now sorted by cell + # Count atoms per cell cell_counts = torch.zeros(num_cells, dtype=torch.int32, device=device) cell_counts.scatter_add_( 0, cell_idx, torch.ones(n_atoms, dtype=torch.int32, device=device) ) - # Check for overflow - if not torch.cuda.is_current_stream_capturing(): - max_count = cell_counts.max().item() - if max_count > max_atoms_per_cell: - raise RuntimeError( - f"Cell overflow: {max_count} atoms in one cell, but max_atoms_per_cell={max_atoms_per_cell}. " - f"Increase max_atoms_per_cell or use a larger cutoff." - ) + # Compute cell_start and cell_end using cumsum + cell_end = torch.cumsum(cell_counts, dim=0).int() + cell_start = torch.zeros(num_cells, dtype=torch.int32, device=device) + cell_start[1:] = cell_end[:-1] - # Build cell_atoms array using sorting approach - # Sort atoms by cell index - sorted_cell_idx, sort_order = torch.sort(cell_idx) - - # Compute starting position for each cell - cell_starts = torch.zeros(num_cells + 1, dtype=torch.long, device=device) - cell_starts[1:] = torch.cumsum(cell_counts.long(), dim=0) - - # Initialize cell_atoms with -1 (invalid) - cell_atoms = torch.full( - (num_cells, max_atoms_per_cell), -1, dtype=torch.int32, device=device - ) - - # Fill cell_atoms using a vectorized approach - # Create position within cell for each atom - atom_positions = torch.arange(n_atoms, device=device) - # Position within cell = atom_position - cell_start[cell_of_atom] - position_in_cell = atom_positions - cell_starts[sorted_cell_idx] - - # Scatter atom indices into cell_atoms - # cell_atoms[sorted_cell_idx, position_in_cell] = sort_order - flat_idx = sorted_cell_idx * max_atoms_per_cell + position_in_cell - cell_atoms.view(-1).scatter_(0, flat_idx, sort_order.int()) - - return cell_atoms, cell_counts + return sorted_indices, cell_start, cell_end class TritonCellNeighborV2(TritonNeighborAutograd): @@ -370,7 +274,6 @@ def forward( loop: bool, include_transpose: bool, num_cells: int, - max_atoms_per_cell: int = 128, ): if not _HAS_TRITON: raise RuntimeError("Triton is not available") @@ -400,9 +303,9 @@ def forward( box_sizes[0], box_sizes[1], box_sizes[2], cutoff_upper ) - # Build cell list - cell_atoms, cell_counts = build_cell_list( - positions, box_sizes, use_periodic, cell_dims, num_cells, max_atoms_per_cell + # Build cell list (1D sorted approach) + sorted_indices, cell_start, cell_end = build_cell_list( + positions, box_sizes, use_periodic, cell_dims, num_cells ) # Allocate outputs @@ -412,16 +315,11 @@ def forward( counter = torch.zeros((1,), device=device, dtype=torch.int32) # Launch kernel: one program per cell - # TILE_SIZE controls memory usage: 32×32=1K elements per tile (fits in registers) - TILE_SIZE = 32 - assert ( - max_atoms_per_cell % TILE_SIZE == 0 - ), f"max_atoms_per_cell ({max_atoms_per_cell}) must be divisible by TILE_SIZE ({TILE_SIZE})" - grid = (num_cells,) cell_neighbor_kernel[grid]( - cell_atoms, - cell_counts, + sorted_indices, + cell_start, + cell_end, positions, batch, box_sizes, @@ -436,8 +334,6 @@ def forward( use_periodic=use_periodic, loop=loop, include_transpose=include_transpose, - MAX_ATOMS_PER_CELL=max_atoms_per_cell, - TILE_SIZE=TILE_SIZE, ) num_pairs = counter.to(torch.long) @@ -447,63 +343,8 @@ def forward( @staticmethod def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] - # Call parent backward (returns 9 values) and add None for num_cells and max_atoms_per_cell + # Call parent backward (returns 9 values) and add None for num_cells parent_grads = TritonNeighborAutograd.backward( ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs ) - return (*parent_grads, None, None) - - -# def triton_cell_neighbor_v2( -# positions: Tensor, -# batch: Tensor, -# box_vectors: Tensor, -# use_periodic: bool, -# cutoff_lower: float, -# cutoff_upper: float, -# max_num_pairs: int, -# loop: bool, -# include_transpose: bool, -# num_cells: int, -# max_atoms_per_cell: int = 64, -# ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: -# """ -# Efficient cell list neighbor list using Triton. - -# This implementation achieves O(n) complexity by: -# 1. Spawning one program per cell -# 2. Using fixed-size cell buffers (MAX_ATOMS_PER_CELL) -# 3. Each program only examines the 27 neighboring cells - -# Args: -# positions: [N, 3] atom positions -# batch: [N] batch indices -# box_vectors: [3, 3] or [n_batch, 3, 3] box vectors (must be diagonal) -# use_periodic: whether to use periodic boundary conditions -# cutoff_lower: lower cutoff distance -# cutoff_upper: upper cutoff distance -# max_num_pairs: maximum number of pairs to return -# loop: whether to include self-interactions (i == j) -# include_transpose: whether to include both (i,j) and (j,i) -# num_cells: total number of cells (fixed for CUDA graph compatibility) -# max_atoms_per_cell: maximum atoms per cell (default 64) - -# Returns: -# neighbors: [2, num_pairs] pair indices -# deltas: [num_pairs, 3] displacement vectors -# distances: [num_pairs] distances -# num_pairs: [1] number of pairs found -# """ -# return TritonCellNeighborV2.apply( -# positions, -# batch, -# box_vectors, -# use_periodic, -# cutoff_lower, -# cutoff_upper, -# max_num_pairs, -# loop, -# include_transpose, -# num_cells, -# max_atoms_per_cell, -# ) + return (*parent_grads, None) From 0fb377e1e1095c6cc670d7b73aba7bd61e5c3629 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 14:29:49 +0200 Subject: [PATCH 33/80] faster version --- torchmdnet/extensions/triton_cell_v2.py | 173 +++++++++++++++++------- 1 file changed, 127 insertions(+), 46 deletions(-) diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py index f7ba328c3..ec339d3a8 100644 --- a/torchmdnet/extensions/triton_cell_v2.py +++ b/torchmdnet/extensions/triton_cell_v2.py @@ -54,11 +54,18 @@ def cell_neighbor_kernel( use_periodic: tl.constexpr, loop: tl.constexpr, include_transpose: tl.constexpr, + # Batch size for vectorized processing + BATCH_SIZE: tl.constexpr, # e.g., 32 -> processes 32×32=1024 pairs per iteration ): """ Each program processes one cell (the "home" cell). Uses 1D sorted array with cell_start/cell_end pointers. - Iterates only over actual atoms in each cell using while loops. + + Vectorized batched processing: + - Loads BATCH_SIZE atoms at a time for both home and neighbor + - Computes BATCH_SIZE × BATCH_SIZE distance matrix per iteration + - Uses while loops to iterate only over actual atoms + - Minimal waste: only last partial batch may have masked elements To avoid double-counting: - For half list (include_transpose=False): only emit pairs where home_atom > neighbor_atom @@ -123,30 +130,56 @@ def cell_neighbor_kernel( neighbor_start = tl.where(cell_valid, neighbor_start, 0) neighbor_end = tl.where(cell_valid, neighbor_end, 0) - # Iterate over home atoms using while loop (only actual atoms) - home_i = home_start - while home_i < home_end: - # Load home atom data - home_atom = tl.load(SortedIndices + home_i) - home_x = tl.load(Positions + home_atom * 3 + 0) - home_y = tl.load(Positions + home_atom * 3 + 1) - home_z = tl.load(Positions + home_atom * 3 + 2) - home_batch = tl.load(Batch + home_atom) - - # Iterate over neighbor atoms using while loop (only actual atoms) - neighbor_i = neighbor_start - while neighbor_i < neighbor_end: - # Load neighbor atom data - neighbor_atom = tl.load(SortedIndices + neighbor_i) - neighbor_x = tl.load(Positions + neighbor_atom * 3 + 0) - neighbor_y = tl.load(Positions + neighbor_atom * 3 + 1) - neighbor_z = tl.load(Positions + neighbor_atom * 3 + 2) - neighbor_batch = tl.load(Batch + neighbor_atom) - - # Compute distance - dx = home_x - neighbor_x - dy = home_y - neighbor_y - dz = home_z - neighbor_z + # Batched iteration over home atoms + home_batch_start = home_start + while home_batch_start < home_end: + # Load BATCH_SIZE home atoms + home_offsets = tl.arange(0, BATCH_SIZE) + home_global_idx = home_batch_start + home_offsets + home_mask = home_global_idx < home_end + + # Load home atom indices from sorted array + home_atoms = tl.load( + SortedIndices + home_global_idx, mask=home_mask, other=0 + ) + + # Load home atom positions (gather from original positions) + home_x = tl.load(Positions + home_atoms * 3 + 0, mask=home_mask, other=0.0) + home_y = tl.load(Positions + home_atoms * 3 + 1, mask=home_mask, other=0.0) + home_z = tl.load(Positions + home_atoms * 3 + 2, mask=home_mask, other=0.0) + home_batch = tl.load(Batch + home_atoms, mask=home_mask, other=-1) + + # Batched iteration over neighbor atoms + neighbor_batch_start = neighbor_start + while neighbor_batch_start < neighbor_end: + # Load BATCH_SIZE neighbor atoms + neighbor_offsets = tl.arange(0, BATCH_SIZE) + neighbor_global_idx = neighbor_batch_start + neighbor_offsets + neighbor_mask = neighbor_global_idx < neighbor_end + + # Load neighbor atom indices from sorted array + neighbor_atoms = tl.load( + SortedIndices + neighbor_global_idx, mask=neighbor_mask, other=0 + ) + + # Load neighbor atom positions + neighbor_x = tl.load( + Positions + neighbor_atoms * 3 + 0, mask=neighbor_mask, other=0.0 + ) + neighbor_y = tl.load( + Positions + neighbor_atoms * 3 + 1, mask=neighbor_mask, other=0.0 + ) + neighbor_z = tl.load( + Positions + neighbor_atoms * 3 + 2, mask=neighbor_mask, other=0.0 + ) + neighbor_batch_vals = tl.load( + Batch + neighbor_atoms, mask=neighbor_mask, other=-2 + ) + + # Compute pairwise distances: [BATCH_SIZE, BATCH_SIZE] + dx = home_x[:, None] - neighbor_x[None, :] + dy = home_y[:, None] - neighbor_y[None, :] + dz = home_z[:, None] - neighbor_z[None, :] # Apply PBC if use_periodic: @@ -156,42 +189,85 @@ def cell_neighbor_kernel( dist_sq = dx * dx + dy * dy + dz * dz - # Check validity + # Build validity mask + # 1. Distance within cutoff cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) - cond_batch = home_batch == neighbor_batch - # Index ordering to avoid double-counting + # 2. Same batch + cond_batch = home_batch[:, None] == neighbor_batch_vals[None, :] + + # 3. Index ordering to avoid double-counting + home_atoms_bc = home_atoms[:, None] + neighbor_atoms_bc = neighbor_atoms[None, :] + if include_transpose: if loop: cond_idx = True else: - cond_idx = home_atom != neighbor_atom + cond_idx = home_atoms_bc != neighbor_atoms_bc else: if loop: - cond_idx = home_atom >= neighbor_atom + cond_idx = home_atoms_bc >= neighbor_atoms_bc else: - cond_idx = home_atom > neighbor_atom + cond_idx = home_atoms_bc > neighbor_atoms_bc + + # 4. Both atoms must be valid (within actual cell bounds) + cond_valid = home_mask[:, None] & neighbor_mask[None, :] + + # Combined validity + valid_mask = cond_dist & cond_batch & cond_idx & cond_valid + + # Count and store valid pairs + num_found = tl.sum(valid_mask.to(tl.int32)) - is_valid = cond_dist & cond_batch & cond_idx + if num_found > 0: + # Atomically reserve space in output + current_offset = tl.atomic_add(GlobalCounter, num_found) - if is_valid: - # Atomically reserve one slot - current_offset = tl.atomic_add(GlobalCounter, 1) + if current_offset + num_found <= max_pairs: + # Compute storage indices using cumsum + flat_mask = tl.ravel(valid_mask) + csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) + store_idx = current_offset + csum - 1 - if current_offset < max_pairs: - dist = tl.sqrt(dist_sq) - # Store pair - tl.store(OutPairs + 0 * max_pairs + current_offset, home_atom) + # Prepare flattened data + flat_home = tl.ravel( + tl.broadcast_to( + home_atoms[:, None], (BATCH_SIZE, BATCH_SIZE) + ) + ) + flat_neighbor = tl.ravel( + tl.broadcast_to( + neighbor_atoms[None, :], (BATCH_SIZE, BATCH_SIZE) + ) + ) + flat_dx = tl.ravel(dx) + flat_dy = tl.ravel(dy) + flat_dz = tl.ravel(dz) + flat_dist = tl.sqrt(tl.ravel(dist_sq)) + + # Store pairs + tl.store( + OutPairs + 0 * max_pairs + store_idx, + flat_home, + mask=flat_mask, + ) tl.store( - OutPairs + 1 * max_pairs + current_offset, neighbor_atom + OutPairs + 1 * max_pairs + store_idx, + flat_neighbor, + mask=flat_mask, ) - tl.store(OutDeltas + current_offset * 3 + 0, dx) - tl.store(OutDeltas + current_offset * 3 + 1, dy) - tl.store(OutDeltas + current_offset * 3 + 2, dz) - tl.store(OutDists + current_offset, dist) - neighbor_i += 1 - home_i += 1 + # Store deltas + tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) + + # Store distances + tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) + + neighbor_batch_start += BATCH_SIZE + home_batch_start += BATCH_SIZE def build_cell_list( @@ -315,6 +391,10 @@ def forward( counter = torch.zeros((1,), device=device, dtype=torch.int32) # Launch kernel: one program per cell + # BATCH_SIZE: process atoms in batches for vectorized compute + # 32 is a good balance: 32×32=1024 elements fits in registers, minimal waste on partial batches + BATCH_SIZE = 32 + grid = (num_cells,) cell_neighbor_kernel[grid]( sorted_indices, @@ -334,6 +414,7 @@ def forward( use_periodic=use_periodic, loop=loop, include_transpose=include_transpose, + BATCH_SIZE=BATCH_SIZE, ) num_pairs = counter.to(torch.long) From 0658dbc3ece2cd499fb7aab948c48e90bfcbdd47 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 14:31:27 +0200 Subject: [PATCH 34/80] memory coalesced cell neighbor impl --- torchmdnet/extensions/triton_cell_v2.py | 74 ++++++++++++++++--------- 1 file changed, 49 insertions(+), 25 deletions(-) diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py index ec339d3a8..1763c9b11 100644 --- a/torchmdnet/extensions/triton_cell_v2.py +++ b/torchmdnet/extensions/triton_cell_v2.py @@ -34,10 +34,10 @@ def _tl_round(x): def cell_neighbor_kernel( # Cell data structure (1D sorted approach) SortedIndices, # [n_atoms] - original atom indices, sorted by cell - CellStart, # [num_cells] - start index in SortedIndices for each cell - CellEnd, # [num_cells] - end index (exclusive) in SortedIndices for each cell - Positions, # [n_atoms, 3] - positions (original order) - Batch, # [n_atoms] - batch indices (original order) + SortedPositions, # [n_atoms, 3] - positions sorted by cell (for coalesced access) + SortedBatch, # [n_atoms] - batch indices sorted by cell + CellStart, # [num_cells] - start index in sorted arrays for each cell + CellEnd, # [num_cells] - end index (exclusive) in sorted arrays for each cell # Box parameters BoxSizes, # [3] - box dimensions CellDims, # [3] - number of cells in each dimension (int32) @@ -138,16 +138,24 @@ def cell_neighbor_kernel( home_global_idx = home_batch_start + home_offsets home_mask = home_global_idx < home_end - # Load home atom indices from sorted array + # Load home atom original indices (for output pair indices) home_atoms = tl.load( SortedIndices + home_global_idx, mask=home_mask, other=0 ) - # Load home atom positions (gather from original positions) - home_x = tl.load(Positions + home_atoms * 3 + 0, mask=home_mask, other=0.0) - home_y = tl.load(Positions + home_atoms * 3 + 1, mask=home_mask, other=0.0) - home_z = tl.load(Positions + home_atoms * 3 + 2, mask=home_mask, other=0.0) - home_batch = tl.load(Batch + home_atoms, mask=home_mask, other=-1) + # Load home atom positions (sequential access - coalesced!) + home_x = tl.load( + SortedPositions + home_global_idx * 3 + 0, mask=home_mask, other=0.0 + ) + home_y = tl.load( + SortedPositions + home_global_idx * 3 + 1, mask=home_mask, other=0.0 + ) + home_z = tl.load( + SortedPositions + home_global_idx * 3 + 2, mask=home_mask, other=0.0 + ) + home_batch = tl.load( + SortedBatch + home_global_idx, mask=home_mask, other=-1 + ) # Batched iteration over neighbor atoms neighbor_batch_start = neighbor_start @@ -157,23 +165,29 @@ def cell_neighbor_kernel( neighbor_global_idx = neighbor_batch_start + neighbor_offsets neighbor_mask = neighbor_global_idx < neighbor_end - # Load neighbor atom indices from sorted array + # Load neighbor atom original indices (for output pair indices) neighbor_atoms = tl.load( SortedIndices + neighbor_global_idx, mask=neighbor_mask, other=0 ) - # Load neighbor atom positions + # Load neighbor atom positions (sequential access - coalesced!) neighbor_x = tl.load( - Positions + neighbor_atoms * 3 + 0, mask=neighbor_mask, other=0.0 + SortedPositions + neighbor_global_idx * 3 + 0, + mask=neighbor_mask, + other=0.0, ) neighbor_y = tl.load( - Positions + neighbor_atoms * 3 + 1, mask=neighbor_mask, other=0.0 + SortedPositions + neighbor_global_idx * 3 + 1, + mask=neighbor_mask, + other=0.0, ) neighbor_z = tl.load( - Positions + neighbor_atoms * 3 + 2, mask=neighbor_mask, other=0.0 + SortedPositions + neighbor_global_idx * 3 + 2, + mask=neighbor_mask, + other=0.0, ) neighbor_batch_vals = tl.load( - Batch + neighbor_atoms, mask=neighbor_mask, other=-2 + SortedBatch + neighbor_global_idx, mask=neighbor_mask, other=-2 ) # Compute pairwise distances: [BATCH_SIZE, BATCH_SIZE] @@ -272,16 +286,18 @@ def cell_neighbor_kernel( def build_cell_list( positions: Tensor, + batch: Tensor, box_sizes: Tensor, # [3] diagonal elements use_periodic: bool, cell_dims: Tensor, # [3] number of cells in each dimension num_cells: int, # total number of cells (fixed for CUDA graphs) -) -> Tuple[Tensor, Tensor, Tensor]: +) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]: """ Build the cell list data structure using 1D sorted arrays. Args: positions: [N, 3] atom positions + batch: [N] batch indices box_sizes: [3] box diagonal elements use_periodic: whether to use periodic boundary conditions cell_dims: [3] number of cells in each dimension (pre-computed) @@ -289,8 +305,10 @@ def build_cell_list( Returns: sorted_indices: [n_atoms] - original atom indices, sorted by cell - cell_start: [num_cells] - start index in sorted_indices for each cell - cell_end: [num_cells] - end index (exclusive) in sorted_indices for each cell + sorted_positions: [n_atoms, 3] - positions sorted by cell (for coalesced access) + sorted_batch: [n_atoms] - batch indices sorted by cell + cell_start: [num_cells] - start index in sorted arrays for each cell + cell_end: [num_cells] - end index (exclusive) in sorted arrays for each cell """ device = positions.device n_atoms = positions.size(0) @@ -322,6 +340,10 @@ def build_cell_list( sorted_cell_idx, sort_order = torch.sort(cell_idx) sorted_indices = sort_order.int() # Original atom indices, now sorted by cell + # Create sorted positions and batch for coalesced memory access + sorted_positions = positions.index_select(0, sort_order).contiguous() + sorted_batch = batch.index_select(0, sort_order).contiguous() + # Count atoms per cell cell_counts = torch.zeros(num_cells, dtype=torch.int32, device=device) cell_counts.scatter_add_( @@ -333,7 +355,7 @@ def build_cell_list( cell_start = torch.zeros(num_cells, dtype=torch.int32, device=device) cell_start[1:] = cell_end[:-1] - return sorted_indices, cell_start, cell_end + return sorted_indices, sorted_positions, sorted_batch, cell_start, cell_end class TritonCellNeighborV2(TritonNeighborAutograd): @@ -379,9 +401,11 @@ def forward( box_sizes[0], box_sizes[1], box_sizes[2], cutoff_upper ) - # Build cell list (1D sorted approach) - sorted_indices, cell_start, cell_end = build_cell_list( - positions, box_sizes, use_periodic, cell_dims, num_cells + # Build cell list (1D sorted approach with sorted positions for coalesced access) + sorted_indices, sorted_positions, sorted_batch, cell_start, cell_end = ( + build_cell_list( + positions, batch, box_sizes, use_periodic, cell_dims, num_cells + ) ) # Allocate outputs @@ -398,10 +422,10 @@ def forward( grid = (num_cells,) cell_neighbor_kernel[grid]( sorted_indices, + sorted_positions, + sorted_batch, cell_start, cell_end, - positions, - batch, box_sizes, cell_dims, neighbors, From bd93ed4c691c6301dd8ad5f40e8b24a7982aec6c Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 14:55:50 +0200 Subject: [PATCH 35/80] cleanup and keep just the last cell version --- torchmdnet/extensions/triton_cell.py | 714 +++++++++++----------- torchmdnet/extensions/triton_cell_v2.py | 455 -------------- torchmdnet/extensions/triton_neighbors.py | 3 +- 3 files changed, 358 insertions(+), 814 deletions(-) delete mode 100644 torchmdnet/extensions/triton_cell_v2.py diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index f129b93be..54aba4b4c 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -1,3 +1,12 @@ +""" +Efficient cell list neighbor list implementation for Triton. + +Key design: +- One program per cell (not per atom) +- Fixed-size padded cell buffers for CUDA graph compatibility +- O(n) complexity: each cell examines only 27 neighboring cells +""" + try: import triton import triton.language as tl @@ -10,294 +19,355 @@ import torch from torch import Tensor -from torchmdnet.extensions.triton_neighbors import ( - _tl_round, - TritonNeighborAutograd, - _validate_box, -) +from typing import Tuple + +from torchmdnet.extensions.triton_neighbors import TritonNeighborAutograd +from torchmdnet.extensions.triton_cell import _get_cell_dimensions + + +@triton.jit +def _tl_round(x): + return tl.where(x >= 0, tl.math.floor(x + 0.5), tl.math.ceil(x - 0.5)) @triton.jit -def neighbor_list_kernel( - # Pointers - SortedCoords, - SortedBatch, - SortedToOrig, - CellStart, - CellEnd, - OutPairs, - OutDeltas, - OutDists, - GlobalCounter, - BoxSizes, # Pointer to [box_x, box_y, box_z] - CellDims, # Pointer to [n_cells_x, n_cells_y, n_cells_z] - # Parameters - n_atoms, +def cell_neighbor_kernel( + # Cell data structure (1D sorted approach) + SortedIndices, # [n_atoms] - original atom indices, sorted by cell + SortedPositions, # [n_atoms, 3] - positions sorted by cell (for coalesced access) + SortedBatch, # [n_atoms] - batch indices sorted by cell + CellStart, # [num_cells] - start index in sorted arrays for each cell + CellEnd, # [num_cells] - end index (exclusive) in sorted arrays for each cell + # Box parameters + BoxSizes, # [3] - box dimensions + CellDims, # [3] - number of cells in each dimension (int32) + # Output + OutPairs, # [2, max_pairs] + OutDeltas, # [max_pairs, 3] + OutDists, # [max_pairs] + GlobalCounter, # [1] + # Scalar parameters max_pairs, cutoff_lower_sq, cutoff_upper_sq, # Flags - use_periodic: tl.constexpr, # Enable/Disable PBC - loop: tl.constexpr, # Enable/Disable Self-interactions - include_transpose: tl.constexpr, # True: i!=j (Full), False: i processes 32×32=1024 pairs per iteration ): - pid = tl.program_id(0) - idx_m = pid * BLOCK_M + tl.arange(0, BLOCK_M) - mask_m = idx_m < n_atoms - - # Load box sizes (CUDA graph compatible - no CPU sync) + """ + Each program processes one cell (the "home" cell). + Uses 1D sorted array with cell_start/cell_end pointers. + + Vectorized batched processing: + - Loads BATCH_SIZE atoms at a time for both home and neighbor + - Computes BATCH_SIZE × BATCH_SIZE distance matrix per iteration + - Uses while loops to iterate only over actual atoms + - Minimal waste: only last partial batch may have masked elements + + To avoid double-counting: + - For half list (include_transpose=False): only emit pairs where home_atom > neighbor_atom + - For full list (include_transpose=True): emit both directions + """ + home_cell_id = tl.program_id(0) + + # Load box and cell dimensions box_x = tl.load(BoxSizes + 0) box_y = tl.load(BoxSizes + 1) box_z = tl.load(BoxSizes + 2) - # Load cell dimensions (CUDA graph compatible - no CPU sync) - n_cells_x = tl.load(CellDims + 0) - n_cells_y = tl.load(CellDims + 1) - n_cells_z = tl.load(CellDims + 2) - - # Load Query Data - off_m = idx_m - pos_mx = tl.load(SortedCoords + off_m * 3 + 0, mask=mask_m, other=0.0) - pos_my = tl.load(SortedCoords + off_m * 3 + 1, mask=mask_m, other=0.0) - pos_mz = tl.load(SortedCoords + off_m * 3 + 2, mask=mask_m, other=0.0) - batch_m = tl.load(SortedBatch + off_m, mask=mask_m, other=-1) - - # Identify Home Cell - vectorized for all BLOCK_M atoms - cell_sx = box_x / n_cells_x - cell_sy = box_y / n_cells_y - cell_sz = box_z / n_cells_z - - # Local coords for cell calculation (vectorized for all atoms in block) - # Match CUDA implementation: for periodic, wrap to [0, box); for non-periodic, shift by 0.5*box - if use_periodic: - px = pos_mx - box_x * tl.math.floor(pos_mx / box_x) - py = pos_my - box_y * tl.math.floor(pos_my / box_y) - pz = pos_mz - box_z * tl.math.floor(pos_mz / box_z) - else: - # For non-periodic, shift by half box (like CUDA impl: (p + 0.5*box) / cutoff) - px = pos_mx + 0.5 * box_x - py = pos_my + 0.5 * box_y - pz = pos_mz + 0.5 * box_z - - # Cell indices for each atom in the block (vectors of size BLOCK_M) - c_i_vec = (px / cell_sx).to(tl.int32) - c_j_vec = (py / cell_sy).to(tl.int32) - c_k_vec = (pz / cell_sz).to(tl.int32) - - # Clamp to valid range - c_i_vec = tl.maximum(tl.minimum(c_i_vec, n_cells_x - 1), 0) - c_j_vec = tl.maximum(tl.minimum(c_j_vec, n_cells_y - 1), 0) - c_k_vec = tl.maximum(tl.minimum(c_k_vec, n_cells_z - 1), 0) - - # Iterate over neighbor cell offsets - for i in range(-1, 2): - for j in range(-1, 2): - for k in range(-1, 2): - - # Compute neighbor cell indices for all atoms in block (vectorized) - n_idx_x = c_i_vec + i - n_idx_y = c_j_vec + j - n_idx_z = c_k_vec + k - - # --- PBC CHECK (vectorized) --- - if use_periodic: - # Wrap around - n_idx_x = (n_idx_x + n_cells_x) % n_cells_x - n_idx_y = (n_idx_y + n_cells_y) % n_cells_y - n_idx_z = (n_idx_z + n_cells_z) % n_cells_z - valid_cell_mask = mask_m # All cells valid with PBC - else: - # Strict Bounds Check (vectorized) - valid_cell_mask = ( - (n_idx_x >= 0) - & (n_idx_x < n_cells_x) - & (n_idx_y >= 0) - & (n_idx_y < n_cells_y) - & (n_idx_z >= 0) - & (n_idx_z < n_cells_z) - & mask_m - ) - - # Compute flat cell indices (vectorized, one per query atom) - cell_idx_vec = ( - n_idx_x * (n_cells_y * n_cells_z) + n_idx_y * n_cells_z + n_idx_z + num_cells_x = tl.load(CellDims + 0) + num_cells_y = tl.load(CellDims + 1) + num_cells_z = tl.load(CellDims + 2) + + # Decompose home cell ID into 3D coordinates + cells_yz = num_cells_y * num_cells_z + home_cx = home_cell_id // cells_yz + home_cy = (home_cell_id % cells_yz) // num_cells_z + home_cz = home_cell_id % num_cells_z + + # Load home cell boundaries + home_start = tl.load(CellStart + home_cell_id) + home_end = tl.load(CellEnd + home_cell_id) + + # Loop over 27 neighbor cells + for neighbor_offset in tl.range(0, 27): + # Decompose neighbor_offset into di, dj, dk (each in {-1, 0, 1}) + di = (neighbor_offset % 3) - 1 + dj = ((neighbor_offset // 3) % 3) - 1 + dk = (neighbor_offset // 9) - 1 + + # Compute neighbor cell coordinates + ni = home_cx + di + nj = home_cy + dj + nk = home_cz + dk + + # Handle boundary conditions + if use_periodic: + ni = (ni + num_cells_x) % num_cells_x + nj = (nj + num_cells_y) % num_cells_y + nk = (nk + num_cells_z) % num_cells_z + cell_valid = True + else: + cell_valid = ( + (ni >= 0) + & (ni < num_cells_x) + & (nj >= 0) + & (nj < num_cells_y) + & (nk >= 0) + & (nk < num_cells_z) + ) + + neighbor_cell_id = ni * cells_yz + nj * num_cells_z + nk + + # Load neighbor cell boundaries + neighbor_start = tl.load(CellStart + neighbor_cell_id) + neighbor_end = tl.load(CellEnd + neighbor_cell_id) + + # If cell is invalid (non-periodic boundary), make it empty + neighbor_start = tl.where(cell_valid, neighbor_start, 0) + neighbor_end = tl.where(cell_valid, neighbor_end, 0) + + # Batched iteration over home atoms + home_batch_start = home_start + while home_batch_start < home_end: + # Load BATCH_SIZE home atoms + home_offsets = tl.arange(0, BATCH_SIZE) + home_global_idx = home_batch_start + home_offsets + home_mask = home_global_idx < home_end + + # Load home atom original indices (for output pair indices) + home_atoms = tl.load( + SortedIndices + home_global_idx, mask=home_mask, other=0 + ) + + # Load home atom positions (sequential access - coalesced!) + home_x = tl.load( + SortedPositions + home_global_idx * 3 + 0, mask=home_mask, other=0.0 + ) + home_y = tl.load( + SortedPositions + home_global_idx * 3 + 1, mask=home_mask, other=0.0 + ) + home_z = tl.load( + SortedPositions + home_global_idx * 3 + 2, mask=home_mask, other=0.0 + ) + home_batch = tl.load( + SortedBatch + home_global_idx, mask=home_mask, other=-1 + ) + + # Batched iteration over neighbor atoms + neighbor_batch_start = neighbor_start + while neighbor_batch_start < neighbor_end: + # Load BATCH_SIZE neighbor atoms + neighbor_offsets = tl.arange(0, BATCH_SIZE) + neighbor_global_idx = neighbor_batch_start + neighbor_offsets + neighbor_mask = neighbor_global_idx < neighbor_end + + # Load neighbor atom original indices (for output pair indices) + neighbor_atoms = tl.load( + SortedIndices + neighbor_global_idx, mask=neighbor_mask, other=0 ) - # Gather cell boundaries for each query atom's neighbor cell - start_vec = tl.load( - CellStart + cell_idx_vec, mask=valid_cell_mask, other=-1 + # Load neighbor atom positions (sequential access - coalesced!) + neighbor_x = tl.load( + SortedPositions + neighbor_global_idx * 3 + 0, + mask=neighbor_mask, + other=0.0, ) - end_vec = tl.load(CellEnd + cell_idx_vec, mask=valid_cell_mask, other=0) - - # Find the maximum range we need to scan - max_end = tl.max(tl.where(valid_cell_mask, end_vec, 0)) - min_start = tl.min( - tl.where(valid_cell_mask & (start_vec >= 0), start_vec, n_atoms) + neighbor_y = tl.load( + SortedPositions + neighbor_global_idx * 3 + 1, + mask=neighbor_mask, + other=0.0, + ) + neighbor_z = tl.load( + SortedPositions + neighbor_global_idx * 3 + 2, + mask=neighbor_mask, + other=0.0, ) + neighbor_batch_vals = tl.load( + SortedBatch + neighbor_global_idx, mask=neighbor_mask, other=-2 + ) + + # Compute pairwise distances: [BATCH_SIZE, BATCH_SIZE] + dx = home_x[:, None] - neighbor_x[None, :] + dy = home_y[:, None] - neighbor_y[None, :] + dz = home_z[:, None] - neighbor_z[None, :] + + # Apply PBC + if use_periodic: + dx = dx - box_x * _tl_round(dx / box_x) + dy = dy - box_y * _tl_round(dy / box_y) + dz = dz - box_z * _tl_round(dz / box_z) + + dist_sq = dx * dx + dy * dy + dz * dz + + # Build validity mask + # 1. Distance within cutoff + cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) + + # 2. Same batch + cond_batch = home_batch[:, None] == neighbor_batch_vals[None, :] + + # 3. Index ordering to avoid double-counting + home_atoms_bc = home_atoms[:, None] + neighbor_atoms_bc = neighbor_atoms[None, :] - # Use fixed iteration count for CUDA graph compatibility - # Iterate over all possible neighbor atoms (worst case: all atoms) - for tile_idx in range(MAX_TILES): - # Neighbor atom indices (global indices in sorted array) - idx_n = tile_idx * BLOCK_M + tl.arange(0, BLOCK_M) - # Only process if within valid range [min_start, max_end) and within n_atoms - mask_n = ( - (idx_n >= min_start) & (idx_n < max_end) & (idx_n < n_atoms) - ) - - # Load Candidate atoms - off_n = idx_n - pos_nx = tl.load( - SortedCoords + off_n * 3 + 0, mask=mask_n, other=0.0 - ) - pos_ny = tl.load( - SortedCoords + off_n * 3 + 1, mask=mask_n, other=0.0 - ) - pos_nz = tl.load( - SortedCoords + off_n * 3 + 2, mask=mask_n, other=0.0 - ) - batch_n = tl.load(SortedBatch + off_n, mask=mask_n, other=-2) - - # Compute distances: [BLOCK_M query atoms, BLOCK_M candidate atoms] - d_x = pos_mx[:, None] - pos_nx[None, :] - d_y = pos_my[:, None] - pos_ny[None, :] - d_z = pos_mz[:, None] - pos_nz[None, :] - - # --- PBC Distance Adjustment --- - if use_periodic: - d_x = d_x - box_x * _tl_round(d_x / box_x) - d_y = d_y - box_y * _tl_round(d_y / box_y) - d_z = d_z - box_z * _tl_round(d_z / box_z) - - dist_sq = d_x * d_x + d_y * d_y + d_z * d_z - - # --- Interaction Logic --- - # 1. Distance & Batch conditions - cond_dist = (dist_sq <= cutoff_upper_sq) & ( - dist_sq >= cutoff_lower_sq - ) - cond_batch = batch_m[:, None] == batch_n[None, :] - - # 2. Check if neighbor is within each query atom's cell range - # idx_n is [BLOCK_M], start_vec is [BLOCK_M], end_vec is [BLOCK_M] - # We need [BLOCK_M, BLOCK_M] comparison - idx_n_bc = idx_n[None, :] # [1, BLOCK_M] - start_bc = start_vec[:, None] # [BLOCK_M, 1] - end_bc = end_vec[:, None] # [BLOCK_M, 1] - valid_cell_bc = valid_cell_mask[:, None] # [BLOCK_M, 1] - - # Neighbor must be in the query atom's specific cell range - cond_in_range = ( - (idx_n_bc >= start_bc) & (idx_n_bc < end_bc) & valid_cell_bc - ) - - # Load original indices for loop/transpose logic - # The condition must be based on original indices, not sorted indices - orig_m = tl.load(SortedToOrig + idx_m, mask=mask_m, other=-1) - orig_n = tl.load(SortedToOrig + idx_n, mask=mask_n, other=-1) - - # 3. Index / Loop Logic (using original indices) - orig_m_bc = orig_m[:, None] - orig_n_bc = orig_n[None, :] - - if include_transpose: - # Full List (both i->j and j->i) - if loop: - # Accept everything (i!=j AND i==j) -> All True - cond_idx = True - else: - # Accept only i != j - cond_idx = orig_m_bc != orig_n_bc + if include_transpose: + if loop: + cond_idx = True else: - # Half List (lower triangle convention: i >= j) - if loop: - # Accept i >= j (includes diagonal) - cond_idx = orig_m_bc >= orig_n_bc - else: - # Accept i > j (excludes diagonal) - cond_idx = orig_m_bc > orig_n_bc - - valid_mask = ( - cond_dist - & cond_batch - & cond_idx - & cond_in_range - & mask_m[:, None] - & mask_n[None, :] - ) - - # --- Store Block --- - num_found = tl.sum(valid_mask.to(tl.int32)) - if num_found > 0: - current_offset = tl.atomic_add(GlobalCounter, num_found) - if current_offset + num_found <= max_pairs: - flat_mask = tl.ravel(valid_mask) - csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) - store_idx = current_offset + csum - 1 - - flat_orig_m = tl.ravel( - tl.broadcast_to(orig_m[:, None], (BLOCK_M, BLOCK_M)) - ) - flat_orig_n = tl.ravel( - tl.broadcast_to(orig_n[None, :], (BLOCK_M, BLOCK_M)) - ) + cond_idx = home_atoms_bc != neighbor_atoms_bc + else: + if loop: + cond_idx = home_atoms_bc >= neighbor_atoms_bc + else: + cond_idx = home_atoms_bc > neighbor_atoms_bc - tl.store( - OutPairs + 0 * max_pairs + store_idx, - flat_orig_m, - mask=flat_mask, - ) - tl.store( - OutPairs + 1 * max_pairs + store_idx, - flat_orig_n, - mask=flat_mask, - ) - tl.store( - OutDeltas + store_idx * 3 + 0, - tl.ravel(d_x), - mask=flat_mask, - ) - tl.store( - OutDeltas + store_idx * 3 + 1, - tl.ravel(d_y), - mask=flat_mask, - ) - tl.store( - OutDeltas + store_idx * 3 + 2, - tl.ravel(d_z), - mask=flat_mask, + # 4. Both atoms must be valid (within actual cell bounds) + cond_valid = home_mask[:, None] & neighbor_mask[None, :] + + # Combined validity + valid_mask = cond_dist & cond_batch & cond_idx & cond_valid + + # Count and store valid pairs + num_found = tl.sum(valid_mask.to(tl.int32)) + + if num_found > 0: + # Atomically reserve space in output + current_offset = tl.atomic_add(GlobalCounter, num_found) + + if current_offset + num_found <= max_pairs: + # Compute storage indices using cumsum + flat_mask = tl.ravel(valid_mask) + csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) + store_idx = current_offset + csum - 1 + + # Prepare flattened data + flat_home = tl.ravel( + tl.broadcast_to( + home_atoms[:, None], (BATCH_SIZE, BATCH_SIZE) ) - tl.store( - OutDists + store_idx, - tl.sqrt(tl.ravel(dist_sq)), - mask=flat_mask, + ) + flat_neighbor = tl.ravel( + tl.broadcast_to( + neighbor_atoms[None, :], (BATCH_SIZE, BATCH_SIZE) ) + ) + flat_dx = tl.ravel(dx) + flat_dy = tl.ravel(dy) + flat_dz = tl.ravel(dz) + flat_dist = tl.sqrt(tl.ravel(dist_sq)) + + # Store pairs + tl.store( + OutPairs + 0 * max_pairs + store_idx, + flat_home, + mask=flat_mask, + ) + tl.store( + OutPairs + 1 * max_pairs + store_idx, + flat_neighbor, + mask=flat_mask, + ) + + # Store deltas + tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) + tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) + + # Store distances + tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) + + neighbor_batch_start += BATCH_SIZE + home_batch_start += BATCH_SIZE + + +def build_cell_list( + positions: Tensor, + batch: Tensor, + box_sizes: Tensor, # [3] diagonal elements + use_periodic: bool, + cell_dims: Tensor, # [3] number of cells in each dimension + num_cells: int, # total number of cells (fixed for CUDA graphs) +) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]: + """ + Build the cell list data structure using 1D sorted arrays. + + Args: + positions: [N, 3] atom positions + batch: [N] batch indices + box_sizes: [3] box diagonal elements + use_periodic: whether to use periodic boundary conditions + cell_dims: [3] number of cells in each dimension (pre-computed) + num_cells: total number of cells (pre-computed, fixed for CUDA graphs) + + Returns: + sorted_indices: [n_atoms] - original atom indices, sorted by cell + sorted_positions: [n_atoms, 3] - positions sorted by cell (for coalesced access) + sorted_batch: [n_atoms] - batch indices sorted by cell + cell_start: [num_cells] - start index in sorted arrays for each cell + cell_end: [num_cells] - end index (exclusive) in sorted arrays for each cell + """ + device = positions.device + n_atoms = positions.size(0) + + # Compute cell index for each atom + if use_periodic: + # Wrap to [0, box) + inv_box = 1.0 / box_sizes + wrapped = positions - torch.floor(positions * inv_box) * box_sizes + else: + # Shift by half box (like CUDA implementation) + wrapped = positions + 0.5 * box_sizes + # Cell coordinates + cell_size = box_sizes / cell_dims.float() + cell_coords = (wrapped / cell_size).long() + cell_coords = torch.clamp( + cell_coords, min=torch.zeros(3, device=device), max=cell_dims - 1 + ) -def _get_cell_dimensions( - box_x: torch.float32, - box_y: torch.float32, - box_z: torch.float32, - cutoff_upper: torch.float32, -) -> int: - nx = torch.floor(box_x / cutoff_upper).clamp(min=3).long() - ny = torch.floor(box_y / cutoff_upper).clamp(min=3).long() - nz = torch.floor(box_z / cutoff_upper).clamp(min=3).long() - return torch.stack([nx, ny, nz]) + # Flat cell index + cell_idx = ( + cell_coords[:, 0] * (cell_dims[1] * cell_dims[2]) + + cell_coords[:, 1] * cell_dims[2] + + cell_coords[:, 2] + ).long() + + # Sort atoms by cell index + sorted_cell_idx, sort_order = torch.sort(cell_idx) + sorted_indices = sort_order.int() # Original atom indices, now sorted by cell + + # Create sorted positions and batch for coalesced memory access + sorted_positions = positions.index_select(0, sort_order).contiguous() + sorted_batch = batch.index_select(0, sort_order).contiguous() + + # Count atoms per cell + cell_counts = torch.zeros(num_cells, dtype=torch.int32, device=device) + cell_counts.scatter_add_( + 0, cell_idx, torch.ones(n_atoms, dtype=torch.int32, device=device) + ) + + # Compute cell_start and cell_end using cumsum + cell_end = torch.cumsum(cell_counts, dim=0).int() + cell_start = torch.zeros(num_cells, dtype=torch.int32, device=device) + cell_start[1:] = cell_end[:-1] + + return sorted_indices, sorted_positions, sorted_batch, cell_start, cell_end class TritonCellNeighborAutograd(TritonNeighborAutograd): @staticmethod - def forward( # type: ignore[override] + def forward( ctx, positions: Tensor, batch: Tensor, box_vectors: Tensor, use_periodic: bool, - cutoff_lower: torch.float32, - cutoff_upper: torch.float32, + cutoff_lower: float, + cutoff_upper: float, max_num_pairs: int, loop: bool, include_transpose: bool, @@ -315,132 +385,61 @@ def forward( # type: ignore[override] raise ValueError('Expected "positions" to have shape (N, 3)') if batch.dim() != 1 or batch.size(0) != n_atoms: raise ValueError('Expected "batch" to have shape (N,)') - if max_num_pairs <= 0: - raise ValueError('Expected "max_num_pairs" to be positive') - - # Handle box_vectors - following CUDA cell implementation approach: - # The box must be provided and valid. For non-periodic, the box defines the cell grid bounds. - # Move to correct device/dtype only if needed (avoid CPU sync during graph capture) - # if box_vectors.device != device or box_vectors.dtype != dtype: - # box_vectors = box_vectors.to(dtype=dtype, device=device) + + # Extract box diagonal box_vectors = box_vectors.contiguous() - box_diag = box_vectors[0] if box_vectors.dim() == 3 else box_vectors - # Keep as tensors to avoid GPU->CPU sync during CUDA graph capture - box_x = box_diag[0, 0] - box_y = box_diag[1, 1] - box_z = box_diag[2, 2] - # Create a contiguous tensor for kernel (CUDA graph compatible) - box_sizes = torch.stack([box_x, box_y, box_z]).contiguous() - - # Compute dimensions using torch operations (stays on GPU) - cell_dims = _get_cell_dimensions(box_x, box_y, box_z, cutoff_upper) - - # 1. Cell Index Calculation - # For periodic: wrap positions to [0, box) using PBC - # For non-periodic: shift positions by half box (matching CUDA cell implementation) - # The CUDA implementation uses: (p + 0.5 * box_size) / cutoff for cell index - if use_periodic: - inv_box_x = 1.0 / box_x - inv_box_y = 1.0 / box_y - inv_box_z = 1.0 / box_z - px = positions[:, 0] - torch.floor(positions[:, 0] * inv_box_x) * box_x - py = positions[:, 1] - torch.floor(positions[:, 1] * inv_box_y) * box_y - pz = positions[:, 2] - torch.floor(positions[:, 2] * inv_box_z) * box_z + if box_vectors.dim() == 3: + box_diag = box_vectors[0] else: - # For non-periodic, shift positions by half box (like CUDA impl) - # This centers the cell grid around the origin - px = positions[:, 0] + 0.5 * box_x - py = positions[:, 1] + 0.5 * box_y - pz = positions[:, 2] + 0.5 * box_z - - # Compute cell indices and clamp using broadcasting to avoid scalar extraction - # Stack positions for vectorized operation - p_stacked = torch.stack([px, py, pz], dim=1) # (n_atoms, 3) - cell_coords = (p_stacked / cutoff_upper).long() # (n_atoms, 3) - - # Clamp using broadcasting: cell_dims is shape (3,), cell_coords is (n_atoms, 3) - cell_coords = torch.clamp( - cell_coords, min=torch.zeros(3, device=device), max=cell_dims - 1 - ) - - # Extract individual coordinates - cx = cell_coords[:, 0] - cy = cell_coords[:, 1] - cz = cell_coords[:, 2] - - cell_indices = cx * (cell_dims[1] * cell_dims[2]) + cy * cell_dims[2] + cz - - # 2. Sort - sorted_cell_indices, sorted_atom_indices = torch.sort(cell_indices) - sorted_atom_indices = sorted_atom_indices.int() - - sorted_positions = positions.index_select( - 0, sorted_atom_indices.long() + box_diag = box_vectors + box_sizes = torch.stack( + [box_diag[0, 0], box_diag[1, 1], box_diag[2, 2]] ).contiguous() - sorted_batch = batch.index_select(0, sorted_atom_indices.long()).contiguous() - - # 3. Cell Pointers (CUDA graph compatible using scatter_reduce) - # Initialize cell_start with n_atoms (will use scatter_reduce 'amin') - # Initialize cell_end with 0 (will use scatter_reduce 'amax') - # num_cells_t is a tensor, PyTorch will extract the value for buffer size - cell_start = torch.full((num_cells,), n_atoms, device=device, dtype=torch.int32) - cell_end = torch.zeros((num_cells,), device=device, dtype=torch.int32) - - # Compute cell boundaries using scatter_reduce (fixed output size, CUDA graph compatible) - atom_indices = torch.arange(n_atoms, device=device, dtype=torch.int32) - sorted_cell_indices_long = sorted_cell_indices.long() - # cell_start[cell] = min index of atoms in that cell - cell_start.scatter_reduce_( - 0, sorted_cell_indices_long, atom_indices, reduce="amin", include_self=True - ) - # cell_end[cell] = max index + 1 of atoms in that cell - end_indices = atom_indices + 1 - cell_end.scatter_reduce_( - 0, sorted_cell_indices_long, end_indices, reduce="amax", include_self=True + + # Compute cell dimensions using shared utility (stays on GPU) + cell_dims = _get_cell_dimensions( + box_sizes[0], box_sizes[1], box_sizes[2], cutoff_upper ) - # Mark empty cells with -1 for cell_start (cells where cell_end remained 0) - # Use in-place operation to avoid tensor creation during CUDA graph capture - empty_cell_mask = cell_end == 0 - cell_start.masked_fill_(empty_cell_mask, -1) + # Build cell list (1D sorted approach with sorted positions for coalesced access) + sorted_indices, sorted_positions, sorted_batch, cell_start, cell_end = ( + build_cell_list( + positions, batch, box_sizes, use_periodic, cell_dims, num_cells + ) + ) - # 4. Kernel Launch - # Initialize neighbors to -1 so unused slots are properly marked + # Allocate outputs neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) counter = torch.zeros((1,), device=device, dtype=torch.int32) - BLOCK_M = 64 - grid = (triton.cdiv(n_atoms, BLOCK_M),) - - # Compute MAX_TILES for fixed iteration count (CUDA graph compatible) - max_tiles = (n_atoms + BLOCK_M - 1) // BLOCK_M + # Launch kernel: one program per cell + # BATCH_SIZE: process atoms in batches for vectorized compute + # 32 is a good balance: 32×32=1024 elements fits in registers, minimal waste on partial batches + BATCH_SIZE = 32 - neighbor_list_kernel[grid]( + grid = (num_cells,) + cell_neighbor_kernel[grid]( + sorted_indices, sorted_positions, sorted_batch, - sorted_atom_indices, cell_start, cell_end, + box_sizes, + cell_dims, neighbors, deltas, distances, counter, - box_sizes, - cell_dims, - n_atoms, max_num_pairs, cutoff_lower**2, cutoff_upper**2, use_periodic=use_periodic, loop=loop, include_transpose=include_transpose, - BLOCK_M=BLOCK_M, - MAX_TILES=max_tiles, + BATCH_SIZE=BATCH_SIZE, ) - - # Return counter as tensor to avoid GPU->CPU sync (CUDA graph compatible) num_pairs = counter.to(torch.long) ctx.save_for_backward(neighbors, deltas, distances) @@ -449,7 +448,8 @@ def forward( # type: ignore[override] @staticmethod def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] - bwd = TritonNeighborAutograd.backward( + # Call parent backward (returns 9 values) and add None for num_cells + parent_grads = TritonNeighborAutograd.backward( ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs ) - return *bwd, None + return (*parent_grads, None) diff --git a/torchmdnet/extensions/triton_cell_v2.py b/torchmdnet/extensions/triton_cell_v2.py deleted file mode 100644 index 1763c9b11..000000000 --- a/torchmdnet/extensions/triton_cell_v2.py +++ /dev/null @@ -1,455 +0,0 @@ -""" -Efficient cell list neighbor list implementation for Triton. - -Key design: -- One program per cell (not per atom) -- Fixed-size padded cell buffers for CUDA graph compatibility -- O(n) complexity: each cell examines only 27 neighboring cells -""" - -try: - import triton - import triton.language as tl - - _HAS_TRITON = True -except Exception: - triton = None - tl = None - _HAS_TRITON = False - -import torch -from torch import Tensor -from typing import Tuple - -from torchmdnet.extensions.triton_neighbors import TritonNeighborAutograd -from torchmdnet.extensions.triton_cell import _get_cell_dimensions - - -@triton.jit -def _tl_round(x): - return tl.where(x >= 0, tl.math.floor(x + 0.5), tl.math.ceil(x - 0.5)) - - -@triton.jit -def cell_neighbor_kernel( - # Cell data structure (1D sorted approach) - SortedIndices, # [n_atoms] - original atom indices, sorted by cell - SortedPositions, # [n_atoms, 3] - positions sorted by cell (for coalesced access) - SortedBatch, # [n_atoms] - batch indices sorted by cell - CellStart, # [num_cells] - start index in sorted arrays for each cell - CellEnd, # [num_cells] - end index (exclusive) in sorted arrays for each cell - # Box parameters - BoxSizes, # [3] - box dimensions - CellDims, # [3] - number of cells in each dimension (int32) - # Output - OutPairs, # [2, max_pairs] - OutDeltas, # [max_pairs, 3] - OutDists, # [max_pairs] - GlobalCounter, # [1] - # Scalar parameters - max_pairs, - cutoff_lower_sq, - cutoff_upper_sq, - # Flags - use_periodic: tl.constexpr, - loop: tl.constexpr, - include_transpose: tl.constexpr, - # Batch size for vectorized processing - BATCH_SIZE: tl.constexpr, # e.g., 32 -> processes 32×32=1024 pairs per iteration -): - """ - Each program processes one cell (the "home" cell). - Uses 1D sorted array with cell_start/cell_end pointers. - - Vectorized batched processing: - - Loads BATCH_SIZE atoms at a time for both home and neighbor - - Computes BATCH_SIZE × BATCH_SIZE distance matrix per iteration - - Uses while loops to iterate only over actual atoms - - Minimal waste: only last partial batch may have masked elements - - To avoid double-counting: - - For half list (include_transpose=False): only emit pairs where home_atom > neighbor_atom - - For full list (include_transpose=True): emit both directions - """ - home_cell_id = tl.program_id(0) - - # Load box and cell dimensions - box_x = tl.load(BoxSizes + 0) - box_y = tl.load(BoxSizes + 1) - box_z = tl.load(BoxSizes + 2) - - num_cells_x = tl.load(CellDims + 0) - num_cells_y = tl.load(CellDims + 1) - num_cells_z = tl.load(CellDims + 2) - - # Decompose home cell ID into 3D coordinates - cells_yz = num_cells_y * num_cells_z - home_cx = home_cell_id // cells_yz - home_cy = (home_cell_id % cells_yz) // num_cells_z - home_cz = home_cell_id % num_cells_z - - # Load home cell boundaries - home_start = tl.load(CellStart + home_cell_id) - home_end = tl.load(CellEnd + home_cell_id) - - # Loop over 27 neighbor cells - for neighbor_offset in tl.range(0, 27): - # Decompose neighbor_offset into di, dj, dk (each in {-1, 0, 1}) - di = (neighbor_offset % 3) - 1 - dj = ((neighbor_offset // 3) % 3) - 1 - dk = (neighbor_offset // 9) - 1 - - # Compute neighbor cell coordinates - ni = home_cx + di - nj = home_cy + dj - nk = home_cz + dk - - # Handle boundary conditions - if use_periodic: - ni = (ni + num_cells_x) % num_cells_x - nj = (nj + num_cells_y) % num_cells_y - nk = (nk + num_cells_z) % num_cells_z - cell_valid = True - else: - cell_valid = ( - (ni >= 0) - & (ni < num_cells_x) - & (nj >= 0) - & (nj < num_cells_y) - & (nk >= 0) - & (nk < num_cells_z) - ) - - neighbor_cell_id = ni * cells_yz + nj * num_cells_z + nk - - # Load neighbor cell boundaries - neighbor_start = tl.load(CellStart + neighbor_cell_id) - neighbor_end = tl.load(CellEnd + neighbor_cell_id) - - # If cell is invalid (non-periodic boundary), make it empty - neighbor_start = tl.where(cell_valid, neighbor_start, 0) - neighbor_end = tl.where(cell_valid, neighbor_end, 0) - - # Batched iteration over home atoms - home_batch_start = home_start - while home_batch_start < home_end: - # Load BATCH_SIZE home atoms - home_offsets = tl.arange(0, BATCH_SIZE) - home_global_idx = home_batch_start + home_offsets - home_mask = home_global_idx < home_end - - # Load home atom original indices (for output pair indices) - home_atoms = tl.load( - SortedIndices + home_global_idx, mask=home_mask, other=0 - ) - - # Load home atom positions (sequential access - coalesced!) - home_x = tl.load( - SortedPositions + home_global_idx * 3 + 0, mask=home_mask, other=0.0 - ) - home_y = tl.load( - SortedPositions + home_global_idx * 3 + 1, mask=home_mask, other=0.0 - ) - home_z = tl.load( - SortedPositions + home_global_idx * 3 + 2, mask=home_mask, other=0.0 - ) - home_batch = tl.load( - SortedBatch + home_global_idx, mask=home_mask, other=-1 - ) - - # Batched iteration over neighbor atoms - neighbor_batch_start = neighbor_start - while neighbor_batch_start < neighbor_end: - # Load BATCH_SIZE neighbor atoms - neighbor_offsets = tl.arange(0, BATCH_SIZE) - neighbor_global_idx = neighbor_batch_start + neighbor_offsets - neighbor_mask = neighbor_global_idx < neighbor_end - - # Load neighbor atom original indices (for output pair indices) - neighbor_atoms = tl.load( - SortedIndices + neighbor_global_idx, mask=neighbor_mask, other=0 - ) - - # Load neighbor atom positions (sequential access - coalesced!) - neighbor_x = tl.load( - SortedPositions + neighbor_global_idx * 3 + 0, - mask=neighbor_mask, - other=0.0, - ) - neighbor_y = tl.load( - SortedPositions + neighbor_global_idx * 3 + 1, - mask=neighbor_mask, - other=0.0, - ) - neighbor_z = tl.load( - SortedPositions + neighbor_global_idx * 3 + 2, - mask=neighbor_mask, - other=0.0, - ) - neighbor_batch_vals = tl.load( - SortedBatch + neighbor_global_idx, mask=neighbor_mask, other=-2 - ) - - # Compute pairwise distances: [BATCH_SIZE, BATCH_SIZE] - dx = home_x[:, None] - neighbor_x[None, :] - dy = home_y[:, None] - neighbor_y[None, :] - dz = home_z[:, None] - neighbor_z[None, :] - - # Apply PBC - if use_periodic: - dx = dx - box_x * _tl_round(dx / box_x) - dy = dy - box_y * _tl_round(dy / box_y) - dz = dz - box_z * _tl_round(dz / box_z) - - dist_sq = dx * dx + dy * dy + dz * dz - - # Build validity mask - # 1. Distance within cutoff - cond_dist = (dist_sq < cutoff_upper_sq) & (dist_sq >= cutoff_lower_sq) - - # 2. Same batch - cond_batch = home_batch[:, None] == neighbor_batch_vals[None, :] - - # 3. Index ordering to avoid double-counting - home_atoms_bc = home_atoms[:, None] - neighbor_atoms_bc = neighbor_atoms[None, :] - - if include_transpose: - if loop: - cond_idx = True - else: - cond_idx = home_atoms_bc != neighbor_atoms_bc - else: - if loop: - cond_idx = home_atoms_bc >= neighbor_atoms_bc - else: - cond_idx = home_atoms_bc > neighbor_atoms_bc - - # 4. Both atoms must be valid (within actual cell bounds) - cond_valid = home_mask[:, None] & neighbor_mask[None, :] - - # Combined validity - valid_mask = cond_dist & cond_batch & cond_idx & cond_valid - - # Count and store valid pairs - num_found = tl.sum(valid_mask.to(tl.int32)) - - if num_found > 0: - # Atomically reserve space in output - current_offset = tl.atomic_add(GlobalCounter, num_found) - - if current_offset + num_found <= max_pairs: - # Compute storage indices using cumsum - flat_mask = tl.ravel(valid_mask) - csum = tl.cumsum(flat_mask.to(tl.int32), axis=0) - store_idx = current_offset + csum - 1 - - # Prepare flattened data - flat_home = tl.ravel( - tl.broadcast_to( - home_atoms[:, None], (BATCH_SIZE, BATCH_SIZE) - ) - ) - flat_neighbor = tl.ravel( - tl.broadcast_to( - neighbor_atoms[None, :], (BATCH_SIZE, BATCH_SIZE) - ) - ) - flat_dx = tl.ravel(dx) - flat_dy = tl.ravel(dy) - flat_dz = tl.ravel(dz) - flat_dist = tl.sqrt(tl.ravel(dist_sq)) - - # Store pairs - tl.store( - OutPairs + 0 * max_pairs + store_idx, - flat_home, - mask=flat_mask, - ) - tl.store( - OutPairs + 1 * max_pairs + store_idx, - flat_neighbor, - mask=flat_mask, - ) - - # Store deltas - tl.store(OutDeltas + store_idx * 3 + 0, flat_dx, mask=flat_mask) - tl.store(OutDeltas + store_idx * 3 + 1, flat_dy, mask=flat_mask) - tl.store(OutDeltas + store_idx * 3 + 2, flat_dz, mask=flat_mask) - - # Store distances - tl.store(OutDists + store_idx, flat_dist, mask=flat_mask) - - neighbor_batch_start += BATCH_SIZE - home_batch_start += BATCH_SIZE - - -def build_cell_list( - positions: Tensor, - batch: Tensor, - box_sizes: Tensor, # [3] diagonal elements - use_periodic: bool, - cell_dims: Tensor, # [3] number of cells in each dimension - num_cells: int, # total number of cells (fixed for CUDA graphs) -) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]: - """ - Build the cell list data structure using 1D sorted arrays. - - Args: - positions: [N, 3] atom positions - batch: [N] batch indices - box_sizes: [3] box diagonal elements - use_periodic: whether to use periodic boundary conditions - cell_dims: [3] number of cells in each dimension (pre-computed) - num_cells: total number of cells (pre-computed, fixed for CUDA graphs) - - Returns: - sorted_indices: [n_atoms] - original atom indices, sorted by cell - sorted_positions: [n_atoms, 3] - positions sorted by cell (for coalesced access) - sorted_batch: [n_atoms] - batch indices sorted by cell - cell_start: [num_cells] - start index in sorted arrays for each cell - cell_end: [num_cells] - end index (exclusive) in sorted arrays for each cell - """ - device = positions.device - n_atoms = positions.size(0) - - # Compute cell index for each atom - if use_periodic: - # Wrap to [0, box) - inv_box = 1.0 / box_sizes - wrapped = positions - torch.floor(positions * inv_box) * box_sizes - else: - # Shift by half box (like CUDA implementation) - wrapped = positions + 0.5 * box_sizes - - # Cell coordinates - cell_size = box_sizes / cell_dims.float() - cell_coords = (wrapped / cell_size).long() - cell_coords = torch.clamp( - cell_coords, min=torch.zeros(3, device=device), max=cell_dims - 1 - ) - - # Flat cell index - cell_idx = ( - cell_coords[:, 0] * (cell_dims[1] * cell_dims[2]) - + cell_coords[:, 1] * cell_dims[2] - + cell_coords[:, 2] - ).long() - - # Sort atoms by cell index - sorted_cell_idx, sort_order = torch.sort(cell_idx) - sorted_indices = sort_order.int() # Original atom indices, now sorted by cell - - # Create sorted positions and batch for coalesced memory access - sorted_positions = positions.index_select(0, sort_order).contiguous() - sorted_batch = batch.index_select(0, sort_order).contiguous() - - # Count atoms per cell - cell_counts = torch.zeros(num_cells, dtype=torch.int32, device=device) - cell_counts.scatter_add_( - 0, cell_idx, torch.ones(n_atoms, dtype=torch.int32, device=device) - ) - - # Compute cell_start and cell_end using cumsum - cell_end = torch.cumsum(cell_counts, dim=0).int() - cell_start = torch.zeros(num_cells, dtype=torch.int32, device=device) - cell_start[1:] = cell_end[:-1] - - return sorted_indices, sorted_positions, sorted_batch, cell_start, cell_end - - -class TritonCellNeighborV2(TritonNeighborAutograd): - @staticmethod - def forward( - ctx, - positions: Tensor, - batch: Tensor, - box_vectors: Tensor, - use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, - max_num_pairs: int, - loop: bool, - include_transpose: bool, - num_cells: int, - ): - if not _HAS_TRITON: - raise RuntimeError("Triton is not available") - - device = positions.device - dtype = positions.dtype - n_atoms = positions.size(0) - - # Validate inputs - if positions.dim() != 2 or positions.size(1) != 3: - raise ValueError('Expected "positions" to have shape (N, 3)') - if batch.dim() != 1 or batch.size(0) != n_atoms: - raise ValueError('Expected "batch" to have shape (N,)') - - # Extract box diagonal - box_vectors = box_vectors.contiguous() - if box_vectors.dim() == 3: - box_diag = box_vectors[0] - else: - box_diag = box_vectors - box_sizes = torch.stack( - [box_diag[0, 0], box_diag[1, 1], box_diag[2, 2]] - ).contiguous() - - # Compute cell dimensions using shared utility (stays on GPU) - cell_dims = _get_cell_dimensions( - box_sizes[0], box_sizes[1], box_sizes[2], cutoff_upper - ) - - # Build cell list (1D sorted approach with sorted positions for coalesced access) - sorted_indices, sorted_positions, sorted_batch, cell_start, cell_end = ( - build_cell_list( - positions, batch, box_sizes, use_periodic, cell_dims, num_cells - ) - ) - - # Allocate outputs - neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) - deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) - distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) - counter = torch.zeros((1,), device=device, dtype=torch.int32) - - # Launch kernel: one program per cell - # BATCH_SIZE: process atoms in batches for vectorized compute - # 32 is a good balance: 32×32=1024 elements fits in registers, minimal waste on partial batches - BATCH_SIZE = 32 - - grid = (num_cells,) - cell_neighbor_kernel[grid]( - sorted_indices, - sorted_positions, - sorted_batch, - cell_start, - cell_end, - box_sizes, - cell_dims, - neighbors, - deltas, - distances, - counter, - max_num_pairs, - cutoff_lower**2, - cutoff_upper**2, - use_periodic=use_periodic, - loop=loop, - include_transpose=include_transpose, - BATCH_SIZE=BATCH_SIZE, - ) - num_pairs = counter.to(torch.long) - - ctx.save_for_backward(neighbors, deltas, distances) - ctx.num_atoms = n_atoms - return neighbors, deltas, distances, num_pairs - - @staticmethod - def backward(ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs): # type: ignore[override] - # Call parent backward (returns 9 values) and add None for num_cells - parent_grads = TritonNeighborAutograd.backward( - ctx, grad_neighbors, grad_deltas, grad_distances, grad_num_pairs - ) - return (*parent_grads, None) diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index f4f97b251..bca2842ce 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -254,7 +254,6 @@ def triton_neighbor_pairs( from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd from torchmdnet.extensions.triton_shared import TritonSharedNeighborAutograd - from torchmdnet.extensions.triton_cell_v2 import TritonCellNeighborV2 if not _HAS_TRITON: raise RuntimeError("Triton is not available") @@ -276,7 +275,7 @@ def triton_neighbor_pairs( bool(include_transpose), ) elif strategy == "cell": - return TritonCellNeighborV2.apply( + return TritonCellNeighborAutograd.apply( positions, batch, box_vectors, From bf2c761bae3b9aefcaa799dbbc194d5ef8082544 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 14:59:43 +0200 Subject: [PATCH 36/80] removing shared memory implementation --- benchmarks/neighbors.py | 2 +- tests/test_neighbors.py | 18 +- torchmdnet/extensions/ops.py | 2 +- torchmdnet/extensions/triton_neighbors.py | 13 -- torchmdnet/extensions/triton_shared.py | 256 ---------------------- torchmdnet/models/utils.py | 2 +- 6 files changed, 11 insertions(+), 282 deletions(-) delete mode 100644 torchmdnet/extensions/triton_shared.py diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index bb1517809..515a66b74 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -183,7 +183,7 @@ def benchmark_neighbors( if __name__ == "__main__": - strategies = ["distance", "brute", "cell", "shared"] + strategies = ["distance", "brute", "cell"] n_particles = 32767 mean_num_neighbors = min(n_particles, 64) density = 0.8 diff --git a/tests/test_neighbors.py b/tests/test_neighbors.py index fa3e06046..847f88fa4 100644 --- a/tests/test_neighbors.py +++ b/tests/test_neighbors.py @@ -73,7 +73,7 @@ def compute_ref_neighbors(pos, batch, loop, include_transpose, cutoff, box_vecto @pytest.mark.parametrize( ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "cell")], ) @pytest.mark.parametrize("n_batches", [1, 2, 3, 4, 128]) @pytest.mark.parametrize("cutoff", [0.1, 1.0, 3.0, 4.9]) @@ -149,7 +149,7 @@ def test_neighbors( @pytest.mark.parametrize( ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "cell")], ) @pytest.mark.parametrize("loop", [True, False]) @pytest.mark.parametrize("include_transpose", [True, False]) @@ -261,7 +261,7 @@ def test_neighbor_grads( @pytest.mark.parametrize( ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "cell")], ) @pytest.mark.parametrize("loop", [True, False]) @pytest.mark.parametrize("include_transpose", [True, False]) @@ -314,7 +314,7 @@ def test_neighbor_autograds( ) -@pytest.mark.parametrize("strategy", ["brute", "cell", "shared"]) +@pytest.mark.parametrize("strategy", ["brute", "cell"]) @pytest.mark.parametrize("n_batches", [1, 2, 3, 4]) def test_large_size(strategy, n_batches): device = "cuda" @@ -373,7 +373,7 @@ def test_large_size(strategy, n_batches): @pytest.mark.parametrize( ("device", "strategy"), - [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared"), ("cuda", "cell")], + [("cpu", "brute"), ("cuda", "brute"), ("cuda", "cell")], ) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @@ -444,7 +444,7 @@ def test_jit_script_compatible( @pytest.mark.parametrize("device", ["cuda"]) -@pytest.mark.parametrize("strategy", ["brute", "shared", "cell"]) +@pytest.mark.parametrize("strategy", ["brute", "cell"]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @pytest.mark.parametrize("loop", [True, False]) @@ -527,7 +527,7 @@ def test_cuda_graph_compatible_forward( @pytest.mark.parametrize("device", ["cuda"]) -@pytest.mark.parametrize("strategy", ["brute", "shared", "cell"]) +@pytest.mark.parametrize("strategy", ["brute", "cell"]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("cutoff", [1.0]) @pytest.mark.parametrize("loop", [True, False]) @@ -600,9 +600,7 @@ def test_cuda_graph_compatible_backward( torch.cuda.synchronize() -@pytest.mark.parametrize( - ("device", "strategy"), [("cpu", "brute"), ("cuda", "brute"), ("cuda", "shared")] -) +@pytest.mark.parametrize(("device", "strategy"), [("cpu", "brute"), ("cuda", "brute")]) @pytest.mark.parametrize("n_batches", [1, 128]) @pytest.mark.parametrize("use_forward", [True, False]) def test_per_batch_box(device, strategy, n_batches, use_forward): diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index d10a58762..5cb03bb99 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -37,7 +37,7 @@ def get_neighbor_pairs_kernel( Parameters ---------- strategy : str - Strategy to use for computing the neighbor list. Can be one of :code:`["shared", "brute", "cell"]`. + Strategy to use for computing the neighbor list. Can be one of :code:`["brute", "cell"]`. positions : Tensor A tensor with shape (N, 3) representing the atomic positions. batch : Tensor diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index bca2842ce..5db3f851b 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -253,7 +253,6 @@ def triton_neighbor_pairs( ) -> Tuple[Tensor, Tensor, Tensor, Tensor]: from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd - from torchmdnet.extensions.triton_shared import TritonSharedNeighborAutograd if not _HAS_TRITON: raise RuntimeError("Triton is not available") @@ -287,18 +286,6 @@ def triton_neighbor_pairs( bool(include_transpose), num_cells, ) - elif strategy == "shared": - return TritonSharedNeighborAutograd.apply( - positions, - batch, - box_vectors, - use_periodic, - float(cutoff_lower), - float(cutoff_upper), - int(max_num_pairs), - bool(loop), - bool(include_transpose), - ) else: raise ValueError(f"Unsupported strategy {strategy}") diff --git a/torchmdnet/extensions/triton_shared.py b/torchmdnet/extensions/triton_shared.py deleted file mode 100644 index 6d7506407..000000000 --- a/torchmdnet/extensions/triton_shared.py +++ /dev/null @@ -1,256 +0,0 @@ -try: - import triton - import triton.language as tl - - _HAS_TRITON = True -except Exception: - triton = None - tl = None - _HAS_TRITON = False - -from torch import Tensor -import torch -from torchmdnet.extensions.triton_neighbors import _tl_round, TritonNeighborAutograd - - -@triton.jit -def _neighbor_shared_kernel( - pos_ptr, - batch_ptr, - box_ptr, - neighbors0_ptr, - neighbors1_ptr, - deltas_ptr, - distances_ptr, - counter_ptr, - stride_pos_0: tl.constexpr, - stride_pos_1: tl.constexpr, - stride_batch: tl.constexpr, - stride_box_b: tl.constexpr, - stride_box_r: tl.constexpr, - stride_box_c: tl.constexpr, - n_atoms: tl.constexpr, - use_periodic: tl.constexpr, - include_transpose: tl.constexpr, - loop: tl.constexpr, - max_pairs: tl.constexpr, - cutoff_lower2: tl.constexpr, - cutoff_upper2: tl.constexpr, - BLOCK: tl.constexpr, -): - """Shared-memory style neighbor construction: tile j, one block of i atoms.""" - pid_i = tl.program_id(axis=0) - pid_tile = tl.program_id(axis=1) - - i_idx = pid_i * BLOCK + tl.arange(0, BLOCK) - j_idx = pid_tile * BLOCK + tl.arange(0, BLOCK) - - mask_i = i_idx < n_atoms - mask_j = j_idx < n_atoms - - batch_i = tl.load(batch_ptr + i_idx * stride_batch, mask=mask_i, other=0) - batch_j = tl.load(batch_ptr + j_idx * stride_batch, mask=mask_j, other=0) - - pos_ix = tl.load( - pos_ptr + i_idx * stride_pos_0 + 0 * stride_pos_1, mask=mask_i, other=0.0 - ) - pos_iy = tl.load( - pos_ptr + i_idx * stride_pos_0 + 1 * stride_pos_1, mask=mask_i, other=0.0 - ) - pos_iz = tl.load( - pos_ptr + i_idx * stride_pos_0 + 2 * stride_pos_1, mask=mask_i, other=0.0 - ) - - pos_jx = tl.load( - pos_ptr + j_idx * stride_pos_0 + 0 * stride_pos_1, mask=mask_j, other=0.0 - ) - pos_jy = tl.load( - pos_ptr + j_idx * stride_pos_0 + 1 * stride_pos_1, mask=mask_j, other=0.0 - ) - pos_jz = tl.load( - pos_ptr + j_idx * stride_pos_0 + 2 * stride_pos_1, mask=mask_j, other=0.0 - ) - - # Pairwise masks (BLOCK, BLOCK) - mask_pair = mask_i[:, None] & mask_j[None, :] - if loop: - mask_pair = mask_pair & ( - (j_idx[None, :] < i_idx[:, None]) | (j_idx[None, :] == i_idx[:, None]) - ) - else: - mask_pair = mask_pair & (j_idx[None, :] < i_idx[:, None]) - mask_pair = mask_pair & (batch_i[:, None] == batch_j[None, :]) - - dx = pos_ix[:, None] - pos_jx[None, :] - dy = pos_iy[:, None] - pos_jy[None, :] - dz = pos_iz[:, None] - pos_jz[None, :] - - if use_periodic: - box_base = box_ptr + batch_i * stride_box_b - b20 = tl.load( - box_base + 2 * stride_box_r + 0 * stride_box_c, mask=mask_i, other=0.0 - ) - b21 = tl.load( - box_base + 2 * stride_box_r + 1 * stride_box_c, mask=mask_i, other=0.0 - ) - b22 = tl.load( - box_base + 2 * stride_box_r + 2 * stride_box_c, mask=mask_i, other=1.0 - ) - b10 = tl.load( - box_base + 1 * stride_box_r + 0 * stride_box_c, mask=mask_i, other=0.0 - ) - b11 = tl.load( - box_base + 1 * stride_box_r + 1 * stride_box_c, mask=mask_i, other=1.0 - ) - b00 = tl.load( - box_base + 0 * stride_box_r + 0 * stride_box_c, mask=mask_i, other=1.0 - ) - - scale3 = _tl_round(dz / b22[:, None]) - dx = dx - scale3 * b20[:, None] - dy = dy - scale3 * b21[:, None] - dz = dz - scale3 * b22[:, None] - - scale2 = _tl_round(dy / b11[:, None]) - dx = dx - scale2 * b10[:, None] - dy = dy - scale2 * b11[:, None] - - scale1 = _tl_round(dx / b00[:, None]) - dx = dx - scale1 * b00[:, None] - - dist2 = dx * dx + dy * dy + dz * dz - valid_pair = mask_pair & (dist2 < cutoff_upper2) & (dist2 >= cutoff_lower2) - - i_mat = i_idx[:, None] + tl.zeros((1, BLOCK), dtype=i_idx.dtype) - j_mat = tl.zeros((BLOCK, 1), dtype=j_idx.dtype) + j_idx[None, :] - - dx_flat = tl.reshape(dx, (BLOCK * BLOCK,)) - dy_flat = tl.reshape(dy, (BLOCK * BLOCK,)) - dz_flat = tl.reshape(dz, (BLOCK * BLOCK,)) - dist_flat = tl.reshape(tl.sqrt(dist2), (BLOCK * BLOCK,)) - - i_flat = tl.reshape(i_mat, (BLOCK * BLOCK,)) - j_flat = tl.reshape(j_mat, (BLOCK * BLOCK,)) - - valid_flat = tl.reshape(valid_pair, (BLOCK * BLOCK,)) - valid_int = valid_flat.to(tl.int32) - total_pairs = tl.sum(valid_int) - - if include_transpose: - valid_t_flat = valid_flat & (i_flat != j_flat) - valid_t_int = valid_t_flat.to(tl.int32) - total_transpose = tl.sum(valid_t_int) - total_out = total_pairs + total_transpose - else: - total_out = total_pairs - - has_out = total_out > 0 - start_idx = tl.atomic_add(counter_ptr, total_out, mask=has_out) - start_idx = tl.where(has_out, start_idx, 0) - start_idx = tl.broadcast_to(start_idx, valid_flat.shape) - - prefix = tl.cumsum(valid_int, axis=0) - 1 - out_idx = start_idx + prefix - - mask_store = valid_flat & (out_idx < max_pairs) - tl.store(neighbors0_ptr + out_idx, i_flat, mask=mask_store) - tl.store(neighbors1_ptr + out_idx, j_flat, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 0, dx_flat, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 1, dy_flat, mask=mask_store) - tl.store(deltas_ptr + out_idx * 3 + 2, dz_flat, mask=mask_store) - tl.store(distances_ptr + out_idx, dist_flat, mask=mask_store) - - if include_transpose: - prefix_t = tl.cumsum(valid_t_int, axis=0) - 1 - out_idx_t = start_idx + total_pairs + prefix_t - - mask_store_t = valid_t_flat & (out_idx_t < max_pairs) - tl.store(neighbors0_ptr + out_idx_t, j_flat, mask=mask_store_t) - tl.store(neighbors1_ptr + out_idx_t, i_flat, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 0, -dx_flat, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 1, -dy_flat, mask=mask_store_t) - tl.store(deltas_ptr + out_idx_t * 3 + 2, -dz_flat, mask=mask_store_t) - tl.store(distances_ptr + out_idx_t, dist_flat, mask=mask_store_t) - - -class TritonSharedNeighborAutograd(TritonNeighborAutograd): - @staticmethod - def forward( # type: ignore[override] - ctx, - positions: Tensor, - batch: Tensor, - box_vectors: Tensor, - use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, - max_num_pairs: int, - loop: bool, - include_transpose: bool, - ): - if not _HAS_TRITON: - raise RuntimeError("Triton is not available") - - device = positions.device - dtype = positions.dtype - n_atoms = positions.size(0) - - if positions.dim() != 2 or positions.size(1) != 3: - raise ValueError('Expected "positions" to have shape (N, 3)') - if batch.dim() != 1 or batch.size(0) != n_atoms: - raise ValueError('Expected "batch" to have shape (N,)') - if max_num_pairs <= 0: - raise ValueError('Expected "max_num_pairs" to be positive') - - batch = batch.contiguous() - positions = positions.contiguous() - - if use_periodic: - if box_vectors.dim() == 2: - box_vectors = box_vectors.unsqueeze(0) - elif box_vectors.dim() != 3: - raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') - box_vectors = box_vectors.to(device=device, dtype=dtype).contiguous() - box_stride_0 = 0 if box_vectors.size(0) == 1 else box_vectors.stride(0) - else: - # Dummy tensor to avoid conditional code paths in the kernel signature. - box_vectors = positions - box_stride_0 = 0 - - neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) - deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) - distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) - counter = torch.zeros((1,), device=device, dtype=torch.int32) - - BLOCK = 64 - num_blocks = max((n_atoms + BLOCK - 1) // BLOCK, 1) - grid = (num_blocks, num_blocks) - - _neighbor_shared_kernel[grid]( - positions, - batch, - box_vectors, - neighbors[0], - neighbors[1], - deltas, - distances, - counter, - positions.stride(0), - positions.stride(1), - batch.stride(0), - box_stride_0, - box_vectors.stride(1) if use_periodic else 0, - box_vectors.stride(2) if use_periodic else 0, - n_atoms, - use_periodic, - include_transpose, - loop, - max_num_pairs, - float(cutoff_lower * cutoff_lower), - float(cutoff_upper * cutoff_upper), - BLOCK=BLOCK, - ) - - num_pairs = counter.to(torch.long) - ctx.save_for_backward(neighbors, deltas, distances) - ctx.num_atoms = n_atoms - return neighbors, deltas, distances, num_pairs diff --git a/torchmdnet/models/utils.py b/torchmdnet/models/utils.py index c1c579233..48668d120 100644 --- a/torchmdnet/models/utils.py +++ b/torchmdnet/models/utils.py @@ -152,7 +152,7 @@ class OptimizedDistance(torch.nn.Module): If the number of pairs found is larger than this, the pairs are randomly sampled. When check_errors is True, an exception is raised in this case. If negative, it is interpreted as (minus) the maximum number of neighbors per atom. strategy : str - Strategy to use for computing the neighbor list. Can be one of :code:`["shared", "brute", "cell"]`. + Strategy to use for computing the neighbor list. Can be one of :code:`["brute", "cell"]`. 1. *Shared*: An O(N^2) algorithm that leverages CUDA shared memory, best for large number of particles. 2. *Brute*: A brute force O(N^2) algorithm, best for small number of particles. From 8fffeaefeeca70bd8540d84623637819a214ac6e Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 15:01:48 +0200 Subject: [PATCH 37/80] cleanup and file headers --- torchmdnet/extensions/__init__.py | 9 --------- torchmdnet/extensions/triton_brute.py | 5 +++++ torchmdnet/extensions/triton_cell.py | 11 +++-------- torchmdnet/extensions/triton_neighbors.py | 7 +++++-- 4 files changed, 13 insertions(+), 19 deletions(-) diff --git a/torchmdnet/extensions/__init__.py b/torchmdnet/extensions/__init__.py index c618f93cb..f163ff7d7 100644 --- a/torchmdnet/extensions/__init__.py +++ b/torchmdnet/extensions/__init__.py @@ -1,12 +1,3 @@ # Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org # Distributed under the MIT License. # (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - -# Place here any short extensions to torch that you want to use in your code. -# The extensions present in extensions.cpp will be automatically compiled in setup.py and loaded here. -# The extensions will be available under torch.ops.torchmdnet_extensions, but you can add wrappers here to make them more convenient to use. -# Place here too any meta registrations for your extensions if required. - -import torch -from pathlib import Path -from . import ops diff --git a/torchmdnet/extensions/triton_brute.py b/torchmdnet/extensions/triton_brute.py index 34d3d7a85..ffd378884 100644 --- a/torchmdnet/extensions/triton_brute.py +++ b/torchmdnet/extensions/triton_brute.py @@ -1,3 +1,8 @@ +# Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org +# Distributed under the MIT License. +# (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) + + try: import triton import triton.language as tl diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 54aba4b4c..06367cff9 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -1,11 +1,6 @@ -""" -Efficient cell list neighbor list implementation for Triton. - -Key design: -- One program per cell (not per atom) -- Fixed-size padded cell buffers for CUDA graph compatibility -- O(n) complexity: each cell examines only 27 neighboring cells -""" +# Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org +# Distributed under the MIT License. +# (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) try: import triton diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index 5db3f851b..ab0755b24 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -1,5 +1,8 @@ -import math -from typing import Optional, Tuple +# Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org +# Distributed under the MIT License. +# (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) + +from typing import Tuple import torch from torch import Tensor From 80b871dd27b970a246dff79a34cf690e6f4b35f2 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 15:02:38 +0200 Subject: [PATCH 38/80] remove CUDA implementations --- torchmdnet/extensions/neighbors/common.cuh | 206 --------- .../extensions/neighbors/neighbors_cpu.cpp | 273 ------------ .../extensions/neighbors/neighbors_cuda.cu | 45 -- .../neighbors/neighbors_cuda_brute.cuh | 122 ------ .../neighbors/neighbors_cuda_cell.cuh | 390 ------------------ .../neighbors/neighbors_cuda_shared.cuh | 124 ------ 6 files changed, 1160 deletions(-) delete mode 100644 torchmdnet/extensions/neighbors/common.cuh delete mode 100644 torchmdnet/extensions/neighbors/neighbors_cpu.cpp delete mode 100644 torchmdnet/extensions/neighbors/neighbors_cuda.cu delete mode 100644 torchmdnet/extensions/neighbors/neighbors_cuda_brute.cuh delete mode 100644 torchmdnet/extensions/neighbors/neighbors_cuda_cell.cuh delete mode 100644 torchmdnet/extensions/neighbors/neighbors_cuda_shared.cuh diff --git a/torchmdnet/extensions/neighbors/common.cuh b/torchmdnet/extensions/neighbors/common.cuh deleted file mode 100644 index bf875af5b..000000000 --- a/torchmdnet/extensions/neighbors/common.cuh +++ /dev/null @@ -1,206 +0,0 @@ -/* Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - *(See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - * Raul P. Pelaez 2023. Common utilities for the CUDA neighbor operation. - */ -#ifndef NEIGHBORS_COMMON_CUH -#define NEIGHBORS_COMMON_CUH -#include -#include -#include -#include -#include - -using c10::cuda::getCurrentCUDAStream; -using c10::cuda::CUDAStreamGuard; -using at::Tensor; -using at::TensorOptions; -using at::TensorAccessor; -using torch::Scalar; -using torch::empty; -using torch::full; - -template -using Accessor = torch::PackedTensorAccessor32; - -template -using KernelAccessor = TensorAccessor; - -template -inline Accessor get_accessor(const Tensor& tensor) { - return tensor.packed_accessor32(); -}; - -template __device__ __forceinline__ scalar_t sqrt_(scalar_t x){return ::sqrt(x);}; -template <> __device__ __forceinline__ float sqrt_(float x) { - return ::sqrtf(x); -}; -template <> __device__ __forceinline__ double sqrt_(double x) { - return ::sqrt(x); -}; - -template struct vec3 { - using type = void; -}; - -template <> struct vec3 { - using type = float3; -}; - -template <> struct vec3 { - using type = double3; -}; - -template using scalar3 = typename vec3::type; - -/* - * @brief Get the position of the i'th particle - * @param positions The positions tensor - * @param i The index of the particle - * @return The position of the i'th particle - */ -template -__device__ scalar3 fetchPosition(const Accessor positions, const int i) { - return {positions[i][0], positions[i][1], positions[i][2]}; -} - -struct PairList { - Tensor i_curr_pair; - Tensor neighbors; - Tensor deltas; - Tensor distances; - const bool loop, include_transpose, use_periodic; - PairList(int max_num_pairs, torch::TensorOptions options, bool loop, bool include_transpose, - bool use_periodic) - : i_curr_pair(torch::zeros({1}, options.dtype(at::kInt))), - neighbors(torch::full({2, max_num_pairs}, -1, options.dtype(at::kInt))), - deltas(torch::full({max_num_pairs, 3}, 0, options)), - distances(torch::full({max_num_pairs}, 0, options)), loop(loop), - include_transpose(include_transpose), use_periodic(use_periodic) { - } -}; - -template struct PairListAccessor { - Accessor i_curr_pair; - Accessor neighbors; - Accessor deltas; - Accessor distances; - bool loop, include_transpose, use_periodic; - explicit PairListAccessor(const PairList& pl) - : i_curr_pair(get_accessor(pl.i_curr_pair)), - neighbors(get_accessor(pl.neighbors)), - deltas(get_accessor(pl.deltas)), - distances(get_accessor(pl.distances)), loop(pl.loop), - include_transpose(pl.include_transpose), use_periodic(pl.use_periodic) { - } -}; - -template -__device__ void writeAtomPair(PairListAccessor& list, int i, int j, - scalar3 delta, scalar_t distance, int i_pair) { - if (i_pair < list.neighbors.size(1)) { - list.neighbors[0][i_pair] = i; - list.neighbors[1][i_pair] = j; - list.deltas[i_pair][0] = delta.x; - list.deltas[i_pair][1] = delta.y; - list.deltas[i_pair][2] = delta.z; - list.distances[i_pair] = distance; - } -} - -template -__device__ void addAtomPairToList(PairListAccessor& list, int i, int j, - scalar3 delta, scalar_t distance, bool add_transpose) { - const int32_t i_pair = atomicAdd(&list.i_curr_pair[0], add_transpose ? 2 : 1); - // Neighbors after the max number of pairs are ignored, although the pair is counted - writeAtomPair(list, i, j, delta, distance, i_pair); - if (add_transpose) { - writeAtomPair(list, j, i, {-delta.x, -delta.y, -delta.z}, distance, i_pair + 1); - } -} - -static void checkInput(const Tensor& positions, const Tensor& batch) { - TORCH_CHECK(positions.dim() == 2, "Expected \"positions\" to have two dimensions"); - TORCH_CHECK(positions.size(0) > 0, - "Expected the 1nd dimension size of \"positions\" to be more than 0"); - TORCH_CHECK(positions.size(1) == 3, "Expected the 2nd dimension size of \"positions\" to be 3"); - TORCH_CHECK(positions.is_contiguous(), "Expected \"positions\" to be contiguous"); - - TORCH_CHECK(batch.dim() == 1, "Expected \"batch\" to have one dimension"); - TORCH_CHECK(batch.size(0) == positions.size(0), - "Expected the 1st dimension size of \"batch\" to be the same as the 1st dimension " - "size of \"positions\""); - TORCH_CHECK(batch.is_contiguous(), "Expected \"batch\" to be contiguous"); - TORCH_CHECK(batch.dtype() == torch::kInt64, "Expected \"batch\" to be of type at::kLong"); -} - -namespace rect { - -/* - * @brief Takes a point to the unit cell in the range [-0.5, 0.5]*box_size using Minimum Image - * Convention - * @param p The point position - * @param box_size The box size - * @return The point in the unit cell - */ -template -__device__ auto apply_pbc(scalar3 p, scalar3 box_size) { - p.x = p.x - floorf(p.x / box_size.x + scalar_t(0.5)) * box_size.x; - p.y = p.y - floorf(p.y / box_size.y + scalar_t(0.5)) * box_size.y; - p.z = p.z - floorf(p.z / box_size.z + scalar_t(0.5)) * box_size.z; - return p; -} - -template -__device__ auto compute_distance(scalar3 pos_i, scalar3 pos_j, - bool use_periodic, scalar3 box_size) { - scalar3 delta = {pos_i.x - pos_j.x, pos_i.y - pos_j.y, pos_i.z - pos_j.z}; - if (use_periodic) { - delta = apply_pbc(delta, box_size); - } - return delta; -} - -} // namespace rect - -namespace triclinic { -template using BoxAccessor = Accessor; -template -BoxAccessor get_box_accessor(const Tensor& box_vectors, bool use_periodic) { - return get_accessor(box_vectors); -} - -/* - * @brief Takes a point to the unit cell using Minimum Image - * Convention - * @param p The point position - * @param box_vectors The box vectors (3x3 matrix) - * @return The point in the unit cell - */ -template -__device__ auto apply_pbc(scalar3 delta, const KernelAccessor& box) { - scalar_t scale3 = round(delta.z / box[2][2]); - delta.x -= scale3 * box[2][0]; - delta.y -= scale3 * box[2][1]; - delta.z -= scale3 * box[2][2]; - scalar_t scale2 = round(delta.y / box[1][1]); - delta.x -= scale2 * box[1][0]; - delta.y -= scale2 * box[1][1]; - scalar_t scale1 = round(delta.x / box[0][0]); - delta.x -= scale1 * box[0][0]; - return delta; -} - - template -__device__ auto compute_distance(scalar3 pos_i, scalar3 pos_j, - bool use_periodic, const KernelAccessor& box) { - scalar3 delta = {pos_i.x - pos_j.x, pos_i.y - pos_j.y, pos_i.z - pos_j.z}; - if (use_periodic) { - delta = apply_pbc(delta, box); - } - return delta; -} - -} // namespace triclinic - -#endif diff --git a/torchmdnet/extensions/neighbors/neighbors_cpu.cpp b/torchmdnet/extensions/neighbors/neighbors_cpu.cpp deleted file mode 100644 index 350bbd26f..000000000 --- a/torchmdnet/extensions/neighbors/neighbors_cpu.cpp +++ /dev/null @@ -1,273 +0,0 @@ -/* Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - *(See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - */ -#include -#include -#include -#include -#include - -using std::tuple; -using torch::arange; -using torch::div; -using torch::linalg_vector_norm; -using torch::full; -using torch::hstack; -using torch::index_select; -using torch::kInt32; -using torch::round; -using torch::Scalar; -using torch::vstack; -using torch::autograd::AutogradContext; -using torch::autograd::Function; -using torch::autograd::tensor_list; -using torch::indexing::Slice; -using at::Tensor; - -static tuple -forward_impl(const std::string& strategy, const Tensor& positions, const Tensor& batch, - const Tensor& in_box_vectors, bool use_periodic, const Scalar& cutoff_lower, - const Scalar& cutoff_upper, const Scalar& max_num_pairs, bool loop, - bool include_transpose) { - TORCH_CHECK(positions.dim() == 2, "Expected \"positions\" to have two dimensions"); - TORCH_CHECK(positions.size(0) > 0, - "Expected the 1nd dimension size of \"positions\" to be more than 0"); - TORCH_CHECK(positions.size(1) == 3, "Expected the 2nd dimension size of \"positions\" to be 3"); - TORCH_CHECK(positions.is_contiguous(), "Expected \"positions\" to be contiguous"); - TORCH_CHECK(cutoff_upper.to() > 0, "Expected \"cutoff\" to be positive"); - Tensor box_vectors = in_box_vectors; - const int n_batch = batch.max().item() + 1; - if (use_periodic) { - if (box_vectors.dim() == 2) { - box_vectors = box_vectors.unsqueeze(0).expand({n_batch, 3, 3}); - } - TORCH_CHECK(box_vectors.dim() == 3, "Expected \"box_vectors\" to have two dimensions"); - TORCH_CHECK(box_vectors.size(1) == 3 && box_vectors.size(2) == 3, - "Expected \"box_vectors\" to have shape (n_batch, 3, 3)"); - // Ensure the box first dimension has size max(batch) + 1 - TORCH_CHECK(box_vectors.size(0) == n_batch, - "Expected \"box_vectors\" to have shape (n_batch, 3, 3)"); - // Check that the box is a valid triclinic box, in the case of a box per sample we only - // check the first one - double v[3][3]; - for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - v[i][j] = box_vectors[0][i][j].item(); - double c = cutoff_upper.to(); - TORCH_CHECK(v[0][1] == 0, "Invalid box vectors: box_vectors[0][1] != 0"); - TORCH_CHECK(v[0][2] == 0, "Invalid box vectors: box_vectors[0][2] != 0"); - TORCH_CHECK(v[1][2] == 0, "Invalid box vectors: box_vectors[1][2] != 0"); - TORCH_CHECK(v[0][0] >= 2 * c, "Invalid box vectors: box_vectors[0][0] < 2*cutoff"); - TORCH_CHECK(v[1][1] >= 2 * c, "Invalid box vectors: box_vectors[1][1] < 2*cutoff"); - TORCH_CHECK(v[2][2] >= 2 * c, "Invalid box vectors: box_vectors[2][2] < 2*cutoff"); - TORCH_CHECK(v[0][0] >= 2 * v[1][0], - "Invalid box vectors: box_vectors[0][0] < 2*box_vectors[1][0]"); - TORCH_CHECK(v[0][0] >= 2 * v[2][0], - "Invalid box vectors: box_vectors[0][0] < 2*box_vectors[1][0]"); - TORCH_CHECK(v[1][1] >= 2 * v[2][1], - "Invalid box vectors: box_vectors[1][1] < 2*box_vectors[2][1]"); - } - TORCH_CHECK(max_num_pairs.toLong() > 0, "Expected \"max_num_neighbors\" to be positive"); - const int n_atoms = positions.size(0); - Tensor neighbors = torch::empty({0}, positions.options().dtype(kInt32)); - Tensor distances = torch::empty({0}, positions.options()); - Tensor deltas = torch::empty({0}, positions.options()); - neighbors = torch::vstack((torch::tril_indices(n_atoms, n_atoms, -1, neighbors.options()))); - auto mask = index_select(batch, 0, neighbors.index({0, Slice()})) == - index_select(batch, 0, neighbors.index({1, Slice()})); - neighbors = neighbors.index({Slice(), mask}).to(kInt32); - deltas = index_select(positions, 0, neighbors.index({0, Slice()})) - - index_select(positions, 0, neighbors.index({1, Slice()})); - if (use_periodic) { - const auto pair_batch = batch.index({neighbors.index({0, Slice()})}); - const auto scale3 = - round(deltas.index({Slice(), 2}) / box_vectors.index({pair_batch, 2, 2})); - deltas.index_put_({Slice(), 0}, deltas.index({Slice(), 0}) - - scale3 * box_vectors.index({pair_batch, 2, 0})); - deltas.index_put_({Slice(), 1}, deltas.index({Slice(), 1}) - - scale3 * box_vectors.index({pair_batch, 2, 1})); - deltas.index_put_({Slice(), 2}, deltas.index({Slice(), 2}) - - scale3 * box_vectors.index({pair_batch, 2, 2})); - const auto scale2 = - round(deltas.index({Slice(), 1}) / box_vectors.index({pair_batch, 1, 1})); - deltas.index_put_({Slice(), 0}, deltas.index({Slice(), 0}) - - scale2 * box_vectors.index({pair_batch, 1, 0})); - deltas.index_put_({Slice(), 1}, deltas.index({Slice(), 1}) - - scale2 * box_vectors.index({pair_batch, 1, 1})); - const auto scale1 = - round(deltas.index({Slice(), 0}) / box_vectors.index({pair_batch, 0, 0})); - deltas.index_put_({Slice(), 0}, deltas.index({Slice(), 0}) - - scale1 * box_vectors.index({pair_batch, 0, 0})); - } - distances = linalg_vector_norm(deltas, 2, 1); - mask = (distances < cutoff_upper) * (distances >= cutoff_lower); - neighbors = neighbors.index({Slice(), mask}); - deltas = deltas.index({mask, Slice()}); - distances = distances.index({mask}); - if (include_transpose) { - neighbors = torch::hstack({neighbors, torch::stack({neighbors[1], neighbors[0]})}); - distances = torch::hstack({distances, distances}); - deltas = torch::vstack({deltas, -deltas}); - } - if (loop) { - const Tensor range = torch::arange(0, n_atoms, torch::kInt32); - neighbors = torch::hstack({neighbors, torch::stack({range, range})}); - distances = torch::hstack({distances, torch::zeros_like(range)}); - deltas = torch::vstack({deltas, torch::zeros({n_atoms, 3}, deltas.options())}); - } - Tensor num_pairs_found = torch::empty(1, distances.options().dtype(kInt32)); - num_pairs_found[0] = distances.size(0); - // This seems wasteful, but it allows to enable torch.compile by guaranteeing that the output of - // this operator has a predictable size Resize to max_num_pairs, add zeros if necessary - int64_t extension = std::max(max_num_pairs.toLong() - distances.size(0), (int64_t)0); - if (extension > 0) { - deltas = torch::vstack({deltas, torch::zeros({extension, 3}, deltas.options())}); - distances = torch::hstack({distances, torch::zeros({extension}, distances.options())}); - // For the neighbors add (-1,-1) pairs to fill the tensor - neighbors = torch::hstack( - {neighbors, torch::full({2, extension}, -1, neighbors.options().dtype(kInt32))}); - } - return {neighbors, deltas, distances, num_pairs_found}; -} - -// The backwards operation is implemented fully in pytorch so that it can be differentiated a second -// time automatically via Autograd. -static Tensor backward_impl(const Tensor& grad_edge_vec, const Tensor& grad_edge_weight, - const Tensor& edge_index, const Tensor& edge_vec, - const Tensor& edge_weight, const int64_t num_atoms) { - auto zero_mask = edge_weight.eq(0); - auto zero_mask3 = zero_mask.unsqueeze(-1).expand_as(grad_edge_vec); - // We need to avoid dividing by 0. Otherwise Autograd fills the gradient with NaNs in the - // case of a double backwards. This is why we index_select like this. - auto grad_distances_ = edge_vec / edge_weight.masked_fill(zero_mask, 1).unsqueeze(-1) * - grad_edge_weight.masked_fill(zero_mask, 0).unsqueeze(-1); - auto result = grad_edge_vec.masked_fill(zero_mask3, 0) + grad_distances_; - // Avoid out-of-bounds indices under compiler fusion by mapping masked indices to 0 - // and ensuring their contributions are exactly zero. - // This removes the need for allocating an extra dummy row (num_atoms + 1). - auto grad_positions = torch::zeros({num_atoms, 3}, edge_vec.options()); - auto edge_index_ = - edge_index.masked_fill(zero_mask.unsqueeze(0).expand_as(edge_index), 0); - grad_positions.index_add_(0, edge_index_[0], result); - grad_positions.index_add_(0, edge_index_[1], -result); - return grad_positions; -} - -// This is the autograd function that is called when the user calls get_neighbor_pairs. -// It dispatches the required strategy for the forward function and implements the backward -// function. The backward function is written in full pytorch so that it can be differentiated a -// second time automatically via Autograd. -class NeighborAutograd : public torch::autograd::Function { -public: - static tensor_list forward(AutogradContext* ctx, const std::string& strategy, - const Tensor& positions, const Tensor& batch, - const Tensor& box_vectors, bool use_periodic, - const Scalar& cutoff_lower, const Scalar& cutoff_upper, - const Scalar& max_num_pairs, bool loop, bool include_transpose) { - static auto fwd = - torch::Dispatcher::singleton() - .findSchemaOrThrow("torchmdnet_extensions::get_neighbor_pairs_fwd", "") - .typed(); - Tensor neighbors, deltas, distances, i_curr_pair; - std::tie(neighbors, deltas, distances, i_curr_pair) = - fwd.call(strategy, positions, batch, box_vectors, use_periodic, cutoff_lower, - cutoff_upper, max_num_pairs, loop, include_transpose); - ctx->save_for_backward({neighbors, deltas, distances}); - ctx->saved_data["num_atoms"] = positions.size(0); - return {neighbors, deltas, distances, i_curr_pair}; - } - - using Slice = torch::indexing::Slice; - - static tensor_list backward(AutogradContext* ctx, tensor_list grad_outputs) { - auto saved = ctx->get_saved_variables(); - auto edge_index = saved[0]; - auto edge_vec = saved[1]; - auto edge_weight = saved[2]; - auto num_atoms = ctx->saved_data["num_atoms"].toInt(); - auto grad_edge_vec = grad_outputs[1]; - auto grad_edge_weight = grad_outputs[2]; - static auto backward = - torch::Dispatcher::singleton() - .findSchemaOrThrow("torchmdnet_extensions::get_neighbor_pairs_bkwd", "") - .typed(); - auto grad_positions = backward.call(grad_edge_vec, grad_edge_weight, edge_index, edge_vec, - edge_weight, num_atoms); - Tensor ignore; - return {ignore, grad_positions, ignore, ignore, ignore, ignore, - ignore, ignore, ignore, ignore, ignore}; - } -}; - -// By registering as a CompositeImplicitAutograd we can torch.compile this Autograd function. -// This mode will generate meta registration for NeighborAutograd automatically, in this case using -// the -// meta registrations provided for the forward and backward functions python side. -// We provide meta registrations python side because it is the recommended way to do it. -TORCH_LIBRARY_IMPL(torchmdnet_extensions, CompositeImplicitAutograd, m) { - m.impl("get_neighbor_pairs", - [](const std::string& strategy, const Tensor& positions, const Tensor& batch, - const Tensor& box_vectors, bool use_periodic, const Scalar& cutoff_lower, - const Scalar& cutoff_upper, const Scalar& max_num_pairs, bool loop, - bool include_transpose) { - auto result = NeighborAutograd::apply(strategy, positions, batch, box_vectors, - use_periodic, cutoff_lower, cutoff_upper, - max_num_pairs, loop, include_transpose); - return std::make_tuple(result[0], result[1], result[2], result[3]); - }); -} - -// // Explicit device backend registrations for PyTorch versions that do not -// // automatically fall back to CompositeImplicitAutograd for device dispatch. -// TORCH_LIBRARY_IMPL(torchmdnet_extensions, CPU, m) { -// m.impl("get_neighbor_pairs", -// [](const std::string& strategy, const Tensor& positions, const Tensor& batch, -// const Tensor& box_vectors, bool use_periodic, const Scalar& cutoff_lower, -// const Scalar& cutoff_upper, const Scalar& max_num_pairs, bool loop, -// bool include_transpose) { -// auto result = NeighborAutograd::apply(strategy, positions, batch, box_vectors, -// use_periodic, cutoff_lower, cutoff_upper, -// max_num_pairs, loop, include_transpose); -// return std::make_tuple(result[0], result[1], result[2], result[3]); -// }); -// } - -// TORCH_LIBRARY_IMPL(torchmdnet_extensions, CUDA, m) { -// m.impl("get_neighbor_pairs", -// [](const std::string& strategy, const Tensor& positions, const Tensor& batch, -// const Tensor& box_vectors, bool use_periodic, const Scalar& cutoff_lower, -// const Scalar& cutoff_upper, const Scalar& max_num_pairs, bool loop, -// bool include_transpose) { -// auto result = NeighborAutograd::apply(strategy, positions, batch, box_vectors, -// use_periodic, cutoff_lower, cutoff_upper, -// max_num_pairs, loop, include_transpose); -// return std::make_tuple(result[0], result[1], result[2], result[3]); -// }); -// } - -// The registration for the CUDA version of the forward function is done in a separate .cu file. -TORCH_LIBRARY_IMPL(torchmdnet_extensions, CPU, m) { - m.impl("get_neighbor_pairs_fwd", forward_impl); -} - -// Ideally we would register this just once using CompositeImplicitAutograd, but this causes a -// segfault -// when trying to torch.compile this function. -// Doing it this way prints a message about Autograd not being provided a backward function of the -// backward function. It gets it from the implementation just fine now, but warns that in the future -// this will be deprecated. -TORCH_LIBRARY_IMPL(torchmdnet_extensions, CPU, m) { - m.impl("get_neighbor_pairs_bkwd", backward_impl); -} - -TORCH_LIBRARY_IMPL(torchmdnet_extensions, CUDA, m) { - m.impl("get_neighbor_pairs_bkwd", backward_impl); -} - -// // Register explicit Autograd fallthroughs to avoid deprecated autograd fallback warnings -// // when backpropagating through these custom operators on CUDA/CPU. -// TORCH_LIBRARY_IMPL(torchmdnet_extensions, Autograd, m) { -// m.impl("get_neighbor_pairs", torch::CppFunction::makeFallthrough()); -// m.impl("get_neighbor_pairs_bkwd", torch::CppFunction::makeFallthrough()); -// } diff --git a/torchmdnet/extensions/neighbors/neighbors_cuda.cu b/torchmdnet/extensions/neighbors/neighbors_cuda.cu deleted file mode 100644 index 68f775485..000000000 --- a/torchmdnet/extensions/neighbors/neighbors_cuda.cu +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - * (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - * Raul P. Pelaez 2023 - */ -#include -#include -#include - -#include -#include -#include - -#include "neighbors_cuda_brute.cuh" -#include "neighbors_cuda_cell.cuh" -#include "neighbors_cuda_shared.cuh" - -static std::tuple -forward_impl_cuda(const std::string& strategy, const at::Tensor& positions, const at::Tensor& batch, - const at::Tensor& in_box_vectors, bool use_periodic, const at::Scalar& cutoff_lower, - const at::Scalar& cutoff_upper, const at::Scalar& max_num_pairs, bool loop, - bool include_transpose) { - auto kernel = forward_brute; - if (positions.size(0) >= 32768 && strategy == "brute") { - kernel = forward_shared; - } - if (strategy == "brute") { - } else if (strategy == "cell") { - kernel = forward_cell; - } else if (strategy == "shared") { - kernel = forward_shared; - } else { - throw std::runtime_error("Unknown kernel name"); - } - return kernel(positions, batch, in_box_vectors, use_periodic, cutoff_lower, cutoff_upper, - max_num_pairs, loop, include_transpose); -} - -// We only need to register the CUDA version of the forward function here. This way we can avoid -// compiling this file in CPU-only mode The rest of the registrations take place in -// neighbors_cpu.cpp -TORCH_LIBRARY_IMPL(torchmdnet_extensions, CUDA, m) { - m.impl("get_neighbor_pairs_fwd", forward_impl_cuda); -} diff --git a/torchmdnet/extensions/neighbors/neighbors_cuda_brute.cuh b/torchmdnet/extensions/neighbors/neighbors_cuda_brute.cuh deleted file mode 100644 index 4d33979f3..000000000 --- a/torchmdnet/extensions/neighbors/neighbors_cuda_brute.cuh +++ /dev/null @@ -1,122 +0,0 @@ -/* Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - *(See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - * - * Raul P. Pelaez 2023. Brute force neighbor list construction in CUDA. - * - * A brute force approach that assigns a thread per each possible pair of particles in the system. - * Based on an implementation by Raimondas Galvelis. - * Works fantastically for small (less than 10K atoms) systems, but cannot handle more than 32K - * atoms. - */ -#ifndef NEIGHBORS_BRUTE_CUH -#define NEIGHBORS_BRUTE_CUH -#include "common.cuh" -#include - -__device__ uint32_t get_row(uint32_t index) { - uint32_t row = floor((sqrtf(8 * index + 1) + 1) / 2); - if (row * (row - 1) > 2 * index) - row--; - return row; -} - -template -__global__ void forward_kernel_brute(uint32_t num_all_pairs, const Accessor positions, - const Accessor batch, scalar_t cutoff_lower2, - scalar_t cutoff_upper2, PairListAccessor list, - triclinic::BoxAccessor box) { - const uint32_t index = blockIdx.x * blockDim.x + threadIdx.x; - if (index >= num_all_pairs) - return; - const uint32_t row = get_row(index); - const uint32_t column = (index - row * (row - 1) / 2); - const auto batch_row = batch[row]; - if (batch_row == batch[column]) { - const auto pos_i = fetchPosition(positions, row); - const auto pos_j = fetchPosition(positions, column); - const auto box_row = box[batch_row]; - const auto delta = triclinic::compute_distance(pos_i, pos_j, list.use_periodic, box_row); - const scalar_t distance2 = delta.x * delta.x + delta.y * delta.y + delta.z * delta.z; - if (distance2 < cutoff_upper2 && distance2 >= cutoff_lower2) { - const scalar_t r2 = sqrt_(distance2); - addAtomPairToList(list, row, column, delta, r2, list.include_transpose); - } - } -} - -template -__global__ void add_self_kernel(const int num_atoms, Accessor positions, - PairListAccessor list) { - const int32_t i_atom = blockIdx.x * blockDim.x + threadIdx.x; - if (i_atom >= num_atoms) - return; - __shared__ int i_pair; - if (threadIdx.x == 0) { // Each block adds blockDim.x pairs to the list. - // Handle the last block, so that only num_atoms are added in total - i_pair = - atomicAdd(&list.i_curr_pair[0], min(blockDim.x, num_atoms - blockIdx.x * blockDim.x)); - } - __syncthreads(); - scalar3 delta{}; - scalar_t distance = 0; - writeAtomPair(list, i_atom, i_atom, delta, distance, i_pair + threadIdx.x); -} - -static std::tuple -forward_brute(const Tensor& positions, const Tensor& batch, const Tensor& in_box_vectors, - bool use_periodic, const Scalar& cutoff_lower, const Scalar& cutoff_upper, - const Scalar& max_num_pairs, bool loop, bool include_transpose) { - checkInput(positions, batch); - const auto max_num_pairs_ = max_num_pairs.toLong(); - TORCH_CHECK(max_num_pairs_ > 0, "Expected \"max_num_neighbors\" to be positive"); - auto box_vectors = in_box_vectors.to(positions.device()).clone(); - if (box_vectors.dim() == 2) { - // If the box is a 3x3 tensor it is assumed every sample has the same box - if (use_periodic) { - TORCH_CHECK(box_vectors.size(0) == 3 && box_vectors.size(1) == 3, - "Expected \"box_vectors\" to have shape (3, 3)"); - } - // Make the box (None,3,3), expand artificially to positions.size(0) - box_vectors = box_vectors.unsqueeze(0); - if (use_periodic) { - // I use positions.size(0) because the batch dimension is not available here - box_vectors = box_vectors.expand({positions.size(0), 3, 3}); - } - } - if (use_periodic) { - TORCH_CHECK(box_vectors.dim() == 3, "Expected \"box_vectors\" to have three dimensions"); - TORCH_CHECK(box_vectors.size(1) == 3 && box_vectors.size(2) == 3, - "Expected \"box_vectors\" to have shape (n_batch, 3, 3)"); - } - const int num_atoms = positions.size(0); - TORCH_CHECK(num_atoms < 32768, "The brute strategy fails with \"num_atoms\" larger than 32768"); - const int num_pairs = max_num_pairs_; - const TensorOptions options = positions.options(); - const auto stream = getCurrentCUDAStream(positions.get_device()); - PairList list(num_pairs, positions.options(), loop, include_transpose, use_periodic); - const CUDAStreamGuard guard(stream); - const uint64_t num_all_pairs = num_atoms * (num_atoms - 1UL) / 2UL; - const uint64_t num_threads = 128; - const uint64_t num_blocks = std::max(static_cast((num_all_pairs + num_threads - 1UL) / num_threads), static_cast(1UL)); - AT_DISPATCH_FLOATING_TYPES(positions.scalar_type(), "get_neighbor_pairs_forward", [&]() { - PairListAccessor list_accessor(list); - auto box = triclinic::get_box_accessor(box_vectors, use_periodic); - const scalar_t cutoff_upper_ = cutoff_upper.to(); - const scalar_t cutoff_lower_ = cutoff_lower.to(); - TORCH_CHECK(cutoff_upper_ > 0, "Expected \"cutoff\" to be positive"); - forward_kernel_brute<<>>( - num_all_pairs, get_accessor(positions), get_accessor(batch), - cutoff_lower_ * cutoff_lower_, cutoff_upper_ * cutoff_upper_, list_accessor, box); - if (loop) { - const uint32_t num_threads_self = 256; - const uint32_t num_blocks_self = - std::max((num_atoms + num_threads_self - 1U) / num_threads_self, 1U); - add_self_kernel<<>>( - num_atoms, get_accessor(positions), list_accessor); - } - }); - return {list.neighbors, list.deltas, list.distances, list.i_curr_pair}; -} - -#endif diff --git a/torchmdnet/extensions/neighbors/neighbors_cuda_cell.cuh b/torchmdnet/extensions/neighbors/neighbors_cuda_cell.cuh deleted file mode 100644 index b54ab1c13..000000000 --- a/torchmdnet/extensions/neighbors/neighbors_cuda_cell.cuh +++ /dev/null @@ -1,390 +0,0 @@ -/* Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - *(See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - * Raul P. Pelaez 2023. Batched cell list neighbor list implementation for CUDA. - */ -#ifndef NEIGHBOR_CUDA_CELL_H -#define NEIGHBOR_CUDA_CELL_H -#include "common.cuh" - -/* - * @brief Calculates the cell dimensions for a given box size and cutoff - * @param box_size The box size - * @param cutoff The cutoff - * @return The cell dimensions - */ -template -__host__ __device__ int3 getCellDimensions(scalar3 box_size, scalar_t cutoff) { - int3 cell_dim = make_int3(box_size.x / cutoff, box_size.y / cutoff, box_size.z / cutoff); - // Minimum 3 cells in each dimension - cell_dim.x = max(cell_dim.x, 3); - cell_dim.y = max(cell_dim.y, 3); - cell_dim.z = max(cell_dim.z, 3); -// In the host, throw if there are more than 1024 cells in any dimension -#ifndef __CUDA_ARCH__ - if (cell_dim.x > 1024 || cell_dim.y > 1024 || cell_dim.z > 1024) { - throw std::runtime_error("Too many cells in one dimension. Maximum is 1024"); - } -#endif - return cell_dim; -} - -/* - * @brief Get the cell coordinates of a point - * @param p The point position - * @param box_size The size of the box in each dimension - * @param cutoff The cutoff - * @param cell_dim The number of cells in each dimension - * @return The cell coordinates - */ -template -__device__ int3 getCell(scalar3 p, scalar3 box_size, scalar_t cutoff, - int3 cell_dim) { - p = rect::apply_pbc(p, box_size); - // Take to the [0, box_size] range and divide by cutoff (which is the cell size) - int cx = floorf((p.x + scalar_t(0.5) * box_size.x) / cutoff); - int cy = floorf((p.y + scalar_t(0.5) * box_size.y) / cutoff); - int cz = floorf((p.z + scalar_t(0.5) * box_size.z) / cutoff); - // Wrap around. If the position of a particle is exactly box_size, it will be in the last cell, - // which results in an illegal access down the line. - if (cx == cell_dim.x) - cx = 0; - if (cy == cell_dim.y) - cy = 0; - if (cz == cell_dim.z) - cz = 0; - return make_int3(cx, cy, cz); -} - -/* - * @brief Get the index of a cell in a 1D array of cells. - * @param cell The cell coordinates, assumed to be in the range [0, cell_dim]. - * @param cell_dim The number of cells in each dimension - */ -__device__ int getCellIndex(int3 cell, int3 cell_dim) { - return cell.x + cell_dim.x * (cell.y + cell_dim.y * cell.z); -} - -/* - @brief Fold a cell coordinate to the range [0, cell_dim) - @param cell The cell coordinate - @param cell_dim The dimensions of the grid - @return The folded cell coordinate -*/ -__device__ int3 getPeriodicCell(int3 cell, int3 cell_dim) { - int3 periodic_cell = cell; - if (cell.x < 0) - periodic_cell.x += cell_dim.x; - if (cell.x >= cell_dim.x) - periodic_cell.x -= cell_dim.x; - if (cell.y < 0) - periodic_cell.y += cell_dim.y; - if (cell.y >= cell_dim.y) - periodic_cell.y -= cell_dim.y; - if (cell.z < 0) - periodic_cell.z += cell_dim.z; - if (cell.z >= cell_dim.z) - periodic_cell.z -= cell_dim.z; - return periodic_cell; -} - -// Computes and stores the cell index of each atom. -template -__global__ void assignCellIndex(const Accessor positions, - Accessor cell_indices, scalar3 box_size, - scalar_t cutoff) { - const int32_t i_atom = blockIdx.x * blockDim.x + threadIdx.x; - if (i_atom >= positions.size(0)) - return; - const auto pi = fetchPosition(positions, i_atom); - const auto cell_dim = getCellDimensions(box_size, cutoff); - const auto ci = getCell(pi, box_size, cutoff, cell_dim); - cell_indices[i_atom] = getCellIndex(ci, cell_dim); -} - -/* - * @brief Sort the positions by cell index - * @param positions The positions of the atoms - * @param box_size The box vectors - * @param cutoff The cutoff - * @return A tuple of the sorted indices and cell indices - */ -static auto sortAtomsByCellIndex(const Tensor& positions, const Tensor& box_size, - const Scalar& cutoff) { - const int num_atoms = positions.size(0); - Tensor cell_index = empty({num_atoms}, positions.options().dtype(torch::kInt32)); - const int threads = 128; - const int blocks = (num_atoms + threads - 1) / threads; - auto stream = at::cuda::getCurrentCUDAStream(); - AT_DISPATCH_FLOATING_TYPES(positions.scalar_type(), "assignHash", [&] { - scalar_t cutoff_ = cutoff.to(); - scalar3 box_size_ = {box_size[0][0].item(), - box_size[1][1].item(), - box_size[2][2].item()}; - assignCellIndex<<>>(get_accessor(positions), - get_accessor(cell_index), - box_size_, cutoff_); - }); - // Sort the atom indices by cell index - Tensor sorted_atom_index; - Tensor sorted_cell_index; - std::tie(sorted_cell_index, sorted_atom_index) = torch::sort(cell_index); - return std::make_tuple(sorted_atom_index.to(torch::kInt32), sorted_cell_index); -} - -__global__ void fillCellOffsetsD(const Accessor sorted_cell_indices, - Accessor cell_start, Accessor cell_end) { - // Since positions are sorted by cell, for a given atom, if the previous atom is in a different - // cell, then the current atom is the first atom in its cell We use this fact to fill the - // cell_start and cell_end arrays - const int32_t i_atom = blockIdx.x * blockDim.x + threadIdx.x; - if (i_atom >= sorted_cell_indices.size(0)) - return; - const int icell = sorted_cell_indices[i_atom]; - int im1_cell; - if (i_atom > 0) { - const int im1 = i_atom - 1; - im1_cell = sorted_cell_indices[im1]; - } else { - im1_cell = 0; - } - if (icell != im1_cell || i_atom == 0) { - cell_start[icell] = i_atom; - if (i_atom > 0) { - cell_end[im1_cell] = i_atom; - } - } - if (i_atom == sorted_cell_indices.size(0) - 1) { - cell_end[icell] = i_atom + 1; - } -} - -/* - @brief Fills the cell_start and cell_end arrays, identifying the first and last atom in each cell - @param sorted_cell_indices The cell indices of each position - @param cell_dim The dimensions of the cell grid - @return A tuple of cell_start and cell_end arrays -*/ -static auto fillCellOffsets(const Tensor& sorted_cell_indices, int3 cell_dim) { - const TensorOptions options = sorted_cell_indices.options(); - const int num_cells = cell_dim.x * cell_dim.y * cell_dim.z; - const Tensor cell_start = full({num_cells}, -1, options.dtype(torch::kInt)); - const Tensor cell_end = empty({num_cells}, options.dtype(torch::kInt)); - const int threads = 128; - const int blocks = (sorted_cell_indices.size(0) + threads - 1) / threads; - auto stream = at::cuda::getCurrentCUDAStream(); - fillCellOffsetsD<<>>(get_accessor(sorted_cell_indices), - get_accessor(cell_start), - get_accessor(cell_end)); - return std::make_tuple(cell_start, cell_end); -} - -/* - @brief Get the cell index of the i'th neighboring cell for a given cell - @param cell_i The cell coordinates - @param i The index of the neighboring cell, from 0 to 26 - @param cell_dim The dimensions of the cell grid - @return The cell index of the i'th neighboring cell -*/ -__device__ int getNeighborCellIndex(int3 cell_i, int i, int3 cell_dim) { - auto cell_j = cell_i; - cell_j.x += i % 3 - 1; - cell_j.y += (i / 3) % 3 - 1; - cell_j.z += i / 9 - 1; - cell_j = getPeriodicCell(cell_j, cell_dim); - const int icellj = getCellIndex(cell_j, cell_dim); - return icellj; -} - -template struct Particle { - int index; // Index in the sorted arrays - int original_index; // Index in the original arrays - int batch; - scalar3 position; - scalar_t cutoff_upper2, cutoff_lower2; -}; - -struct CellList { - Tensor cell_start, cell_end; - Tensor sorted_indices; - Tensor sorted_positions, sorted_batch; -}; - -CellList constructCellList(const Tensor& positions, const Tensor& batch, const Tensor& box_size, - const Scalar& cutoff) { - // The algorithm for the cell list construction can be summarized in three separate steps: - // 1. Label the particles according to the cell (bin) they lie in. - // 2. Sort the particles using the cell index as the ordering label - // (technically this is known as sorting by key). So that particles with positions - // lying in the same cell become contiguous in memory. - // 3. Identify where each cell starts and ends in the sorted particle positions - // array. - const TensorOptions options = positions.options(); - CellList cl; - Tensor sorted_cell_indices; - // Steps 1 and 2 - std::tie(cl.sorted_indices, sorted_cell_indices) = - sortAtomsByCellIndex(positions, box_size, cutoff); - cl.sorted_positions = positions.index_select(0, cl.sorted_indices); - cl.sorted_batch = batch.index_select(0, cl.sorted_indices); - // Step 3 - int3 cell_dim; - AT_DISPATCH_FLOATING_TYPES(positions.scalar_type(), "computeCellDim", [&] { - scalar_t cutoff_ = cutoff.to(); - scalar3 box_size_ = {box_size[0][0].item(), - box_size[1][1].item(), - box_size[2][2].item()}; - cell_dim = getCellDimensions(box_size_, cutoff_); - }); - std::tie(cl.cell_start, cl.cell_end) = fillCellOffsets(sorted_cell_indices, cell_dim); - return cl; -} - -template struct CellListAccessor { - Accessor cell_start, cell_end; - Accessor sorted_indices; - Accessor sorted_positions; - Accessor sorted_batch; - - explicit CellListAccessor(const CellList& cl) - : cell_start(get_accessor(cl.cell_start)), - cell_end(get_accessor(cl.cell_end)), - sorted_indices(get_accessor(cl.sorted_indices)), - sorted_positions(get_accessor(cl.sorted_positions)), - sorted_batch(get_accessor(cl.sorted_batch)) { - } -}; - -/* - * @brief Add a pair of particles to the pair list. If necessary, also add the transpose pair. - * @param list The pair list - * @param i The index of the first particle - * @param j The index of the second particle - * @param distance2 The squared distance between the particles - * @param delta The vector between the particles - */ -template -__device__ void addNeighborPair(PairListAccessor& list, const int i, const int j, - scalar_t distance2, scalar3 delta) { - const bool requires_transpose = list.include_transpose && (j != i); - const int ni = max(i, j); - const int nj = min(i, j); - const scalar_t delta_sign = (ni == i) ? scalar_t(1.0) : scalar_t(-1.0); - const scalar_t distance = sqrt_(distance2); - delta = {delta_sign * delta.x, delta_sign * delta.y, delta_sign * delta.z}; - addAtomPairToList(list, ni, nj, delta, distance, requires_transpose); -} - -/* - * @brief Add to the pair list all neighbors of particle i_atom in cell j_cell - * @param i_atom The Information of the particle for which we are adding neighbors - * @param j_cell The index of the cell in which we are looking for neighbors - * @param cl The cell list - * @param box_size The box size - * @param list The pair list - */ -template -__device__ void addNeighborsForCell(const Particle& i_atom, int j_cell, - const CellListAccessor& cl, - scalar3 box_size, PairListAccessor& list) { - const auto first_particle = cl.cell_start[j_cell]; - if (first_particle != -1) { // Continue only if there are particles in this cell - const auto last_particle = cl.cell_end[j_cell]; - for (int cur_j = first_particle; cur_j < last_particle; cur_j++) { - const auto j_batch = cl.sorted_batch[cur_j]; - if ((j_batch == i_atom.batch) && - ((cur_j < i_atom.index) || (list.loop && cur_j == i_atom.index))) { - const auto position_j = fetchPosition(cl.sorted_positions, cur_j); - const auto delta = rect::compute_distance(i_atom.position, position_j, - list.use_periodic, box_size); - const scalar_t distance2 = - delta.x * delta.x + delta.y * delta.y + delta.z * delta.z; - if ( ((distance2 < i_atom.cutoff_upper2 && distance2 >= i_atom.cutoff_lower2)) || - (list.loop && cur_j == i_atom.index)) { - const int orj = cl.sorted_indices[cur_j]; - addNeighborPair(list, i_atom.original_index, orj, distance2, delta); - } // endif - } // endif - } // endfor - } // endif -} - -// Traverse the cell list for each atom and find the neighbors -template -__global__ void traverseCellList(const CellListAccessor cell_list, - PairListAccessor list, int num_atoms, - scalar3 box_size, scalar_t cutoff_lower, - scalar_t cutoff_upper) { - // Each atom traverses the cells around it and finds the neighbors - // Atoms for all batches are placed in the same cell list, but other batches are ignored while - // traversing - Particle i_atom; - i_atom.index = blockIdx.x * blockDim.x + threadIdx.x; - if (i_atom.index >= num_atoms) { - return; - } - i_atom.original_index = cell_list.sorted_indices[i_atom.index]; - i_atom.batch = cell_list.sorted_batch[i_atom.index]; - i_atom.position = fetchPosition(cell_list.sorted_positions, i_atom.index); - i_atom.cutoff_lower2 = cutoff_lower * cutoff_lower; - i_atom.cutoff_upper2 = cutoff_upper * cutoff_upper; - const int3 cell_dim = getCellDimensions(box_size, cutoff_upper); - const int3 cell_i = getCell(i_atom.position, box_size, cutoff_upper, cell_dim); - // Loop over the 27 cells around the current cell - for (int i = 0; i < 27; i++) { - const int neighbor_cell = getNeighborCellIndex(cell_i, i, cell_dim); - addNeighborsForCell(i_atom, neighbor_cell, cell_list, box_size, list); - } -} - -static std::tuple -forward_cell(const Tensor& positions, const Tensor& batch, const Tensor& in_box_size, - bool use_periodic, const Scalar& cutoff_lower, const Scalar& cutoff_upper, - const Scalar& max_num_pairs, bool loop, bool include_transpose) { - // This module computes the pair list for a given set of particles, which may be in multiple - // batches. The strategy is to first compute a cell list for all particles, and then - // traverse the cell list for each particle to construct a pair list. - checkInput(positions, batch); - auto box_size = in_box_size.to("cpu"); - // If the box has dimensions (1, 3,3) squeeze it - if (box_size.dim() == 3) { - TORCH_CHECK(box_size.size(0) == 1 && box_size.size(1) == 3 && box_size.size(2) == 3, - "Cell list does not support a box per sample. Expected \"box_size\" to have shape (1, 3, 3) or (3, 3)"); - box_size = box_size.squeeze(0); - } - - TORCH_CHECK(box_size.dim() == 2, "Expected \"box_size\" to have two dimensions"); - TORCH_CHECK(box_size.size(0) == 3 && box_size.size(1) == 3, - "Expected \"box_size\" to have shape (3, 3)"); - TORCH_CHECK(box_size[0][1].item() == 0 && box_size[0][2].item() == 0 && - box_size[1][0].item() == 0 && box_size[1][2].item() == 0 && - box_size[2][0].item() == 0 && box_size[2][1].item() == 0, - "Expected \"box_size\" to be diagonal"); - const auto max_num_pairs_ = max_num_pairs.toInt(); - TORCH_CHECK(max_num_pairs_ > 0, "Expected \"max_num_neighbors\" to be positive"); - const int num_atoms = positions.size(0); - const auto cell_list = constructCellList(positions, batch, box_size, cutoff_upper); - PairList list(max_num_pairs_, positions.options(), loop, include_transpose, use_periodic); - const auto stream = getCurrentCUDAStream(positions.get_device()); - { // Traverse the cell list to find the neighbors - const CUDAStreamGuard guard(stream); - AT_DISPATCH_FLOATING_TYPES(positions.scalar_type(), "forward", [&] { - const scalar_t cutoff_upper_ = cutoff_upper.to(); - TORCH_CHECK(cutoff_upper_ > 0, "Expected cutoff_upper to be positive"); - const scalar_t cutoff_lower_ = cutoff_lower.to(); - const scalar3 box_size_ = {box_size[0][0].item(), - box_size[1][1].item(), - box_size[2][2].item()}; - PairListAccessor list_accessor(list); - CellListAccessor cell_list_accessor(cell_list); - const int threads = 128; - const int blocks = (num_atoms + threads - 1) / threads; - traverseCellList<<>>(cell_list_accessor, list_accessor, - num_atoms, box_size_, cutoff_lower_, - cutoff_upper_); - }); - } - return {list.neighbors, list.deltas, list.distances, list.i_curr_pair}; -} - -#endif diff --git a/torchmdnet/extensions/neighbors/neighbors_cuda_shared.cuh b/torchmdnet/extensions/neighbors/neighbors_cuda_shared.cuh deleted file mode 100644 index 950a3bb6b..000000000 --- a/torchmdnet/extensions/neighbors/neighbors_cuda_shared.cuh +++ /dev/null @@ -1,124 +0,0 @@ -/* Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org - * Distributed under the MIT License. - *(See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - * Raul P. Pelaez 2023. Shared memory neighbor list construction for CUDA. - * This brute force approach checks all pairs of atoms by collaborativelly loading and processing - * tiles of atoms into shared memory. - * This approach is tipically slower than the brute force approach, but can handle an arbitrarily - * large number of atoms. - */ -#ifndef NEIGHBORS_SHARED_CUH -#define NEIGHBORS_SHARED_CUH -#include "common.cuh" -#include - -template -__global__ void forward_kernel_shared(uint32_t num_atoms, const Accessor positions, - const Accessor batch, scalar_t cutoff_lower2, - scalar_t cutoff_upper2, PairListAccessor list, - int32_t num_tiles, triclinic::BoxAccessor box) { - // A thread per atom - const int id = blockIdx.x * blockDim.x + threadIdx.x; - // All threads must pass through __syncthreads, - // but when N is not a multiple of 32 some threads are assigned a particle i>N. - // This threads cant return, so they are masked to not do any work - const bool active = id < num_atoms; - __shared__ scalar3 sh_pos[BLOCKSIZE]; - __shared__ int64_t sh_batch[BLOCKSIZE]; - scalar3 pos_i; - int64_t batch_i; - if (active) { - pos_i = fetchPosition(positions, id); - batch_i = batch[id]; - } - // Distribute the N particles in a group of tiles. Storing in each tile blockDim.x values in - // shared memory. This way all threads are accesing the same memory addresses at the same time - for (int tile = 0; tile < num_tiles; tile++) { - // Load this tiles particles values to shared memory - const int i_load = tile * blockDim.x + threadIdx.x; - if (i_load < num_atoms) { // Even if im not active, my thread may load a value each tile to - // shared memory. - sh_pos[threadIdx.x] = fetchPosition(positions, i_load); - sh_batch[threadIdx.x] = batch[i_load]; - } - // Wait for all threads to arrive - __syncthreads(); - // Go through all the particles in the current tile -#pragma unroll 8 - for (int counter = 0; counter < blockDim.x; counter++) { - if (!active) - break; // An out of bounds thread must be masked - const int cur_j = tile * blockDim.x + counter; - const bool testPair = (cur_j < num_atoms) && (cur_j < id || (list.loop && cur_j == id)); - if (testPair) { - const auto batch_j = sh_batch[counter]; - if (batch_i == batch_j) { - const auto pos_j = sh_pos[counter]; - const auto box_i = box[batch_i]; - const auto delta = - triclinic::compute_distance(pos_i, pos_j, list.use_periodic, box_i); - const scalar_t distance2 = - delta.x * delta.x + delta.y * delta.y + delta.z * delta.z; - if (distance2 < cutoff_upper2 && distance2 >= cutoff_lower2) { - const bool requires_transpose = list.include_transpose && !(cur_j == id); - const auto distance = sqrt_(distance2); - addAtomPairToList(list, id, cur_j, delta, distance, requires_transpose); - } - } - } - } - __syncthreads(); - } -} - -static std::tuple -forward_shared(const Tensor& positions, const Tensor& batch, const Tensor& in_box_vectors, - bool use_periodic, const Scalar& cutoff_lower, const Scalar& cutoff_upper, - const Scalar& max_num_pairs, bool loop, bool include_transpose) { - checkInput(positions, batch); - const auto max_num_pairs_ = max_num_pairs.toLong(); - auto box_vectors = in_box_vectors.to(positions.device()); - if (box_vectors.dim() == 2) { - // If the box is a 3x3 tensor it is assumed every sample has the same box - if (use_periodic) { - TORCH_CHECK(box_vectors.size(0) == 3 && box_vectors.size(1) == 3, - "Expected \"box_vectors\" to have shape (n_batch, 3, 3)"); - } - // Make the box (None,3,3), expand artificially to positions.size(0) - box_vectors = box_vectors.unsqueeze(0); - if (use_periodic) { - // I use positions.size(0) because the batch dimension is not available here - box_vectors = box_vectors.expand({positions.size(0), 3, 3}); - } - } - TORCH_CHECK(max_num_pairs_ > 0, "Expected \"max_num_neighbors\" to be positive"); - if (use_periodic) { - TORCH_CHECK(box_vectors.dim() == 3, "Expected \"box_vectors\" to have three dimensions"); - TORCH_CHECK(box_vectors.size(1) == 3 && box_vectors.size(2) == 3, - "Expected \"box_vectors\" to have shape (n_batch, 3, 3)"); - } - const int num_atoms = positions.size(0); - const int num_pairs = max_num_pairs_; - const TensorOptions options = positions.options(); - const auto stream = getCurrentCUDAStream(positions.get_device()); - PairList list(num_pairs, positions.options(), loop, include_transpose, use_periodic); - const CUDAStreamGuard guard(stream); - AT_DISPATCH_FLOATING_TYPES(positions.scalar_type(), "get_neighbor_pairs_shared_forward", [&]() { - const scalar_t cutoff_upper_ = cutoff_upper.to(); - const scalar_t cutoff_lower_ = cutoff_lower.to(); - auto box = triclinic::get_box_accessor(box_vectors, use_periodic); - TORCH_CHECK(cutoff_upper_ > 0, "Expected \"cutoff\" to be positive"); - constexpr int BLOCKSIZE = 64; - const int num_blocks = std::max((num_atoms + BLOCKSIZE - 1) / BLOCKSIZE, 1); - const int num_threads = BLOCKSIZE; - const int num_tiles = num_blocks; - PairListAccessor list_accessor(list); - forward_kernel_shared<<>>( - num_atoms, get_accessor(positions), get_accessor(batch), - cutoff_lower_ * cutoff_lower_, cutoff_upper_ * cutoff_upper_, list_accessor, num_tiles, - box); - }); - return {list.neighbors, list.deltas, list.distances, list.i_curr_pair}; -} - -#endif From 1345c2d6eb3fcab310320cc2086273fd981c7e8a Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 15:06:21 +0200 Subject: [PATCH 39/80] missing function --- torchmdnet/extensions/triton_cell.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 06367cff9..20134eab9 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -17,7 +17,18 @@ from typing import Tuple from torchmdnet.extensions.triton_neighbors import TritonNeighborAutograd -from torchmdnet.extensions.triton_cell import _get_cell_dimensions + + +def _get_cell_dimensions( + box_x: torch.float32, + box_y: torch.float32, + box_z: torch.float32, + cutoff_upper: torch.float32, +) -> int: + nx = torch.floor(box_x / cutoff_upper).clamp(min=3).long() + ny = torch.floor(box_y / cutoff_upper).clamp(min=3).long() + nz = torch.floor(box_z / cutoff_upper).clamp(min=3).long() + return torch.stack([nx, ny, nz]) @triton.jit From 874271ea4ebee0a779d8c278201d97ab80ba9ee3 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:12:23 +0200 Subject: [PATCH 40/80] fix for torch script --- torchmdnet/models/output_modules.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/torchmdnet/models/output_modules.py b/torchmdnet/models/output_modules.py index 5bcee7d08..023677b56 100644 --- a/torchmdnet/models/output_modules.py +++ b/torchmdnet/models/output_modules.py @@ -39,18 +39,22 @@ def pre_reduce(self, x, v, z, pos, batch): return def reduce(self, x, batch): - is_capturing = x.is_cuda and torch.cuda.is_current_stream_capturing() - if not x.is_cuda or not is_capturing: + if torch.jit.is_scripting(): + # TorchScript doesn't support torch.cuda.is_current_stream_capturing() self.dim_size = int(batch.max().item() + 1) - if is_capturing: - assert ( - self.dim_size > 0 - ), "Warming up is needed before capturing the model into a CUDA graph" - warn( - "CUDA graph capture will lock the batch to the current number of samples ({}). Changing this will result in a crash".format( - self.dim_size + else: + is_capturing = x.is_cuda and torch.cuda.is_current_stream_capturing() + if not x.is_cuda or not is_capturing: + self.dim_size = int(batch.max().item() + 1) + if is_capturing: + assert ( + self.dim_size > 0 + ), "Warming up is needed before capturing the model into a CUDA graph" + warn( + "CUDA graph capture will lock the batch to the current number of samples ({}). Changing this will result in a crash".format( + self.dim_size + ) ) - ) return scatter(x, batch, dim=0, dim_size=self.dim_size, reduce=self.reduce_op) def post_reduce(self, x): From ca1bc3fe7cc480b43475c4602a96cb911913defd Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:31:05 +0200 Subject: [PATCH 41/80] updating installation isntructions --- README.md | 20 +++--- cibuildwheel_support/before_all_linux.sh | 81 --------------------- cibuildwheel_support/before_all_windows.sh | 37 ---------- docs/source/installation.rst | 84 ++++------------------ environment.yml | 17 ----- 5 files changed, 22 insertions(+), 217 deletions(-) delete mode 100755 cibuildwheel_support/before_all_linux.sh delete mode 100755 cibuildwheel_support/before_all_windows.sh delete mode 100644 environment.yml diff --git a/README.md b/README.md index 4240d4549..2ebe7228c 100644 --- a/README.md +++ b/README.md @@ -21,19 +21,17 @@ Documentation is available at https://torchmd-net.readthedocs.io ## Installation -TorchMD-Net is available as a pip installable wheel as well as in [conda-forge](https://conda-forge.org/) +TorchMD-Net is available as a pip package as well as in [conda-forge](https://conda-forge.org/) -TorchMD-Net provides builds for CPU-only, CUDA 11 and CUDA 12. CPU versions are only provided as reference, -as the performance will be extremely limited. -Depending on which variant you wish to install, you can install it with one of the following commands: +As TorchMD-Net depends on PyTorch we need to add additional index URLs to the installation command as per [pytorch](https://pytorch.org/get-started/locally/) ```sh -# The following will install the CUDA 11.8 version -pip install torchmd-net-cu11 --extra-index-url https://download.pytorch.org/whl/cu118 -# The following will install the CUDA 12.4 version -pip install torchmd-net-cu12 --extra-index-url https://download.pytorch.org/whl/cu124 -# The following will install the CPU only version (not recommended) -pip install torchmd-net-cpu --extra-index-url https://download.pytorch.org/whl/cpu +# The following will install TorchMD-Net with PyTorch CUDA 11.8 version +pip install torchmd-net --extra-index-url https://download.pytorch.org/whl/cu118 +# The following will install TorchMD-Net with PyTorch CUDA 12.4 version +pip install torchmd-net --extra-index-url https://download.pytorch.org/whl/cu124 +# The following will install TorchMD-Net with PyTorch CPU only version (not recommended) +pip install torchmd-net --extra-index-url https://download.pytorch.org/whl/cpu ``` Alternatively it can be installed with conda or mamba with one of the following commands. @@ -46,7 +44,7 @@ mamba install torchmd-net cuda-version=12.4 ### Install from source -TorchMD-Net is installed using pip, but you will need to install some dependencies before. Check [this documentation page](https://torchmd-net.readthedocs.io/en/latest/installation.html#install-from-source). +TorchMD-Net is installed using pip with `pip install -e .` to create an editable install. ## Usage Specifying training arguments can either be done via a configuration yaml file or through command line arguments directly. Several examples of architectural and training specifications for some models and datasets can be found in [examples/](https://github.com/torchmd/torchmd-net/tree/main/examples). Note that if a parameter is present both in the yaml file and the command line, the command line version takes precedence. diff --git a/cibuildwheel_support/before_all_linux.sh b/cibuildwheel_support/before_all_linux.sh deleted file mode 100755 index 12c814b31..000000000 --- a/cibuildwheel_support/before_all_linux.sh +++ /dev/null @@ -1,81 +0,0 @@ -#! /bin/bash - -set -e -set -x - -# Configure pip to use PyTorch extra-index-url for CPU -mkdir -p $HOME/.config/pip -echo "[global] -extra-index-url = https://download.pytorch.org/whl/cpu" > $HOME/.config/pip/pip.conf - - -if [ "$ACCELERATOR" == "cu118" ]; then - - # Install CUDA 11.8: - dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo - - dnf install --setopt=obsoletes=0 -y \ - cuda-nvcc-11-8-11.8.89-1 \ - cuda-cudart-devel-11-8-11.8.89-1 \ - libcurand-devel-11-8-10.3.0.86-1 \ - libcudnn9-devel-cuda-11-9.8.0.87-1 \ - libcublas-devel-11-8-11.11.3.6-1 \ - libnccl-devel-2.15.5-1+cuda11.8 \ - libcusparse-devel-11-8-11.7.5.86-1 \ - libcusolver-devel-11-8-11.4.1.48-1 \ - gcc-toolset-11 - - ln -s cuda-11.8 /usr/local/cuda - ln -s /opt/rh/gcc-toolset-11/root/usr/bin/gcc /usr/local/cuda/bin/gcc - ln -s /opt/rh/gcc-toolset-11/root/usr/bin/g++ /usr/local/cuda/bin/g++ - - export CUDA_HOME="/usr/local/cuda" - - # Configure pip to use PyTorch extra-index-url for CUDA 11.8 - mkdir -p $HOME/.config/pip - echo "[global] -extra-index-url = https://download.pytorch.org/whl/cu118" > $HOME/.config/pip/pip.conf - -elif [ "$ACCELERATOR" == "cu126" ]; then - # Install CUDA 12.6 - dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo - - dnf install --setopt=obsoletes=0 -y \ - cuda-compiler-12-6-12.6.3-1 \ - cuda-libraries-12-6-12.6.3-1 \ - cuda-libraries-devel-12-6-12.6.3-1 \ - cuda-toolkit-12-6-12.6.3-1 \ - gcc-toolset-13 - - ln -s cuda-12.6 /usr/local/cuda - ln -s /opt/rh/gcc-toolset-13/root/usr/bin/gcc /usr/local/cuda/bin/gcc - ln -s /opt/rh/gcc-toolset-13/root/usr/bin/g++ /usr/local/cuda/bin/g++ - ln -s /usr/local/cuda/targets/x86_64-linux/lib/stubs/libcuda.so /usr/lib/libcuda.so.1 - - # Configure pip to use PyTorch extra-index-url for CUDA 12.6 - mkdir -p $HOME/.config/pip - echo "[global] -extra-index-url = https://download.pytorch.org/whl/cu126" > $HOME/.config/pip/pip.conf - -elif [ "$ACCELERATOR" == "cu128" ]; then - # Install CUDA 12.8 - dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo - - dnf install --setopt=obsoletes=0 -y \ - cuda-compiler-12-8-12.8.1-1 \ - cuda-libraries-12-8-12.8.1-1 \ - cuda-libraries-devel-12-8-12.8.1-1 \ - cuda-toolkit-12-8-12.8.1-1 \ - gcc-toolset-13 - - ln -s cuda-12.8 /usr/local/cuda - ln -s /opt/rh/gcc-toolset-13/root/usr/bin/gcc /usr/local/cuda/bin/gcc - ln -s /opt/rh/gcc-toolset-13/root/usr/bin/g++ /usr/local/cuda/bin/g++ - ln -s /usr/local/cuda/targets/x86_64-linux/lib/stubs/libcuda.so /usr/lib/libcuda.so.1 - - # Configure pip to use PyTorch extra-index-url for CUDA 12.8 - mkdir -p $HOME/.config/pip - echo "[global] -extra-index-url = https://download.pytorch.org/whl/cu128" > $HOME/.config/pip/pip.conf - -fi \ No newline at end of file diff --git a/cibuildwheel_support/before_all_windows.sh b/cibuildwheel_support/before_all_windows.sh deleted file mode 100755 index 9cf789159..000000000 --- a/cibuildwheel_support/before_all_windows.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -set -e -set -x - -# Create pip directory if it doesn't exist -mkdir -p "C:\ProgramData\pip" - -# Create pip.ini file with PyTorch CPU index -echo "[global] -extra-index-url = https://download.pytorch.org/whl/cpu" > "C:\ProgramData\pip\pip.ini" - -if [ "$ACCELERATOR" == "cu118" ]; then - curl --netrc-optional -L -nv -o cuda.exe https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_522.06_windows.exe - ./cuda.exe -s nvcc_11.8 cudart_11.8 cublas_dev_11.8 curand_dev_11.8 cusparse_dev_11.8 cusolver_dev_11.8 thrust_11.8 - rm cuda.exe - - # Create pip.ini file with PyTorch CUDA 11.8 index - echo "[global] -extra-index-url = https://download.pytorch.org/whl/cu118" > "C:\ProgramData\pip\pip.ini" -elif [ "$ACCELERATOR" == "cu126" ]; then - curl --netrc-optional -L -nv -o cuda.exe https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.76_windows.exe - ./cuda.exe -s nvcc_12.6 cudart_12.6 cublas_dev_12.6 curand_dev_12.6 cusparse_dev_12.6 cusolver_dev_12.6 thrust_12.6 - rm cuda.exe - - # Create pip.ini file with PyTorch CUDA 12.6 index - echo "[global] -extra-index-url = https://download.pytorch.org/whl/cu126" > "C:\ProgramData\pip\pip.ini" -elif [ "$ACCELERATOR" == "cu128" ]; then - curl --netrc-optional -L -nv -o cuda.exe https://developer.download.nvidia.com/compute/cuda/12.8.1/local_installers/cuda_12.8.1_572.61_windows.exe - ./cuda.exe -s nvcc_12.8 cudart_12.8 cublas_dev_12.8 curand_dev_12.8 cusparse_dev_12.8 cusolver_dev_12.8 thrust_12.8 - rm cuda.exe - - # Create pip.ini file with PyTorch CUDA 12.8 index - echo "[global] -extra-index-url = https://download.pytorch.org/whl/cu128" > "C:\ProgramData\pip\pip.ini" -fi \ No newline at end of file diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 769bce14c..6e01ca096 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -1,20 +1,18 @@ Installation ============ -TorchMD-Net is available as a pip installable wheel as well as in `conda-forge `_ +TorchMD-Net is available as a pip package as well as in `conda-forge `_ -TorchMD-Net provides builds for CPU-only, CUDA 11 and CUDA 12. -CPU versions are only provided as reference, as the performance will be extremely limited. -Depending on which variant you wish to install, you can install it with one of the following commands: +As TorchMD-Net depends on PyTorch we need to add additional index URLs to the installation command as per `pytorch `_ .. code-block:: shell - # The following will install the CUDA 11.8 version - pip install torchmd-net-cu11 --extra-index-url https://download.pytorch.org/whl/cu118 - # The following will install the CUDA 12.4 version - pip install torchmd-net-cu12 --extra-index-url https://download.pytorch.org/whl/cu124 - # The following will install the CPU only version (not recommended) - pip install torchmd-net-cpu --extra-index-url https://download.pytorch.org/whl/cpu + # The following will install TorchMD-Net with PyTorch CUDA 11.8 version + pip install torchmd-net --extra-index-url https://download.pytorch.org/whl/cu118 + # The following will install TorchMD-Net with PyTorch CUDA 12.4 version + pip install torchmd-net --extra-index-url https://download.pytorch.org/whl/cu124 + # The following will install TorchMD-Net with PyTorch CPU only version (not recommended) + pip install torchmd-net --extra-index-url https://download.pytorch.org/whl/cpu Alternatively it can be installed with conda or mamba with one of the following commands. We recommend using `Miniforge `_ instead of anaconda. @@ -27,70 +25,14 @@ We recommend using `Miniforge `_ inst Install from source ------------------- +For development purposes, we recommend using `uv `_ to install the TorchMD-Net in editable mode. +After installing uv, run the following command to install the TorchMD-Net and its dependencies in editable mode. -1. Clone the repository: - -.. code-block:: shell - - git clone https://github.com/torchmd/torchmd-net.git - cd torchmd-net - -2. Install the dependencies in environment.yml. - -.. code-block:: shell - - conda env create -f environment.yml - conda activate torchmd-net - -3. CUDA enabled installation - -You can skip this section if you only need a CPU installation. - -You will need the CUDA compiler (nvcc) and the corresponding development libraries to build TorchMD-Net with CUDA support. You can install CUDA from the `official NVIDIA channel `_ or from conda-forge. - -The conda-forge channel `changed the way to install CUDA from versions 12 and above `_, thus the following instructions depend on whether you need CUDA < 12. If you have a GPU available, conda-forge probably installed the CUDA runtime (not the developer tools) on your system already, you can check with conda: - -.. code-block:: shell - - conda list | grep cuda - - -Or by asking pytorch: - .. code-block:: shell - - python -c "import torch; print(torch.version.cuda)" - - -It is recommended to install the same version as the one used by torch. - -.. warning:: At the time of writing there is a `bug in Mamba `_ (v1.5.6) that can cause trouble when installing CUDA on an already created environment. We thus recommend conda for this step. - -* CUDA>=12 - -.. code-block:: shell - - conda install -c conda-forge python=3.10 cuda-version=12.6 cuda-nvvm cuda-nvcc cuda-libraries-dev - - -* CUDA<12 - -The nvidia channel provides the developer tools for CUDA<12. - -.. code-block:: shell - - conda install -c nvidia "cuda-nvcc<12" "cuda-libraries-dev<12" "cuda-version<12" "gxx<12" pytorch=*=*cuda* - - -4. Install TorchMD-NET into the environment: - -.. code-block:: shell - - pip install -e . + uv sync -.. note:: Pip installation in CUDA mode requires compiling CUDA source codes, this can take a really long time and the process might appear as if it is "stuck". Run pip with `-vv` to see the compilation process. +This will install the package alongside PyTorch for CUDA 12.6. To change the CUDA version, +edit the `pyproject.toml `_ file and change the `torch` dependency to the desired version. -This will install TorchMD-NET in editable mode, so that changes to the source code are immediately available. -Besides making all python utilities available environment-wide, this will also install the ``torchmd-train`` command line utility. diff --git a/environment.yml b/environment.yml deleted file mode 100644 index 3e7cd402c..000000000 --- a/environment.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: torchmd-net -channels: - - conda-forge -dependencies: - - h5py - - nnpops - - pip - - pytorch - - pytorch_geometric - - lightning - - torchmetrics - - tqdm - # Dev tools - - flake8 - - pytest - - psutil - - gxx From 7223b88a6b493bfe967ca733d3ac8bf29484f3a1 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:31:26 +0200 Subject: [PATCH 42/80] making triton optional --- torchmdnet/extensions/neighbors.py | 153 +++++++++++++++++ torchmdnet/extensions/ops.py | 72 +++++--- torchmdnet/extensions/triton_brute.py | 14 +- torchmdnet/extensions/triton_cell.py | 16 +- torchmdnet/extensions/triton_neighbors.py | 191 +--------------------- 5 files changed, 208 insertions(+), 238 deletions(-) create mode 100644 torchmdnet/extensions/neighbors.py diff --git a/torchmdnet/extensions/neighbors.py b/torchmdnet/extensions/neighbors.py new file mode 100644 index 000000000..5df1d7db2 --- /dev/null +++ b/torchmdnet/extensions/neighbors.py @@ -0,0 +1,153 @@ +from torch import Tensor +from typing import Tuple +import torch + + +def _round_nearest(x: Tensor) -> Tensor: + # Equivalent to torch.round but works for both float32/float64 and keeps TorchScript happy. + return torch.where(x >= 0, torch.floor(x + 0.5), torch.ceil(x - 0.5)) + + +def _apply_pbc_torch(deltas: Tensor, box_for_pairs: Tensor) -> Tensor: + # box_for_pairs: (num_pairs, 3, 3) + scale3 = _round_nearest(deltas[:, 2] / box_for_pairs[:, 2, 2]) + deltas = deltas - scale3.unsqueeze(1) * box_for_pairs[:, 2] + scale2 = _round_nearest(deltas[:, 1] / box_for_pairs[:, 1, 1]) + deltas = deltas - scale2.unsqueeze(1) * box_for_pairs[:, 1] + scale1 = _round_nearest(deltas[:, 0] / box_for_pairs[:, 0, 0]) + deltas = deltas - scale1.unsqueeze(1) * box_for_pairs[:, 0] + return deltas + + +def torch_neighbor_bruteforce( + positions: Tensor, + batch: Tensor, + box_vectors: Tensor, + use_periodic: bool, + cutoff_lower: float, + cutoff_upper: float, + max_num_pairs: int, + loop: bool, + include_transpose: bool, +) -> Tuple[Tensor, Tensor, Tensor, Tensor]: + """Brute-force neighbor list using pure PyTorch. + + This implementation avoids nonzero() to be torch.compile compatible. + It uses argsort with infinity for invalid pairs to achieve fixed output shapes. + """ + if positions.dim() != 2 or positions.size(1) != 3: + raise ValueError('Expected "positions" to have shape (N, 3)') + if batch.dim() != 1 or batch.size(0) != positions.size(0): + raise ValueError('Expected "batch" to have shape (N,)') + if max_num_pairs <= 0: + raise ValueError('Expected "max_num_pairs" to be positive') + + device = positions.device + dtype = positions.dtype + n_atoms = positions.size(0) + + if use_periodic: + if box_vectors.dim() == 2: + box_vectors = box_vectors.unsqueeze(0) + elif box_vectors.dim() != 3: + raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') + box_vectors = box_vectors.to(device=device, dtype=dtype) + + # Generate indices for all n² pairs + arange_n = torch.arange(n_atoms, device=device) + i_idx = arange_n.view(-1, 1).expand(n_atoms, n_atoms) # (n, n) + j_idx = arange_n.view(1, -1).expand(n_atoms, n_atoms) # (n, n) + + # Compute deltas for ALL pairs: (n, n, 3) + pos_i = positions.unsqueeze(1) # (n, 1, 3) + pos_j = positions.unsqueeze(0) # (1, n, 3) + deltas_grid = pos_i - pos_j # (n, n, 3) + + # Apply PBC if needed + if use_periodic: + # Get batch indices for all pairs + batch_i = batch.view(-1, 1).expand(n_atoms, n_atoms) # (n, n) + if box_vectors.size(0) == 1: + # Single box for all - broadcast + box_for_grid = box_vectors.expand(n_atoms, n_atoms, 3, 3) # (n, n, 3, 3) + else: + # Per-batch boxes - index by batch of atom i + box_for_grid = box_vectors[batch_i] # (n, n, 3, 3) + # Apply PBC: deltas_grid is (n, n, 3), box_for_grid is (n, n, 3, 3) + deltas_flat_pbc = deltas_grid.reshape(-1, 3) + box_flat_pbc = box_for_grid.reshape(-1, 3, 3) + deltas_flat_pbc = _apply_pbc_torch(deltas_flat_pbc, box_flat_pbc) + deltas_grid = deltas_flat_pbc.reshape(n_atoms, n_atoms, 3) + + # Compute distances for all pairs: (n, n) + dist_sq = (deltas_grid * deltas_grid).sum(dim=-1) + zero_mask = dist_sq == 0 + distances_grid = torch.where( + zero_mask, + torch.zeros_like(dist_sq), + torch.sqrt(dist_sq.clamp(min=1e-32)), + ) + + # Build validity mask (n, n) + if include_transpose: + valid_mask = torch.ones((n_atoms, n_atoms), device=device, dtype=torch.bool) + if not loop: + valid_mask = valid_mask & (i_idx != j_idx) + else: + valid_mask = (i_idx > j_idx) if not loop else (i_idx >= j_idx) + + # Apply batch constraint + if batch.numel() > 0: + same_batch = batch.view(-1, 1) == batch.view(1, -1) + valid_mask = valid_mask & same_batch + + # Apply cutoff constraints + # Self-loops (i == j) are exempt from cutoff_lower since they have distance 0 + is_self_loop = i_idx == j_idx + valid_mask = ( + valid_mask + & (distances_grid < cutoff_upper) + & ((distances_grid >= cutoff_lower) | is_self_loop) + ) + + # Flatten everything: (n²) + i_flat = i_idx.reshape(-1) + j_flat = j_idx.reshape(-1) + deltas_flat = deltas_grid.reshape(-1, 3) + distances_flat = distances_grid.reshape(-1) + valid_flat = valid_mask.reshape(-1) + + # Sort key: valid pairs by distance, invalid pairs get infinity (sorted last) + sort_key = torch.where( + valid_flat, + distances_flat, + torch.full_like(distances_flat, float("inf")), + ) + + # Sort and take top max_num_pairs (fixed output shape) + order = torch.argsort(sort_key)[:max_num_pairs] + + # Gather results using the sorted indices + i_out = i_flat.index_select(0, order) + j_out = j_flat.index_select(0, order) + deltas_out = deltas_flat.index_select(0, order) + distances_out = distances_flat.index_select(0, order) + valid_out = valid_flat.index_select(0, order) + + # Replace invalid entries with -1 (neighbors) and 0 (deltas/distances) + # Ensure gradients flow through valid entries + neighbors_out = torch.stack( + [ + torch.where(valid_out, i_out, torch.full_like(i_out, -1)), + torch.where(valid_out, j_out, torch.full_like(j_out, -1)), + ] + ) + # For deltas/distances, use where to preserve gradients for valid entries + zero_deltas = deltas_out.detach() * 0 + zero_distances = distances_out.detach() * 0 + deltas_out = torch.where(valid_out.unsqueeze(1), deltas_out, zero_deltas) + distances_out = torch.where(valid_out, distances_out, zero_distances) + + # Count ALL valid pairs (before slicing) to detect overflow + num_pairs_tensor = valid_flat.sum().view(1).to(torch.long) + return neighbors_out, deltas_out, distances_out, num_pairs_tensor diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index 5cb03bb99..d1c0cb9c2 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -10,9 +10,9 @@ import torch from torch import Tensor from typing import Tuple +import logging -from . import triton_neighbors - +logger = logging.getLogger(__name__) __all__ = ["get_neighbor_pairs_kernel"] @@ -69,30 +69,56 @@ def get_neighbor_pairs_kernel( num_pairs : Tensor The number of pairs found. """ + try: + import triton + + HAS_TRITON = True + except ImportError: + HAS_TRITON = False + if torch.jit.is_scripting() or not positions.is_cuda: - return triton_neighbors.torch_neighbor_pairs( - strategy, + from torchmdnet.extensions.neighbors import torch_neighbor_bruteforce + + return torch_neighbor_bruteforce( positions, - batch, - box_vectors, - use_periodic, - cutoff_lower, - cutoff_upper, - max_num_pairs, - loop, - include_transpose, + batch=batch, + box_vectors=box_vectors, + use_periodic=use_periodic, + cutoff_lower=cutoff_lower, + cutoff_upper=cutoff_upper, + max_num_pairs=max_num_pairs, + loop=loop, + include_transpose=include_transpose, ) - return triton_neighbors.triton_neighbor_pairs( + if not HAS_TRITON: + logger.warning( + "Triton is not available, using torch version of the neighbor pairs kernel." + ) + return torch_neighbor_bruteforce( + positions, + batch=batch, + box_vectors=box_vectors, + use_periodic=use_periodic, + cutoff_lower=cutoff_lower, + cutoff_upper=cutoff_upper, + max_num_pairs=max_num_pairs, + loop=loop, + include_transpose=include_transpose, + ) + + from torchmdnet.extensions.triton_neighbors import triton_neighbor_pairs + + return triton_neighbor_pairs( strategy, - positions, - batch, - box_vectors, - use_periodic, - cutoff_lower, - cutoff_upper, - max_num_pairs, - loop, - include_transpose, - num_cells, + positions=positions, + batch=batch, + box_vectors=box_vectors, + use_periodic=use_periodic, + cutoff_lower=cutoff_lower, + cutoff_upper=cutoff_upper, + max_num_pairs=max_num_pairs, + loop=loop, + include_transpose=include_transpose, + num_cells=num_cells, ) diff --git a/torchmdnet/extensions/triton_brute.py b/torchmdnet/extensions/triton_brute.py index ffd378884..52e597f4c 100644 --- a/torchmdnet/extensions/triton_brute.py +++ b/torchmdnet/extensions/triton_brute.py @@ -1,18 +1,8 @@ # Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org # Distributed under the MIT License. # (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - - -try: - import triton - import triton.language as tl - - _HAS_TRITON = True -except Exception: - triton = None - tl = None - _HAS_TRITON = False - +import triton +import triton.language as tl from torch import Tensor import torch from torchmdnet.extensions.triton_neighbors import _tl_round, TritonNeighborAutograd diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index 20134eab9..ee39db7c4 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -1,17 +1,8 @@ # Copyright Universitat Pompeu Fabra 2020-2023 https://www.compscience.org # Distributed under the MIT License. # (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) - -try: - import triton - import triton.language as tl - - _HAS_TRITON = True -except Exception: - triton = None - tl = None - _HAS_TRITON = False - +import triton +import triton.language as tl import torch from torch import Tensor from typing import Tuple @@ -379,9 +370,6 @@ def forward( include_transpose: bool, num_cells: int, ): - if not _HAS_TRITON: - raise RuntimeError("Triton is not available") - device = positions.device dtype = positions.dtype n_atoms = positions.size(0) diff --git a/torchmdnet/extensions/triton_neighbors.py b/torchmdnet/extensions/triton_neighbors.py index ab0755b24..9bfc28a7d 100644 --- a/torchmdnet/extensions/triton_neighbors.py +++ b/torchmdnet/extensions/triton_neighbors.py @@ -3,24 +3,10 @@ # (See accompanying file README.md file or copy at http://opensource.org/licenses/MIT) from typing import Tuple - import torch from torch import Tensor - -try: - import triton - import triton.language as tl - - _HAS_TRITON = True -except Exception: - triton = None - tl = None - _HAS_TRITON = False - - -def _round_nearest(x: Tensor) -> Tensor: - # Equivalent to torch.round but works for both float32/float64 and keeps TorchScript happy. - return torch.where(x >= 0, torch.floor(x + 0.5), torch.ceil(x - 0.5)) +import triton +import triton.language as tl def _validate_box(box_vectors: Tensor, cutoff_upper: float, n_batch: int) -> Tensor: @@ -47,151 +33,6 @@ def _validate_box(box_vectors: Tensor, cutoff_upper: float, n_batch: int) -> Ten return box_vectors -def _apply_pbc_torch(deltas: Tensor, box_for_pairs: Tensor) -> Tensor: - # box_for_pairs: (num_pairs, 3, 3) - scale3 = _round_nearest(deltas[:, 2] / box_for_pairs[:, 2, 2]) - deltas = deltas - scale3.unsqueeze(1) * box_for_pairs[:, 2] - scale2 = _round_nearest(deltas[:, 1] / box_for_pairs[:, 1, 1]) - deltas = deltas - scale2.unsqueeze(1) * box_for_pairs[:, 1] - scale1 = _round_nearest(deltas[:, 0] / box_for_pairs[:, 0, 0]) - deltas = deltas - scale1.unsqueeze(1) * box_for_pairs[:, 0] - return deltas - - -def _torch_neighbor_bruteforce( - positions: Tensor, - batch: Tensor, - box_vectors: Tensor, - use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, - max_num_pairs: int, - loop: bool, - include_transpose: bool, -) -> Tuple[Tensor, Tensor, Tensor, Tensor]: - """Brute-force neighbor list using pure PyTorch. - - This implementation avoids nonzero() to be torch.compile compatible. - It uses argsort with infinity for invalid pairs to achieve fixed output shapes. - """ - if positions.dim() != 2 or positions.size(1) != 3: - raise ValueError('Expected "positions" to have shape (N, 3)') - if batch.dim() != 1 or batch.size(0) != positions.size(0): - raise ValueError('Expected "batch" to have shape (N,)') - if max_num_pairs <= 0: - raise ValueError('Expected "max_num_pairs" to be positive') - - device = positions.device - dtype = positions.dtype - n_atoms = positions.size(0) - - if use_periodic: - if box_vectors.dim() == 2: - box_vectors = box_vectors.unsqueeze(0) - elif box_vectors.dim() != 3: - raise ValueError('Expected "box_vectors" to have shape (n_batch, 3, 3)') - box_vectors = box_vectors.to(device=device, dtype=dtype) - - # Generate indices for all n² pairs - arange_n = torch.arange(n_atoms, device=device) - i_idx = arange_n.view(-1, 1).expand(n_atoms, n_atoms) # (n, n) - j_idx = arange_n.view(1, -1).expand(n_atoms, n_atoms) # (n, n) - - # Compute deltas for ALL pairs: (n, n, 3) - pos_i = positions.unsqueeze(1) # (n, 1, 3) - pos_j = positions.unsqueeze(0) # (1, n, 3) - deltas_grid = pos_i - pos_j # (n, n, 3) - - # Apply PBC if needed - if use_periodic: - # Get batch indices for all pairs - batch_i = batch.view(-1, 1).expand(n_atoms, n_atoms) # (n, n) - if box_vectors.size(0) == 1: - # Single box for all - broadcast - box_for_grid = box_vectors.expand(n_atoms, n_atoms, 3, 3) # (n, n, 3, 3) - else: - # Per-batch boxes - index by batch of atom i - box_for_grid = box_vectors[batch_i] # (n, n, 3, 3) - # Apply PBC: deltas_grid is (n, n, 3), box_for_grid is (n, n, 3, 3) - deltas_flat_pbc = deltas_grid.reshape(-1, 3) - box_flat_pbc = box_for_grid.reshape(-1, 3, 3) - deltas_flat_pbc = _apply_pbc_torch(deltas_flat_pbc, box_flat_pbc) - deltas_grid = deltas_flat_pbc.reshape(n_atoms, n_atoms, 3) - - # Compute distances for all pairs: (n, n) - dist_sq = (deltas_grid * deltas_grid).sum(dim=-1) - zero_mask = dist_sq == 0 - distances_grid = torch.where( - zero_mask, - torch.zeros_like(dist_sq), - torch.sqrt(dist_sq.clamp(min=1e-32)), - ) - - # Build validity mask (n, n) - if include_transpose: - valid_mask = torch.ones((n_atoms, n_atoms), device=device, dtype=torch.bool) - if not loop: - valid_mask = valid_mask & (i_idx != j_idx) - else: - valid_mask = (i_idx > j_idx) if not loop else (i_idx >= j_idx) - - # Apply batch constraint - if batch.numel() > 0: - same_batch = batch.view(-1, 1) == batch.view(1, -1) - valid_mask = valid_mask & same_batch - - # Apply cutoff constraints - # Self-loops (i == j) are exempt from cutoff_lower since they have distance 0 - is_self_loop = i_idx == j_idx - valid_mask = ( - valid_mask - & (distances_grid < cutoff_upper) - & ((distances_grid >= cutoff_lower) | is_self_loop) - ) - - # Flatten everything: (n²) - i_flat = i_idx.reshape(-1) - j_flat = j_idx.reshape(-1) - deltas_flat = deltas_grid.reshape(-1, 3) - distances_flat = distances_grid.reshape(-1) - valid_flat = valid_mask.reshape(-1) - - # Sort key: valid pairs by distance, invalid pairs get infinity (sorted last) - sort_key = torch.where( - valid_flat, - distances_flat, - torch.full_like(distances_flat, float("inf")), - ) - - # Sort and take top max_num_pairs (fixed output shape) - order = torch.argsort(sort_key)[:max_num_pairs] - - # Gather results using the sorted indices - i_out = i_flat.index_select(0, order) - j_out = j_flat.index_select(0, order) - deltas_out = deltas_flat.index_select(0, order) - distances_out = distances_flat.index_select(0, order) - valid_out = valid_flat.index_select(0, order) - - # Replace invalid entries with -1 (neighbors) and 0 (deltas/distances) - # Ensure gradients flow through valid entries - neighbors_out = torch.stack( - [ - torch.where(valid_out, i_out, torch.full_like(i_out, -1)), - torch.where(valid_out, j_out, torch.full_like(j_out, -1)), - ] - ) - # For deltas/distances, use where to preserve gradients for valid entries - zero_deltas = deltas_out.detach() * 0 - zero_distances = distances_out.detach() * 0 - deltas_out = torch.where(valid_out.unsqueeze(1), deltas_out, zero_deltas) - distances_out = torch.where(valid_out, distances_out, zero_distances) - - # Count ALL valid pairs (before slicing) to detect overflow - num_pairs_tensor = valid_flat.sum().view(1).to(torch.long) - return neighbors_out, deltas_out, distances_out, num_pairs_tensor - - @triton.jit def _tl_round(x): return tl.where(x >= 0, tl.math.floor(x + 0.5), tl.math.ceil(x - 0.5)) @@ -257,8 +98,6 @@ def triton_neighbor_pairs( from torchmdnet.extensions.triton_cell import TritonCellNeighborAutograd from torchmdnet.extensions.triton_brute import TritonBruteNeighborAutograd - if not _HAS_TRITON: - raise RuntimeError("Triton is not available") if positions.device.type != "cuda": raise RuntimeError("Triton neighbor list requires CUDA tensors") if positions.dtype not in (torch.float32, torch.float64): @@ -291,29 +130,3 @@ def triton_neighbor_pairs( ) else: raise ValueError(f"Unsupported strategy {strategy}") - - -def torch_neighbor_pairs( - strategy: str, - positions: Tensor, - batch: Tensor, - box_vectors: Tensor, - use_periodic: bool, - cutoff_lower: float, - cutoff_upper: float, - max_num_pairs: int, - loop: bool, - include_transpose: bool, -) -> Tuple[Tensor, Tensor, Tensor, Tensor]: - # Strategy is ignored for torch version. We only need the brute-force fallback - return _torch_neighbor_bruteforce( - positions, - batch, - box_vectors, - use_periodic, - cutoff_lower, - cutoff_upper, - max_num_pairs, - loop, - include_transpose, - ) From eae391c45034d4690b653dc90089b2e462e114a4 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:31:57 +0200 Subject: [PATCH 43/80] install different triton package on windows and none on OSX --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index be8e09000..0b2f2b57b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,8 @@ dependencies = [ "lightning", "tqdm", "numpy", - "triton", + "triton; sys_platform == 'linux'", + "triton-windows; sys_platform == 'win32'", ] [project.urls] From 3ff58e263fc86856f7467a1743d9a3724a7e85c7 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:36:45 +0200 Subject: [PATCH 44/80] simplify CI deployment and testing --- .github/workflows/publish.yml | 139 +++------------------------------- .github/workflows/test.yml | 87 +++------------------ pyproject.toml | 6 +- 3 files changed, 27 insertions(+), 205 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4768e3dcd..3369c761d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,77 +6,28 @@ on: jobs: build: - name: Build wheels on ${{ matrix.os }}-${{ matrix.accelerator }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, ubuntu-24.04-arm, windows-2022, macos-latest] - accelerator: [cpu, cu118, cu126] #, cu128] - exclude: - - os: ubuntu-24.04-arm - accelerator: cu118 - - os: ubuntu-24.04-arm - accelerator: cu126 - # - os: ubuntu-24.04-arm - # accelerator: cu128 - - os: macos-latest - accelerator: cu118 - - os: macos-latest - accelerator: cu126 - # - os: macos-latest - # accelerator: cu128 + name: Create source distribution + runs-on: ubuntu-latest steps: - - name: Free space of Github Runner (otherwise it will fail by running out of disk) - if: matrix.os == 'ubuntu-latest' - run: | - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "/usr/local/.ghcup" - sudo rm -rf "/usr/local/julia1.9.2" - sudo rm -rf "/usr/local/lib/android" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: "3.13" - name: Install cibuildwheel - run: python -m pip install cibuildwheel==3.1.3 - - - name: Activate MSVC - uses: ilammy/msvc-dev-cmd@v1 - with: - toolset: 14.29 - if: matrix.os == 'windows-2022' + run: pip install build - - name: Build wheels - if: matrix.os != 'windows-2022' - shell: bash - run: python -m cibuildwheel --output-dir wheelhouse - env: - ACCELERATOR: ${{ matrix.accelerator }} - CPU_TRAIN: ${{ runner.os == 'macOS' && 'true' || 'false' }} - - - name: Build wheels - if: matrix.os == 'windows-2022' - shell: cmd # Use cmd on Windows to avoid bash environment taking priority over MSVC variables - run: python -m cibuildwheel --output-dir wheelhouse - env: - ACCELERATOR: ${{ matrix.accelerator }} - DISTUTILS_USE_SDK: "1" # Windows requires this to use vc for building - SKIP_TORCH_COMPILE: "true" + - name: Build pypi package + run: python -m build --sdist - uses: actions/upload-artifact@v4 with: - name: ${{ matrix.accelerator }}-cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} - path: ./wheelhouse/*.whl + name: source_dist + path: dist/*.tar.gz - publish-to-public-pypi: + publish-to-pypi: name: >- Publish Python 🐍 distribution 📦 to PyPI needs: @@ -84,18 +35,14 @@ jobs: runs-on: ubuntu-latest environment: name: pypi + url: https://pypi.org/p/torchmd-net permissions: id-token: write # IMPORTANT: mandatory for trusted publishing - strategy: - fail-fast: false - matrix: - accelerator: [cpu, cu118, cu126] #, hip, cu124, cu126, cu128] steps: - name: Download all the dists uses: actions/download-artifact@v4 with: - pattern: "${{ matrix.accelerator }}-cibw-wheels*" path: dist/ merge-multiple: true @@ -103,69 +50,7 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.TMDNET_PYPI_API_TOKEN }} - skip-existing: true - - # publish-to-accelera-pypi: - # name: >- - # Publish Python 🐍 distribution 📦 to Acellera PyPI - # needs: - # - build - # runs-on: ubuntu-latest - # permissions: # Needed for GCP authentication - # contents: "read" - # id-token: "write" - # strategy: - # fail-fast: false - # matrix: - # accelerator: [cpu, cu118, cu126, cu128] - - # steps: - # - uses: actions/checkout@v4 # Needed for GCP authentication for some reason - - # - name: Set up Cloud SDK - # uses: google-github-actions/auth@v2 - # with: - # workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }} - # service_account: ${{ secrets.GCP_PYPI_SERVICE_ACCOUNT }} - - # - name: Download all the dists - # uses: actions/download-artifact@v4 - # with: - # pattern: "${{ matrix.accelerator }}-cibw-wheels*" - # path: dist/ - # merge-multiple: true - - # - name: Publish distribution 📦 to Acellera PyPI - # run: | - # pip install build twine keyring keyrings.google-artifactregistry-auth - # pip install -U packaging - # twine upload --repository-url https://us-central1-python.pkg.dev/pypi-packages-455608/${{ matrix.accelerator }} dist/* --verbose --skip-existing - - # publish-to-official-pypi: - # name: >- - # Publish Python 🐍 distribution 📦 to PyPI - # needs: - # - build - # runs-on: ubuntu-latest - # environment: - # name: pypi - # url: https://pypi.org/p/torchmd-net - # permissions: - # id-token: write # IMPORTANT: mandatory for trusted publishing - - # steps: - # - name: Download all the dists - # uses: actions/download-artifact@v4 - # with: - # pattern: "cu118-cibw-wheels*" - # path: dist/ - # merge-multiple: true - - # - name: Publish distribution 📦 to PyPI - # uses: pypa/gh-action-pypi-publish@release/v1 - # with: - # password: ${{ secrets.TMDNET_PYPI_API_TOKEN }} - # skip_existing: true + skip_existing: true github-release: name: >- diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2644663ee..9a59cf442 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,93 +17,26 @@ jobs: ["ubuntu-latest", "ubuntu-22.04-arm", "macos-latest", "windows-2022"] python-version: ["3.13"] - defaults: # Needed for conda - run: - shell: bash -l {0} - steps: - name: Check out - uses: actions/checkout@v4 - - - uses: conda-incubator/setup-miniconda@v3 - with: - python-version: ${{ matrix.python-version }} - channels: conda-forge - conda-remove-defaults: "true" - if: matrix.os != 'macos-13' - - - uses: conda-incubator/setup-miniconda@v3 - with: - python-version: ${{ matrix.python-version }} - channels: conda-forge - mamba-version: "*" - conda-remove-defaults: "true" - if: matrix.os == 'macos-13' + uses: actions/checkout@v5 - - name: Install OS-specific compilers - run: | - if [[ "${{ matrix.os }}" == "ubuntu-22.04-arm" ]]; then - conda install gxx --channel conda-forge --override-channels - elif [[ "${{ runner.os }}" == "Linux" ]]; then - conda install gxx --channel conda-forge --override-channels - elif [[ "${{ runner.os }}" == "macOS" ]]; then - conda install llvm-openmp pybind11 --channel conda-forge --override-channels - echo "CC=clang" >> $GITHUB_ENV - echo "CXX=clang++" >> $GITHUB_ENV - elif [[ "${{ runner.os }}" == "Windows" ]]; then - conda install vc vc14_runtime vs2015_runtime --channel conda-forge --override-channels - fi - - - name: List the conda environment - run: conda list + - name: Install uv + uses: astral-sh/setup-uv@v7 - - name: Install testing packages - run: conda install -y -c conda-forge flake8 pytest psutil python-build + - name: Install the project + run: uv sync --locked --all-extras --dev - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + uv run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - - name: Set pytorch index - run: | - if [[ "${{ runner.os }}" == "Windows" ]]; then - mkdir -p "C:\ProgramData\pip" - echo "[global] - extra-index-url = https://download.pytorch.org/whl/cpu" > "C:\ProgramData\pip\pip.ini" - else - mkdir -p $HOME/.config/pip - echo "[global] - extra-index-url = https://download.pytorch.org/whl/cpu" > $HOME/.config/pip/pip.conf - fi - - - name: Build and install the package - run: | - if [[ "${{ runner.os }}" == "Windows" ]]; then - export LIB="C:/Miniconda/envs/test/Library/lib" - fi - python -m build - pip install dist/*.whl - env: - ACCELERATOR: "cpu" - - # - name: Install nnpops - # if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' - # run: conda install nnpops --channel conda-forge --override-channels - - - name: List the conda environment - run: conda list + uv run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Run tests - run: pytest -v -s --durations=10 - env: - ACCELERATOR: "cpu" - SKIP_TORCH_COMPILE: ${{ runner.os == 'Windows' && 'true' || 'false' }} - OMP_PREFIX: ${{ runner.os == 'macOS' && '/Users/runner/miniconda3/envs/test' || '' }} - CPU_TRAIN: ${{ runner.os == 'macOS' && 'true' || 'false' }} - LONG_TRAIN: "true" + # For example, using `pytest` + run: uv run pytest tests - name: Test torchmd-train utility - run: torchmd-train --help + run: uv run torchmd-train --help diff --git a/pyproject.toml b/pyproject.toml index 0b2f2b57b..c11983b73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,7 +42,11 @@ requires = ["setuptools>=78", "setuptools-scm>=8"] build-backend = "setuptools.build_meta" [dependency-groups] -dev = ["ipython>=8.18.1", "pytest>=8.4.2"] +dev = [ + "flake8>=7.3.0", + "ipython>=8.18.1", + "pytest>=8.4.2", +] [tool.uv.sources] torch = [ From 82df594eddb3b1e344eddda093facc12d2cb6626 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:39:18 +0200 Subject: [PATCH 45/80] try without lock file --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9a59cf442..dbb7a6338 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,7 +25,7 @@ jobs: uses: astral-sh/setup-uv@v7 - name: Install the project - run: uv sync --locked --all-extras --dev + run: uv sync --all-extras --dev - name: Lint with flake8 run: | From 697ba5714a29dfc2508e8cb3e889de736622f0ff Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:41:36 +0200 Subject: [PATCH 46/80] fix for flake? --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dbb7a6338..9feeb8bae 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,9 +30,9 @@ jobs: - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names - uv run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + uv run flake8 ./torchmdnet --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - uv run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + uv run flake8 ./torchmdnet --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Run tests # For example, using `pytest` From e876132bfb5f1a36a45ed321833d67aa4ca45e87 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:44:04 +0200 Subject: [PATCH 47/80] fix python version --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9feeb8bae..bb9a2101b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,6 +23,8 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v7 + with: + python-version: ${{ matrix.python-version }} - name: Install the project run: uv sync --all-extras --dev From 9fed54aa458ca861063be7df8fe6c8f1361e9acb Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:45:58 +0200 Subject: [PATCH 48/80] don't use cuda on ARM machines --- pyproject.toml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c11983b73..376ceb3d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,18 +42,14 @@ requires = ["setuptools>=78", "setuptools-scm>=8"] build-backend = "setuptools.build_meta" [dependency-groups] -dev = [ - "flake8>=7.3.0", - "ipython>=8.18.1", - "pytest>=8.4.2", -] +dev = ["flake8>=7.3.0", "ipython>=8.18.1", "pytest>=8.4.2"] [tool.uv.sources] torch = [ - { index = "pytorch-cu126", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { index = "pytorch-cu126", marker = "(sys_platform == 'linux' or sys_platform == 'win32') and platform_machine != 'aarch64' and platform_machine != 'arm64'" }, ] torchvision = [ - { index = "pytorch-cu126", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, + { index = "pytorch-cu126", marker = "(sys_platform == 'linux' or sys_platform == 'win32') and platform_machine != 'aarch64' and platform_machine != 'arm64'" }, ] [[tool.uv.index]] From 28eda0ed3a8bb38251f9285ea0f61640372179cc Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:47:37 +0200 Subject: [PATCH 49/80] don't try except in compilable code --- torchmdnet/extensions/ops.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index d1c0cb9c2..af31335c6 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -12,6 +12,14 @@ from typing import Tuple import logging +try: + import triton + + HAS_TRITON = True +except ImportError: + HAS_TRITON = False + + logger = logging.getLogger(__name__) __all__ = ["get_neighbor_pairs_kernel"] @@ -69,13 +77,6 @@ def get_neighbor_pairs_kernel( num_pairs : Tensor The number of pairs found. """ - try: - import triton - - HAS_TRITON = True - except ImportError: - HAS_TRITON = False - if torch.jit.is_scripting() or not positions.is_cuda: from torchmdnet.extensions.neighbors import torch_neighbor_bruteforce From a6e4e87edf1ced9124473e4646aec2c963669812 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:49:20 +0200 Subject: [PATCH 50/80] no triton on aarch64 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 376ceb3d7..fd87b55e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ "lightning", "tqdm", "numpy", - "triton; sys_platform == 'linux'", + "triton; sys_platform == 'linux' and platform_machine != 'aarch64'", "triton-windows; sys_platform == 'win32'", ] From 7fbb4e22f44c97d9491b5f8638d21f3b8fd4788c Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 16:57:00 +0200 Subject: [PATCH 51/80] cannot use delayed imports with torchscript --- torchmdnet/extensions/ops.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/torchmdnet/extensions/ops.py b/torchmdnet/extensions/ops.py index af31335c6..a9ebbce24 100644 --- a/torchmdnet/extensions/ops.py +++ b/torchmdnet/extensions/ops.py @@ -11,9 +11,11 @@ from torch import Tensor from typing import Tuple import logging +from torchmdnet.extensions.neighbors import torch_neighbor_bruteforce try: import triton + from torchmdnet.extensions.triton_neighbors import triton_neighbor_pairs HAS_TRITON = True except ImportError: @@ -78,7 +80,6 @@ def get_neighbor_pairs_kernel( The number of pairs found. """ if torch.jit.is_scripting() or not positions.is_cuda: - from torchmdnet.extensions.neighbors import torch_neighbor_bruteforce return torch_neighbor_bruteforce( positions, @@ -108,8 +109,6 @@ def get_neighbor_pairs_kernel( include_transpose=include_transpose, ) - from torchmdnet.extensions.triton_neighbors import triton_neighbor_pairs - return triton_neighbor_pairs( strategy, positions=positions, From 807733cbf00acc474ca1b00ec1501d6414d8375a Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Tue, 16 Dec 2025 17:11:59 +0200 Subject: [PATCH 52/80] add ase as a dep --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index fd87b55e6..3ca2c22e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,6 +20,7 @@ dependencies = [ "numpy", "triton; sys_platform == 'linux' and platform_machine != 'aarch64'", "triton-windows; sys_platform == 'win32'", + "ase", ] [project.urls] From f12b4d8492a0e5f7e0ee22d371157f5f345d3cc6 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 09:28:18 +0200 Subject: [PATCH 53/80] unfreeze torch version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3ca2c22e9..5939d1b95 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ classifiers = [ dependencies = [ "h5py", # "nnpops", - "torch==2.7.1", + "torch", "torch_geometric", "lightning", "tqdm", From 53652e86421a74932c6609b369193e3f5f723363 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 09:32:53 +0200 Subject: [PATCH 54/80] fix the OSX issue with MPS not supporting float64 --- tests/test_module.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test_module.py b/tests/test_module.py index 021672472..7f55418f2 100644 --- a/tests/test_module.py +++ b/tests/test_module.py @@ -43,6 +43,10 @@ def test_train(model_name, use_atomref, precision, tmpdir): # OSX MPS backend runs out of memory on Github Actions torch.set_default_device("cpu") accelerator = "cpu" + elif precision == 64 and torch.backends.mps.is_available(): + # MPS backend doesn't support float64 + torch.set_default_device("cpu") + accelerator = "cpu" args = load_example_args( model_name, @@ -95,6 +99,10 @@ def test_dummy_train(model_name, use_atomref, precision, tmpdir): # OSX MPS backend runs out of memory on Github Actions torch.set_default_device("cpu") accelerator = "cpu" + elif precision == 64 and torch.backends.mps.is_available(): + # MPS backend doesn't support float64 + torch.set_default_device("cpu") + accelerator = "cpu" extra_args = {} if model_name != "tensornet": From 51dd170ecbdfe084a0d67de8fe950aefc16d5501 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 09:42:20 +0200 Subject: [PATCH 55/80] added test for scripting, then compiling --- tests/test_model.py | 38 ++++++++++++++++++++++++++++++++++++++ tests/test_neighbors.py | 2 -- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/tests/test_model.py b/tests/test_model.py index 323c0fa67..2f85069cb 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -88,6 +88,44 @@ def forward(self, z, pos, batch): torch.jit.script(MyModel()) +@mark.parametrize("model_name", models.__all_models__) +@mark.parametrize("device", ["cpu", "cuda"]) +def test_torchscript_then_compile(model_name, device): + """Test that a TorchScripted model can be torch.compiled afterwards. + + This is important for scenarios like OpenMM-Torch where a model is + saved as TorchScript and later someone tries to torch.compile it. + """ + if device == "cuda" and not torch.cuda.is_available(): + pytest.skip("CUDA not available") + + # Create and TorchScript the model + z, pos, batch = create_example_batch() + z = z.to(device) + pos = pos.to(device).requires_grad_(True) + batch = batch.to(device) + + scripted_model = torch.jit.script( + create_model(load_example_args(model_name, remove_prior=True, derivative=True)) + ).to(device=device) + + # Get baseline output from scripted model + y_scripted, neg_dy_scripted = scripted_model(z, pos, batch=batch) + + # Now try to torch.compile the scripted model + try: + compiled_model = torch.compile(scripted_model, backend="inductor") + y_compiled, neg_dy_compiled = compiled_model(z, pos, batch=batch) + + # Verify outputs match + torch.testing.assert_close(y_scripted, y_compiled, atol=1e-5, rtol=1e-5) + torch.testing.assert_close( + neg_dy_scripted, neg_dy_compiled, atol=1e-5, rtol=1e-5 + ) + except Exception as e: + pytest.fail(f"torch.compile failed on TorchScripted {model_name} model: {e}") + + @mark.parametrize("model_name", models.__all_models__) @mark.parametrize("device", ["cpu", "cuda"]) def test_torchscript_dynamic_shapes(model_name, device): diff --git a/tests/test_neighbors.py b/tests/test_neighbors.py index 847f88fa4..92d6e0095 100644 --- a/tests/test_neighbors.py +++ b/tests/test_neighbors.py @@ -692,8 +692,6 @@ def test_torch_compile(device, dtype, loop, include_transpose): if sys.version_info >= (3, 12): pytest.skip("Not available in this version") - if torch.__version__ < "2.0.0": - pytest.skip("Not available in this version") if device == "cuda" and not torch.cuda.is_available(): pytest.skip("CUDA not available") np.random.seed(123456) From d2ac996cc4009d774c34a5f42a7fc813733c9bdf Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 10:29:23 +0200 Subject: [PATCH 56/80] fix cuda graphing of torchscripted models. update tests --- tests/test_model.py | 100 +++++++++++++++++----------- torchmdnet/models/output_modules.py | 4 +- 2 files changed, 65 insertions(+), 39 deletions(-) diff --git a/tests/test_model.py b/tests/test_model.py index 2f85069cb..6927a5f21 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -88,44 +88,6 @@ def forward(self, z, pos, batch): torch.jit.script(MyModel()) -@mark.parametrize("model_name", models.__all_models__) -@mark.parametrize("device", ["cpu", "cuda"]) -def test_torchscript_then_compile(model_name, device): - """Test that a TorchScripted model can be torch.compiled afterwards. - - This is important for scenarios like OpenMM-Torch where a model is - saved as TorchScript and later someone tries to torch.compile it. - """ - if device == "cuda" and not torch.cuda.is_available(): - pytest.skip("CUDA not available") - - # Create and TorchScript the model - z, pos, batch = create_example_batch() - z = z.to(device) - pos = pos.to(device).requires_grad_(True) - batch = batch.to(device) - - scripted_model = torch.jit.script( - create_model(load_example_args(model_name, remove_prior=True, derivative=True)) - ).to(device=device) - - # Get baseline output from scripted model - y_scripted, neg_dy_scripted = scripted_model(z, pos, batch=batch) - - # Now try to torch.compile the scripted model - try: - compiled_model = torch.compile(scripted_model, backend="inductor") - y_compiled, neg_dy_compiled = compiled_model(z, pos, batch=batch) - - # Verify outputs match - torch.testing.assert_close(y_scripted, y_compiled, atol=1e-5, rtol=1e-5) - torch.testing.assert_close( - neg_dy_scripted, neg_dy_compiled, atol=1e-5, rtol=1e-5 - ) - except Exception as e: - pytest.fail(f"torch.compile failed on TorchScripted {model_name} model: {e}") - - @mark.parametrize("model_name", models.__all_models__) @mark.parametrize("device", ["cpu", "cuda"]) def test_torchscript_dynamic_shapes(model_name, device): @@ -199,6 +161,68 @@ def test_cuda_graph_compatible(model_name): assert torch.allclose(neg_dy, neg_dy2, atol=1e-5, rtol=1e-5) +@mark.parametrize("model_name", ["tensornet"]) +def test_torchscript_cuda_graph_compatible(model_name): + """Test that a TorchScripted model is compatible with CUDA graphs. + + This is important when models are saved as TorchScript + and then CUDA graphs are used for performance. + """ + if not torch.cuda.is_available(): + pytest.skip("CUDA not available") + z, pos, batch = create_example_batch() + args = { + "model": model_name, + "embedding_dimension": 128, + "num_layers": 2, + "num_rbf": 32, + "rbf_type": "expnorm", + "trainable_rbf": False, + "activation": "silu", + "cutoff_lower": 0.0, + "cutoff_upper": 5.0, + "max_z": 100, + "max_num_neighbors": 128, + "equivariance_invariance_group": "O(3)", + "prior_model": None, + "atom_filter": -1, + "derivative": True, + "check_errors": False, + "static_shapes": True, + "output_model": "Scalar", + "reduce_op": "sum", + "precision": 32, + } + # Create the model + base_model = create_model(args) + # Setup for CUDA graphs before TorchScripting + # This sets up dim_size and setup_for_compile flag + z_cuda = z.to("cuda") + pos_cuda = pos.to("cuda").requires_grad_(True) + batch_cuda = batch.to("cuda") + base_model.representation_model.setup_for_compile_cudagraphs(batch_cuda) + base_model.output_model.setup_for_compile_cudagraphs(batch_cuda) + + # Now TorchScript the model (like OpenMM-Torch does) + model = torch.jit.script(base_model).to(device="cuda") + model.eval() + + # Warm up the model + with torch.cuda.stream(torch.cuda.Stream()): + for _ in range(0, 15): + y, neg_dy = model(z_cuda, pos_cuda, batch=batch_cuda) + # Capture the model in a CUDA graph + g = torch.cuda.CUDAGraph() + y2, neg_dy2 = model(z_cuda, pos_cuda, batch=batch_cuda) + with torch.cuda.graph(g): + y, neg_dy = model(z_cuda, pos_cuda, batch=batch_cuda) + y.fill_(0.0) + neg_dy.fill_(0.0) + g.replay() + assert torch.allclose(y, y2) + assert torch.allclose(neg_dy, neg_dy2, atol=1e-5, rtol=1e-5) + + @mark.parametrize("model_name", models.__all_models__) def test_seed(model_name): args = load_example_args(model_name, remove_prior=True) diff --git a/torchmdnet/models/output_modules.py b/torchmdnet/models/output_modules.py index 26bf83c0b..e883f1a10 100644 --- a/torchmdnet/models/output_modules.py +++ b/torchmdnet/models/output_modules.py @@ -46,7 +46,9 @@ def pre_reduce(self, x, v, z, pos, batch): def reduce(self, x, batch): if torch.jit.is_scripting(): # TorchScript doesn't support torch.cuda.is_current_stream_capturing() - self.dim_size = int(batch.max().item() + 1) + # For CUDA graphs with TorchScript (e.g., OpenMM-Torch), setup_for_compile must be True + if not self.setup_for_compile: + self.dim_size = int(batch.max().item() + 1) elif not self.setup_for_compile: is_capturing = x.is_cuda and torch.cuda.is_current_stream_capturing() if not x.is_cuda or not is_capturing: From 1a535e6b766865fd31984b3ba7f0c62d57e6da75 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 10:48:12 +0200 Subject: [PATCH 57/80] restore script+compile test --- tests/test_model.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/test_model.py b/tests/test_model.py index 6927a5f21..6c1c3d350 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -114,6 +114,40 @@ def test_torchscript_dynamic_shapes(model_name, device): )[0] +@mark.parametrize("model_name", models.__all_models__) +@mark.parametrize("device", ["cpu", "cuda"]) +def test_torchscript_then_compile(model_name, device): + """Test that a TorchScripted model can be torch.compiled afterwards""" + if device == "cuda" and not torch.cuda.is_available(): + pytest.skip("CUDA not available") + + # Create and TorchScript the model + z, pos, batch = create_example_batch() + z = z.to(device) + pos = pos.to(device).requires_grad_(True) + batch = batch.to(device) + + scripted_model = torch.jit.script( + create_model(load_example_args(model_name, remove_prior=True, derivative=True)) + ).to(device=device) + + # Get baseline output from scripted model + y_scripted, neg_dy_scripted = scripted_model(z, pos, batch=batch) + + # Now try to torch.compile the scripted model + try: + compiled_model = torch.compile(scripted_model, backend="inductor") + y_compiled, neg_dy_compiled = compiled_model(z, pos, batch=batch) + + # Verify outputs match + torch.testing.assert_close(y_scripted, y_compiled, atol=1e-5, rtol=1e-5) + torch.testing.assert_close( + neg_dy_scripted, neg_dy_compiled, atol=1e-5, rtol=1e-5 + ) + except Exception as e: + pytest.fail(f"torch.compile failed on TorchScripted {model_name} model: {e}") + + # Currently only tensornet is CUDA graph compatible @mark.parametrize("model_name", ["tensornet"]) def test_cuda_graph_compatible(model_name): From 1dd9fd1c0bdf4d6d2b9d0fc73f039b5abdddc617 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 11:19:09 +0200 Subject: [PATCH 58/80] get rid of setup_for_compile_cudagraphs --- tests/test_model.py | 3 --- torchmdnet/calculators.py | 2 -- torchmdnet/models/model.py | 1 + torchmdnet/models/output_modules.py | 42 ++++++++++++++++------------- torchmdnet/models/tensornet.py | 3 --- torchmdnet/models/utils.py | 8 ------ 6 files changed, 25 insertions(+), 34 deletions(-) diff --git a/tests/test_model.py b/tests/test_model.py index 6c1c3d350..65ca3863e 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -230,12 +230,9 @@ def test_torchscript_cuda_graph_compatible(model_name): # Create the model base_model = create_model(args) # Setup for CUDA graphs before TorchScripting - # This sets up dim_size and setup_for_compile flag z_cuda = z.to("cuda") pos_cuda = pos.to("cuda").requires_grad_(True) batch_cuda = batch.to("cuda") - base_model.representation_model.setup_for_compile_cudagraphs(batch_cuda) - base_model.output_model.setup_for_compile_cudagraphs(batch_cuda) # Now TorchScript the model (like OpenMM-Torch does) model = torch.jit.script(base_model).to(device="cuda") diff --git a/torchmdnet/calculators.py b/torchmdnet/calculators.py index 662f7b7a4..29ec02a88 100644 --- a/torchmdnet/calculators.py +++ b/torchmdnet/calculators.py @@ -269,8 +269,6 @@ def calculate( print("atomic numbers changed, re-compiling...") - self.model.representation_model.setup_for_compile_cudagraphs(batch) - self.model.output_model.setup_for_compile_cudagraphs(batch) self.model.to(self.device) self.compiled_model = torch.compile(self.model, backend='inductor', dynamic=False, fullgraph=True, mode='reduce-overhead') self.compiled = True diff --git a/torchmdnet/models/model.py b/torchmdnet/models/model.py index b7c8398cc..4d5f779cf 100644 --- a/torchmdnet/models/model.py +++ b/torchmdnet/models/model.py @@ -127,6 +127,7 @@ def create_model(args, prior_model=None, mean=None, std=None): activation=args["activation"], reduce_op=args["reduce_op"], dtype=dtype, + static_shapes=args.get("static_shapes", False), num_hidden_layers=args.get("output_mlp_num_layers", 0), ) diff --git a/torchmdnet/models/output_modules.py b/torchmdnet/models/output_modules.py index e883f1a10..e2265cada 100644 --- a/torchmdnet/models/output_modules.py +++ b/torchmdnet/models/output_modules.py @@ -6,12 +6,7 @@ from typing import Optional import torch from torch import nn -from torchmdnet.models.utils import ( - act_class_mapping, - GatedEquivariantBlock, - scatter, - MLP, -) +from torchmdnet.models.utils import GatedEquivariantBlock, scatter, MLP from torchmdnet.utils import atomic_masses from warnings import warn @@ -25,20 +20,16 @@ class OutputModel(nn.Module, metaclass=ABCMeta): As an example, have a look at the :py:mod:`torchmdnet.output_modules.Scalar` output model. """ - def __init__(self, allow_prior_model, reduce_op): + def __init__(self, allow_prior_model, reduce_op, static_shapes=False): super(OutputModel, self).__init__() self.allow_prior_model = allow_prior_model self.reduce_op = reduce_op + self.static_shapes = static_shapes self.dim_size = 0 - self.setup_for_compile = False def reset_parameters(self): pass - def setup_for_compile_cudagraphs(self, batch): - self.dim_size = int(batch.max().item() + 1) - self.setup_for_compile = True - @abstractmethod def pre_reduce(self, x, v, z, pos, batch): return @@ -46,10 +37,12 @@ def pre_reduce(self, x, v, z, pos, batch): def reduce(self, x, batch): if torch.jit.is_scripting(): # TorchScript doesn't support torch.cuda.is_current_stream_capturing() - # For CUDA graphs with TorchScript (e.g., OpenMM-Torch), setup_for_compile must be True - if not self.setup_for_compile: + # For CPU, always update dim_size (no CUDA graphs on CPU) + # For CUDA with static_shapes, only update once (first call sets dim_size for CUDA graph capture) + # For CUDA without static_shapes, always update (dynamic batch sizes) + if not x.is_cuda or not self.static_shapes or self.dim_size == 0: self.dim_size = int(batch.max().item() + 1) - elif not self.setup_for_compile: + else: is_capturing = x.is_cuda and torch.cuda.is_current_stream_capturing() if not x.is_cuda or not is_capturing: self.dim_size = int(batch.max().item() + 1) @@ -76,10 +69,13 @@ def __init__( allow_prior_model=True, reduce_op="sum", dtype=torch.float, + static_shapes=False, **kwargs, ): super(Scalar, self).__init__( - allow_prior_model=allow_prior_model, reduce_op=reduce_op + allow_prior_model=allow_prior_model, + reduce_op=reduce_op, + static_shapes=static_shapes, ) self.output_network = MLP( in_channels=hidden_channels, @@ -106,10 +102,13 @@ def __init__( allow_prior_model=True, reduce_op="sum", dtype=torch.float, + static_shapes=False, **kwargs, ): super(EquivariantScalar, self).__init__( - allow_prior_model=allow_prior_model, reduce_op=reduce_op + allow_prior_model=allow_prior_model, + reduce_op=reduce_op, + static_shapes=static_shapes, ) if kwargs.get("num_layers", 0) > 0: warn("num_layers is not used in EquivariantScalar") @@ -148,6 +147,7 @@ def __init__( activation="silu", reduce_op="sum", dtype=torch.float, + static_shapes=False, **kwargs, ): super(DipoleMoment, self).__init__( @@ -156,6 +156,7 @@ def __init__( allow_prior_model=False, reduce_op=reduce_op, dtype=dtype, + static_shapes=static_shapes, **kwargs, ) atomic_mass = torch.from_numpy(atomic_masses).to(dtype) @@ -181,6 +182,7 @@ def __init__( activation="silu", reduce_op="sum", dtype=torch.float, + static_shapes=False, **kwargs, ): super(EquivariantDipoleMoment, self).__init__( @@ -189,6 +191,7 @@ def __init__( allow_prior_model=False, reduce_op=reduce_op, dtype=dtype, + static_shapes=static_shapes, **kwargs, ) atomic_mass = torch.from_numpy(atomic_masses).to(dtype) @@ -215,10 +218,11 @@ def __init__( activation="silu", reduce_op="sum", dtype=torch.float, + static_shapes=False, **kwargs, ): super(ElectronicSpatialExtent, self).__init__( - allow_prior_model=False, reduce_op=reduce_op + allow_prior_model=False, reduce_op=reduce_op, static_shapes=static_shapes ) self.output_network = MLP( in_channels=hidden_channels, @@ -258,6 +262,7 @@ def __init__( activation="silu", reduce_op="sum", dtype=torch.float, + static_shapes=False, **kwargs, ): super(EquivariantVectorOutput, self).__init__( @@ -266,6 +271,7 @@ def __init__( allow_prior_model=False, reduce_op="sum", dtype=dtype, + static_shapes=static_shapes, **kwargs, ) diff --git a/torchmdnet/models/tensornet.py b/torchmdnet/models/tensornet.py index 23a3c2683..9aec148ca 100644 --- a/torchmdnet/models/tensornet.py +++ b/torchmdnet/models/tensornet.py @@ -218,9 +218,6 @@ def reset_parameters(self): self.linear.reset_parameters() self.out_norm.reset_parameters() - def setup_for_compile_cudagraphs(self, batch): - self.distance.setup_for_compile_cudagraphs() - def forward( self, z: Tensor, diff --git a/torchmdnet/models/utils.py b/torchmdnet/models/utils.py index 21f85d9b5..48668d120 100644 --- a/torchmdnet/models/utils.py +++ b/torchmdnet/models/utils.py @@ -233,14 +233,6 @@ def __init__( self.check_errors = check_errors self.long_edge_index = long_edge_index - def setup_for_compile_cudagraphs(self): - # box needs to be a buffer to it moves to correct device, otherwise we can end - # up with torch.compile failing to use cuda graphs with "skipping cudagraphs due to skipping cudagraphs due to cpu device (primals_3)." - # we cant just make it a buffer in the constructor above because then old state dicts will fail to load - _box = self.box - del self.box - self.register_buffer('box', _box) - def forward( self, pos: Tensor, batch: Optional[Tensor] = None, box: Optional[Tensor] = None ) -> Tuple[Tensor, Tensor, Optional[Tensor]]: From 56c5e4984755eef479abe69ff542b3c023df954b Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 12:41:01 +0200 Subject: [PATCH 59/80] fix test warnings --- tests/test_datasets.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/tests/test_datasets.py b/tests/test_datasets.py index 7402f8f31..736bc8a28 100644 --- a/tests/test_datasets.py +++ b/tests/test_datasets.py @@ -84,19 +84,17 @@ def test_custom(energy, forces, num_files, preload, tmpdir): # Assert shapes of whole dataset: for i in range(len(data)): n_atoms_i = n_atoms_per_sample[i] - assert np.array(data[i].z).shape == ( + assert data[i].z.shape == ( n_atoms_i, ), "Dataset has incorrect atom numbers shape" - assert np.array(data[i].pos).shape == ( + assert data[i].pos.shape == ( n_atoms_i, 3, ), "Dataset has incorrect coords shape" if energy: - assert np.array(data[i].y).shape == ( - 1, - ), "Dataset has incorrect energy shape" + assert data[i].y.shape == (1,), "Dataset has incorrect energy shape" if forces: - assert np.array(data[i].neg_dy).shape == ( + assert data[i].neg_dy.shape == ( n_atoms_i, 3, ), "Dataset has incorrect forces shape" @@ -190,19 +188,17 @@ def test_hdf5(preload, energy, forces, num_files, tmpdir): # Assert shapes of whole dataset: for i in range(len(data)): n_atoms_i = n_atoms_per_sample[i] - assert np.array(data[i].z).shape == ( + assert data[i].z.shape == ( n_atoms_i, ), "Dataset has incorrect atom numbers shape" - assert np.array(data[i].pos).shape == ( + assert data[i].pos.shape == ( n_atoms_i, 3, ), "Dataset has incorrect coords shape" if energy: - assert np.array(data[i].y).shape == ( - 1, - ), "Dataset has incorrect energy shape" + assert data[i].y.shape == (1,), "Dataset has incorrect energy shape" if forces: - assert np.array(data[i].neg_dy).shape == ( + assert data[i].neg_dy.shape == ( n_atoms_i, 3, ), "Dataset has incorrect forces shape" From 2ae3370c0d9b87068135e4a46d1b4f52c61799fc Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 12:43:30 +0200 Subject: [PATCH 60/80] undo some changes to benchmarks --- benchmarks/neighbors.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/benchmarks/neighbors.py b/benchmarks/neighbors.py index 515a66b74..58209c4d7 100644 --- a/benchmarks/neighbors.py +++ b/benchmarks/neighbors.py @@ -11,9 +11,6 @@ from torch_cluster import radius_graph -water_density = 0.0334 * 3 # Atoms/A^3 - - class Distance(nn.Module): def __init__( self, @@ -123,8 +120,6 @@ def benchmark_neighbors( n_atoms_per_batch[i] -= 1 difference += 1 lbox = np.cbrt(num_particles / density) - lbox = max(lbox, 2 * cutoff + 0.01) - assert lbox > 2 * cutoff, "Box size must be greater than 2*cutoff" batch = torch.repeat_interleave( torch.arange(n_batches, dtype=torch.int64), n_atoms_per_batch ).to(device) From 390011c0c0724ccd0a64b8a7be2f463eabc7c242 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 13:13:58 +0200 Subject: [PATCH 61/80] rename caffeine --- examples/aceff_examples/ase_aceff.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/aceff_examples/ase_aceff.py b/examples/aceff_examples/ase_aceff.py index 9c9ceaf15..b4220ddc6 100644 --- a/examples/aceff_examples/ase_aceff.py +++ b/examples/aceff_examples/ase_aceff.py @@ -17,7 +17,7 @@ # We create the ASE calculator by supplying the path to the model and specifying the device and dtype calc = TMDNETCalculator(model_file_path, device='cuda') -atoms = read('caffiene.pdb') +atoms = read('caffeine.pdb') print(atoms) atoms.calc = calc From 54e7ac167088dc119d1eb19ce376ac877bd9bd77 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 13:14:28 +0200 Subject: [PATCH 62/80] calculators should warmup before recompiling --- torchmdnet/calculators.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/torchmdnet/calculators.py b/torchmdnet/calculators.py index 29ec02a88..dbf1e6b27 100644 --- a/torchmdnet/calculators.py +++ b/torchmdnet/calculators.py @@ -268,8 +268,12 @@ def calculate( else: print("atomic numbers changed, re-compiling...") - + # Warmup pass to set dim_size before compilation + # This is needed because torch.compile doesn't support .item() calls self.model.to(self.device) + with torch.no_grad(): + _ = self.model(numbers, positions, batch=batch, q=total_charge) + self.compiled_model = torch.compile(self.model, backend='inductor', dynamic=False, fullgraph=True, mode='reduce-overhead') self.compiled = True From d5c9aba35606bf00eaf5c6ddc74d8bda7fed573e Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 13:14:53 +0200 Subject: [PATCH 63/80] catch in output_modules also the case where we are compiling --- torchmdnet/models/output_modules.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/torchmdnet/models/output_modules.py b/torchmdnet/models/output_modules.py index e2265cada..897a686ff 100644 --- a/torchmdnet/models/output_modules.py +++ b/torchmdnet/models/output_modules.py @@ -35,7 +35,14 @@ def pre_reduce(self, x, v, z, pos, batch): return def reduce(self, x, batch): - if torch.jit.is_scripting(): + # torch.compile doesn't support .item() calls, so we skip dim_size updates during compilation + # The model should be warmed up before compilation to set the correct dim_size + if torch.compiler.is_compiling(): + # During compilation, rely on pre-set dim_size + # For static_shapes, dim_size should be set during warmup + # For dynamic shapes, torch.compile may not work well anyway + pass + elif torch.jit.is_scripting(): # TorchScript doesn't support torch.cuda.is_current_stream_capturing() # For CPU, always update dim_size (no CUDA graphs on CPU) # For CUDA with static_shapes, only update once (first call sets dim_size for CUDA graph capture) From d1273bf9609e05f0d37b1ff1c3d4ba3c6944d6b7 Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 13:25:42 +0200 Subject: [PATCH 64/80] int32 dtype for neighbor list and num_pairs --- torchmdnet/extensions/triton_brute.py | 8 +++----- torchmdnet/extensions/triton_cell.py | 7 +++---- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/torchmdnet/extensions/triton_brute.py b/torchmdnet/extensions/triton_brute.py index 52e597f4c..0fbdde362 100644 --- a/torchmdnet/extensions/triton_brute.py +++ b/torchmdnet/extensions/triton_brute.py @@ -215,10 +215,10 @@ def forward( # type: ignore[override] # Use stride 0 to broadcast single box to all batches (avoids CPU sync) box_stride_0 = 0 if box_vectors.size(0) == 1 else box_vectors.stride(0) - neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.int32) deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) - counter = torch.zeros((1,), device=device, dtype=torch.int32) + num_pairs = torch.zeros((1,), device=device, dtype=torch.int32) # Compute triangular pair count: n*(n-1)/2 without self-loops, n*(n+1)/2 with if loop: @@ -237,7 +237,7 @@ def forward( # type: ignore[override] neighbors[1], deltas, distances, - counter, + num_pairs, positions.stride(0), positions.stride(1), batch.stride(0), @@ -255,8 +255,6 @@ def forward( # type: ignore[override] BLOCK=256, ) - num_pairs = counter.to(torch.long) - ctx.save_for_backward(neighbors, deltas, distances) ctx.num_atoms = n_atoms return neighbors, deltas, distances, num_pairs diff --git a/torchmdnet/extensions/triton_cell.py b/torchmdnet/extensions/triton_cell.py index ee39db7c4..cca26e68e 100644 --- a/torchmdnet/extensions/triton_cell.py +++ b/torchmdnet/extensions/triton_cell.py @@ -403,10 +403,10 @@ def forward( ) # Allocate outputs - neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.long) + neighbors = torch.full((2, max_num_pairs), -1, device=device, dtype=torch.int32) deltas = torch.zeros((max_num_pairs, 3), device=device, dtype=dtype) distances = torch.zeros((max_num_pairs,), device=device, dtype=dtype) - counter = torch.zeros((1,), device=device, dtype=torch.int32) + num_pairs = torch.zeros((1,), device=device, dtype=torch.int32) # Launch kernel: one program per cell # BATCH_SIZE: process atoms in batches for vectorized compute @@ -425,7 +425,7 @@ def forward( neighbors, deltas, distances, - counter, + num_pairs, max_num_pairs, cutoff_lower**2, cutoff_upper**2, @@ -434,7 +434,6 @@ def forward( include_transpose=include_transpose, BATCH_SIZE=BATCH_SIZE, ) - num_pairs = counter.to(torch.long) ctx.save_for_backward(neighbors, deltas, distances) ctx.num_atoms = n_atoms From 36c335b7359adca4e0eab19b6352af042720fa3d Mon Sep 17 00:00:00 2001 From: Stefan Doerr Date: Wed, 17 Dec 2025 14:25:01 +0200 Subject: [PATCH 65/80] added test for ASE calculator --- tests/caffeine.pdb | 51 ++++++++++++++++++++++++++ tests/example_tensornet.ckpt | Bin 0 -> 6488740 bytes tests/test_calculator.py | 67 +++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 tests/caffeine.pdb create mode 100644 tests/example_tensornet.ckpt diff --git a/tests/caffeine.pdb b/tests/caffeine.pdb new file mode 100644 index 000000000..080ed8f97 --- /dev/null +++ b/tests/caffeine.pdb @@ -0,0 +1,51 @@ +MODEL 1 +HETATM 1 O UNL 1 0.470 2.569 0.001 1.00 0.00 O +HETATM 2 O UNL 2 -3.127 -0.444 -0.000 1.00 0.00 O +HETATM 3 N UNL 3 -0.969 -1.312 0.000 1.00 0.00 N +HETATM 4 N UNL 4 2.218 0.141 -0.000 1.00 0.00 N +HETATM 5 N UNL 5 -1.348 1.080 -0.000 1.00 0.00 N +HETATM 6 N UNL 6 1.412 -1.937 0.000 1.00 0.00 N +HETATM 7 C UNL 7 0.858 0.259 -0.001 1.00 0.00 C +HETATM 8 C UNL 8 0.390 -1.026 -0.000 1.00 0.00 C +HETATM 9 C UNL 9 0.031 1.422 -0.001 1.00 0.00 C +HETATM 10 C UNL 10 -1.906 -0.249 -0.000 1.00 0.00 C +HETATM 11 C UNL 11 2.503 -1.200 0.000 1.00 0.00 C +HETATM 12 C UNL 12 -1.428 -2.696 0.001 1.00 0.00 C +HETATM 13 C UNL 13 3.193 1.206 0.000 1.00 0.00 C +HETATM 14 C UNL 14 -2.297 2.188 0.001 1.00 0.00 C +HETATM 15 H UNL 15 3.516 -1.579 0.001 1.00 0.00 H +HETATM 16 H UNL 16 -1.045 -3.197 -0.894 1.00 0.00 H +HETATM 17 H UNL 17 -2.519 -2.760 0.001 1.00 0.00 H +HETATM 18 H UNL 18 -1.045 -3.196 0.896 1.00 0.00 H +HETATM 19 H UNL 19 4.199 0.780 0.000 1.00 0.00 H +HETATM 20 H UNL 20 3.047 1.809 -0.899 1.00 0.00 H +HETATM 21 H UNL 21 3.047 1.808 0.900 1.00 0.00 H +HETATM 22 H UNL 22 -1.809 3.165 -0.000 1.00 0.00 H +HETATM 23 H UNL 23 -2.932 2.103 0.888 1.00 0.00 H +HETATM 24 H UNL 24 -2.935 2.102 -0.885 1.00 0.00 H +CONECT 1 9 +CONECT 2 10 +CONECT 3 8 10 12 +CONECT 4 7 11 13 +CONECT 5 9 10 14 +CONECT 6 8 11 +CONECT 7 4 8 9 +CONECT 8 3 6 7 +CONECT 9 1 5 7 +CONECT 10 2 3 5 +CONECT 11 4 6 15 +CONECT 12 3 16 17 18 +CONECT 13 4 19 20 21 +CONECT 14 5 22 23 24 +CONECT 15 11 +CONECT 16 12 +CONECT 17 12 +CONECT 18 12 +CONECT 19 13 +CONECT 20 13 +CONECT 21 13 +CONECT 22 14 +CONECT 23 14 +CONECT 24 14 +MASTER 0 0 0 0 0 0 0 0 24 0 24 0 +END diff --git a/tests/example_tensornet.ckpt b/tests/example_tensornet.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..2c7f521ac23037d640f964e4d2e83382db08edcb GIT binary patch literal 6488740 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 $TS&^nRP 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

{f8jn(K9&tWHg4vgppR9 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

OFU+do?ZAEPg_kkTn9i}cuO?z` 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%0AOUm`d+U9d6o5@h5^ByF)g>%i!b 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 z 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∨t49VsjSeK>; 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

xa7;AhLN_PEnryAbs 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

Le>wu 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

q6yxt z1o(w-d(f+uQ^dQ+o@BO;-b0_(#n$VD&4R2og?s`}5@#l)O84J==`9CCLDl$G_=)0Q zE>GhU-0M_=8>Q#yLt~cd&wE2VnJfe52ShxJwdGKMWCecV8-@=*+ahkg9ErR39e}AJ zs^n$+$Kdqx8}QBo1Y&+0O6LE^!r0qa!Muf=vFnLw_GZIvr0j4Qt!((rXx9D3!`n>p zsiQAYChZ8g1 zR4jTnOH%A@hh_xtgx6Mf3gr66!b8ee@Ivkl=K5D*`LZP3XmSf8#d0zXt4iL_-y}(4 zWhBO7KgCw>Dq+XpccAi$yHRYt(X@k(7{lPL?E~20s2^P6 zstX%~58>;YMNF-C26#HCjSjoUq2arJXm5;`jhr1N$zJYnvtaoROdYQk@OGWV!y0Gd z1?Sr~n+3k8#oti+j!lLsw&$>&d;;8?F_GQAHwkKFw&BKd4}ASaIs8%UQiq2>BKTa6 zRY!R+_}g+UT(Ji){=Eg|yDx_Fb*Er(X$)|wSju#I#bJT0ti&l;3^eRdpxdXvNHYs1 zxV5(p*GCf2Z_^pXGuC44{@EelxT)eD-ZS8`-lt$_>=-h}Mw5u2QEL-Y<%nE%m)bNv zm~1nNoG&JXmq3r}Q~2B02^;+Wgng<%!T!*#uyw;mSSNoB7cFwZ4^$t6odF&2llB71 zu3ZNSFEbA`b--Lybu9v0%rgYfZJGpo&R&Lczcn$wWF(21amt4LMY2{u(%om)P&YALhZ5V8LOPw}jiXAl|m^ zW9COch2pQd{QwZ(iH~kG;k4@^Fxx^ADiCqFg1HHm8!E(KFIP!jlwI(voC~%OLr8f? z4YZ2wM9M3M1!|V+^T)jXfV(D-#~*9Pvbt+jNNeRrl=l85?8{4E}#wJ)_0IU9>? z29D^#LB}Rg%NLLqa@K-LFKLkG^n$dj(||jlzO?zZeXbxnDS~$HoliG>q>Q_vGN}M~P53(OlARJPCHx zWQiS@nWOplTfiJ~ug#tD&%mskS$MMK3YJr=hWcAK2-aOG#J{yqgFJ;^L2i6Ih_lIq zJAU59#ph>`FAWaZ3_lSP)eVbr;Pw>waAYamYUKisolO#NxzPq!-dzG^%P*3Ay#siI z>|)%PSOdPOOaG^iEVO`|fG_eYu^BHE7oF3F8KFLKk=-3wGHeBT)N96m-YoKxb{4oK z&B)HwDZ%FQ3xc$%Uu^>3$&iauv?Pu{Oz<8@WBlJ89Z5@5C^~NXL4ZsUHHQeLT+NqT z7w?V)DaDc8`?gZzcU2h^wns*IZ9xOC-LsJiAl86T6Dwvx%5A>K_dtqQ&G1v2+W7cP z8E>rp9VXamQGNaD8H{OZ6Y)Gbinu)Tih1dGQYgx)1&wd!gVb*wMCXJ!B%EOd&K9@x z2k%AF)8(EJG)&|cr}!{$C+h>>qj8K*10uK-V*5*cq<1g`CiCOqE%6&`OG1LD7* zVs`62LWwD|V3BhYbL(CXlX-0mM;IAWd1M{^w($WIy4Ha5Uvrk)-W}z@nPYz@b9~PQbIMJg+UCik3xy&tHDdC{2QkZ|`3Fq}(A8l);=&?W4akYL0 zmCkqM*=Qo7>s=lC_w_xn-!uzYS8XREUK7mgq1VDqm6yZOeoM-2ki<8Rs+#j$VX)|pzdrpu`tmS-{{XEUUaNMqb6g8 z=Dw@>v&TPWbd=_zOTKZ!IJwm@%KLz|vF0A@$<;=n@aHsO<|BuiZq)&9RRk(9^+4xj zG|*((TlGC(qB-5}X6BCG0gC-{msv$N6Ry9Fsap;|i9_Yi9HVVO4JeK0-Z#ty^ z50wRLQi+OAsFVK6+zJYGA<=~il7PsspsPw6&xkyHX2>W^r)ji?c5r0`V0cTUNhiG zQ(xWstCzrvGC!i(-UM*|Nx)M<>N;|9!wJXFfP@V^9AEXBxqD+FZYp*Jjt==kdO#Dd zwv)l`-qT>tyJ9f7!WtP>b_h*UwsMAv;ajs{Y?4K6Ck)~3Pd)~ia#2)KKs3Up5wc_A-{O8XZs5Nd6l)V8st2r&;vx*jKFkQ)qizefO z7SFsm zmvke6jDi<4&QuO-rr2^>H#>=l@e}BO&H{A2A{$vOx`MijW7)1;3TQ@f>+^ z@XGU0oc0SdH#3Z(31&n)lS9zyi|#=6_XKc54dcdw6>vFu1f@(oO#eJ$A}F%&Vp`|V zMpi3=;jLBA&|c3!sM7@AXg9*seXk-fg}L10XQ431y&1Jll!rG@7{D>})}x$QIb34g z$G2azno4Q2!-tOP;tHQ}VCwF>;Mxu)uD1CQdb#p3f2qq6Zl7jNf}&;pwImn3JLv&pjXi@6jJn z9lVevViyX3G*>hEpMAi%H<{4tvO2gM=MO^|3vB)KH9Gin9NxO(2{kvcfmVU%(SXi~ zDCyr>wDhb1{ye779WAy7JGYIB>~}ArI|H(~9SN?|J*ZKjKl>QP-+Uap`7DMNAr|DQ zsy(^XQVnK0NbSi<-DG0aps37NU&=LjCpx<9G?%t2jY+)Rfp^?a5GSY?z|eKS;WqUd zq+#TDJoIcjDI+_LOc}_>|3pT3m)Qk)U+fC!i}q9d-W3WO7so-fut{9)!7I$YFS6`} zBlFpgrGH`I&*S3qo0GxI`0->*(`smO?h9V`DjmB;`@_Fx6WF-&@6c^Y95lJO9UitB z;SOcLqw@FO7X;m0h4*CK;)?k4_?mnP-m*#FX3vw8&`=`-=y#^!s`zB)V16g;X&VRQ z@}r=(!fW1lQrFKLENPDY3?H z%Aw^AcNn$)F-+*SVX2du?BxX}Y>%8fx9GGD*{wyW;V*=?T%BJ zb%(Q{+QtO#!k;REiL`H5n%T)6Dwbt+NRr%Va1(Y6e!*|ARf;=YUF%oqb_<@5s$h=ZyAyi+=ub`wxF3Y zBoj`KioC@)vGOlXHfVJ$T;VQH%1BO-le4Yyd{1}rRB~AG<8dXpYk3UD4;VsS@kH2q zXDkU(Bb;+pja%;#Evmoz3R=4Ku_(C*ER+8P9xs!H%bj&Z=Ie_QX!%ZB_Bp`wr^eWX z1@%)}HnM_)+aEa@Jy>dkm&7lkexDpm_9Ya+Cn=uT`o~0=|8WxRo-&iPKbB7wiFb-)Yg3r7 z&FxEu7)pEzYT@O1+N>2{>a7Y)h0kTW1-3=zc=n@J zs(p#CF$K_eoC8_x9uKu$RAIAU6pW9b$X<%qCZlWq;^$Q{VC$`A?3JoCy!2}<){xFz zCk{E|FS$NQsAohPEnJEndUNo;$@181ey(^~bd8|etq3o=B}*&i*_x%hE&^P=-;nipo=YE89m}7S`%V}r$nSM?Li7S_Gl-X zo*6FixOtxo5VQ+|LRO2c@@s(7c6rDzSE0YsQkJRNX7nlj3A&lF7ChrC!RynTab-#} z-pUZnZkdH?zjR;5 z>x$}yrb0h>w$T^|jT_`GF}VlJ`;*Y=pmAXP_b=ecn~9vICD~-sgxK-h*`? zilOR{nb@_`59+T1(M)!z$IyB>{qZkc0~C3%7*b55eZ zACH-PcOy_r^+eb;*BG8%`i+U)u7>y5Sb-I1bj8@Nk67oc3oCgFINaYCm38@WXL25c zMN5uSi{_0`QERu+*-u)4zR?~uzB?4gFL%WqBZI{6EP1?ZZx?u=`4ernJqWXwo#C4cmi4*Xu*6FZJSb8C(cUN4zA5Kf-?_%7F3#Af^Y*lL8gZz6Em;| z%~ajQIZyjcxdu~60H>gIbLscpV2D4aIm0(`T40iU9v+<)OXsJPaP8AM=*txfoR}U4 zeO7hi&^Oi0N|SSx&YUgW8t+>4uTBjZ@1vy*%u8V7&kQtJ(1T*&4US%kL> z&w-YBUEJs6gZH*eZJzdzk*m_WdXN1lD66t07}|aa%4r_}+n4sBcS~X@r@WOE|TA0LhORFng-%-R!G(Fb{I&D0Qz@$} zfJf7KPC0xJBU`#0t=nRVGdf>^60Py{d4p3J^C2k>Y2|h23v`UbQ!#I zdL(#r#*X+nL5rt%bshKG+=p6w=mvE(C5e}JeVB5(J;MAfzRfuH$kH2YQ^9?&IiPKH zJmLFffiT}Q7bwl14c=sWfoh8okhrEE+*{nj>Jtdl z-BXCEt=3@IqU)e;nJzJ}SsN_A^%^)OxzfAR7J|my)xhG$Tf!wOp5X_~1AAxALHAbe zC!&rw0vm^o%+yB=9X91OqZ6yitjhevEXWE4U#bGh(44I(#3GPtNHr2S4cStr?s?3; z#9Z{ZCk>sL9uAwO3?RYab;9+oCUbRO26+DQJSvS@#nXB(7M|Rf%3qK+0&H|c5kJj} zuVsIPDU1mH?A-K4Yr-8BI%koFi}1Rmw0oCcYhM!!LKfE|2vC<}Rz z3Y>>OP0w0?lIkpdfVRe(pt+xQ=u;ckfyH^@oR9Y~WA*AMkNV(8=U(>^IghzZ47_+q zbbcCUzMcL7$XVOa#0Xzv?RW;vGAgGsZ~Gv*!aGROFc2i^2~l<2Vi?+Zj9KTrh)W5u zqjReM5&J7mi1(^Fgu(ea$oBnRu>X1*$Q&T4|30?yA4I2sBL(Y36{|KgI~D?<`+5#o z_+3n0_x-~Rr0hY)t8$qqGxTV~Z-77kT`iRt*ubAuVTWu}PV(KJZA6Fd-x0iuJ|-jY z6gV|3qTaobp_fKi2o=VRFehg&toyn)k*O-$h(g*DQBfnLY}fRF2T>M6jo1$a=3+s3 zxB<9YuL#Zs2Jw5S)tt=^JG9?N9(`Ie4IEu!2tte_`F9gVsQ7~)n^;~)%=Vi~MJIq z{g0twcN*+J4WPh%FFGm~AaQ3rkw7g59e!M$na3c={*#P|2`Z?IJ&FvzU*yhi(54Se zzkm`Rjpgq?QN+0YknXv~`BPP{nZRRBG1osdPSBCfxA9pZeWQQ)iElSrNX&&o_WVW~ zON7nrx5?KbP%-MK&2VGfSksgth6G@LgA*=+*tn;yGc<*usKBu}(!T zcpi2M?`u3mhKVlYHO}3Fb5Sc)qZ1m+lV2ChPssjk`}t-ril9-tNcdRvW-IGtJ=9&4S?)_t6j-!OQhaLjT4f$=7Vtl8b68Qug`+zhoE@rKMx>kX&~1)=#%b$ zEbEsfJ|JbRVsO$$id|@sf$my&!hh5R5U~9MqF@g7=b7Mv)Rd zx8$L;>u_blRQB|VZ1Nbe5|^(1CfV~Z8jid2 z5C1vkR&V&sf&8=UG`nr5*svBYkk8X5a2m8m=Z3F_v(5zD@C zAWh}Zv!jXbr0bN^5>xL@;#b1y;^aRYDV5iINi#Y|a6-w7oaU>=zR2_@A00cz&MWtn zIBLsDhCF`Yp@Beh#Z@`BW@r@_zl$Ur$4$aMN52Z59&5tOqb%{Gw<>VU8YS$(7_d{d zgUB6)^0b0hw^*Ve-R(YGi+|~Rvofo!aOd_(Hu`q8WX=gE`tg62c$AlnFFs)<-}Fzy zp57!j`b0drL#)kLIsAfKOLrmF@XKUZf}FH}okf<_Xp$oS0zBW!j9j)aQ=HwaL<}#T z#*#-}Na37q=GFN7s&y3Bb^BSx`U4qUbLB+ir2)qfU& z=R6+}pI%xdF`By&e=AxoRtn7p%TAO5cKI#%@#Jyr5;mP$ru81Uy9=fBQ~}cVoD9cu zBcaDBnywEWfYHzTvFdUH*`JofC%3y%-hCz1tm;>iyF3lJYNj$TY{N0QXSLJ=Dreq& zXx|<@Q|ke`GeM7b=k@@V;CifE_=|8=&%vUt<@API3^q)b@>h7}IPx`w9Z}wR$NLU? zrr#~}F8T{F-IxT9O}Ah|{p}e1bt!UC=|j~4BRKKkPs%4h4wpyPqR3atfT>A^S3;&> zRoz0=vDt{`T^__&ruKnaYl?r@U4lw;&F~ho6XnO(;H?R>B*_(lutVvt_vA{eXX{AQ-Cui#o3?#PHC-+4{;A!1C*XBG1`}pP%r8-;kfuSaK^-aIAv-!8hf{zY1Eko?TI1r zq>IkY?|R>W9U(L-DXBu=w;V!0J8$7tshv11@Ec|Jr%*JFpM)P!EW32)6S~394HKyu z*ie&X&qNy#{^ltR?_mH65433x3rk{yoQ|JQYs(OmGp$P20zOPvcJ zrFl#T^X9_8bJ-lJfzs9`PZP{&mdUKQ3*d`}hTll(fY&aVXi{-HP$ z&jyQc9Kn;ntBD?$s_=QGs_=t*F|?gB40NF^T3pmeoiH1M*-VQNtxU z&G6`LSHvpc21*a7LWhI{kUymhjn=I|$5M;IdXMpp@69auPo)N4o^u2AuCwGn@BAa_ zYgr0K(|%AZXQYF>?aA2m*#`<8ZNLT|H>ks%Y1{!{12Nyi0KFS`8*r6Ru$uRZptaj4 z;-dN}9He)_rKB31c(IOXOtB+Be)`S68lT46`Aw7*sNE5-+)2Rx%U1YJQ3hY*LZt8@ z{}pDxB~PR2)*5?A^49 z)}HT&Uz~5lx*ul8{yUD1J*iv*a3&4`au}IUdrv^ZjG2w)ZZLtg<;9 zJ(9rnNhbs5);vh;V9zd?E)e?30sjxx!J%kUHuJH^Onfb&%bY0#`1Y zi{?yU3*DM^;p>NqlIUj{U`OOG;P1T-3vc|!vDIOudGRVZlJ*A-i3*|mns{)ok&xtE z?m&w+rorLi3cPY&3=HDCip>|9Wy{{Rlqj3aGPmlhVDC%|lKei3iUQk2`y)0<5*DiRn+{~q zriF>ZQH2>2UXLzJ*?g5R*LoerzU~9(bL9Aso26Z+Iz_Z*rX$L2(!r`v4#UM=?y%gD z1J6G%15uru**?xmy4Io@Pn2r>2vrG54oTdQ&Qk_{tD89 z`2|J_*1;2^5YGC!nQW==Y~G~Rb7B6fo#L`RCc?gYC;aZpOuYCZhLM_QWbsM+bE9;+S7zh3ZKB@<%rqF?K=C+Z@S9W9s~Ib}?*}QZ7e1 zuL*IOT&Vd)>LY5_!2w&KJ^+8GQ5(_+G-xO@lc!Fb@6fTNG4klW|*9A#7RUgSF%3VUWQg z`l#$4>^Qs&d87@Y)#ohWI7Z4@L{bmokPQAY+|3_SeMsq)XF`QVZeq8!7Et204eom- z-3tlsfVqdIS-wg3Jj3D1)CkuRwWrA8is4f3{Zl^pzV;*GoyGFl?)-D~PH+e$e&*oG z4{9(vu1dZ69!M#AzUP^>YEhE;(ZJ>A7cfUjDC)btS7_${1>IgX15cJ40Ezn#V82Du z{rT8r95H(m(paqtZ!LGmw`1MKNBHUNl6|uH&|3}G)1LsNpQeH%8x`RuTT{&ad5mXQ z9|t!!ufjVV9KgcfLE>1)Q#v#LH4*)=8+xU#!XZ&{oG;#|w+{;PwUWXh-mT5O-Q2_3X(&o$Ud@eP}(l*vH}*_a7j6$8{*L7UJoew|H;k zWN<~@7PQ48gUAd_1bSanP}>)EX^v$XvHP7HK69uTM4XsGnXFVKW~vqdLBK3ruT+m_ zSq+OHq~8W_HhgA(eObXC8cyRKj;aGD_8&QoWmQnna{{dnbpnLdLfmj%j!0P?kFIvL z!Ta$nNIhYRHYe~XdpsNaW|_i)&+el4|FXbiKSyjjyj5Hk-%31N)`!})Cr~>|kFjER0iy?lRk9Y1Av8qoA3%^Z6}P z`w=3=IA=8OPd;0BA&Tc;&?}srVThKSsW;UY@5X%#ZxY5uVsLxjMJ#VEOGO%nz+-;W zys*qTPP_GYz}s^lC!DVX8;(V@GyiBywmn(}-Z37)AS<2r-?y017Cb<8y@M!ngrqW) zAM*~@zeQV;+QbplHY41Wfy}=Z;TtPg@y?wvq*EgT@sABoNKf8TQh9O%sWPM`{_K<{ zs(NvTo{{~JcPsZj@%nom(Du$D7z=&ea>_;WG5#%gXRimasqO-kw@s9?hbzD%(_C;M z)(Gyeok-a&J%^n(+jBfCGSQXq0I!%aAF}Trp;1^Ya(d~&8_-+?ng2?m!vqzWx4Qy4 z2A|~pJm&%75j83?X*{s+ln_2QN7-?fUqFgu7?!PSfcHw(VRXkU(Q{@sdN^Ji7{6P> z&R-q^zZaE)_KZbviRW=#zDZ7U)XE1g9n8Q#*Xz(f4SLagN)Ns3Pv)IA^+cIQn-N4G zfL$D-PgOZWZ?9zGbI-fHE!qF*J^qKGiJ=!~@ZWiqxZeUkJoOChTWyXN?QQXH`-|vZ zvlvfMj)uC+*1{QiM?kuzsknc8J-e{M5$+i@r1Ufe(Ck7dI=I4&(r7ZmEa}fqWR%43 zemv(2w9<%K79+&rtIDiDd=1`9{a*`mnt@pLl+a)18pr4_LGTVA0VT3u*s%+kJ13DV zxnjOY+%~Kze6^sRKIv@CU$*=Jz3bEoTDhha)W-_xFkB9)I8#v8w-=0b9;dw@+@;H& zDiTHQzeStJnTzxb^T5MX$9ay^q}-;^I8Nu8?TBAAuW84BauT0KBs$NNGRoHFqxxe- zz&+WO4se+%oUvXPd&2o(i-#$A|7-<%(SDfvnJ|H88-9=Z-8DdfwGY{DH)m94`5KSy zcM=P8wiA=HG4VilD$Sj50eouj5$UttLBFSz|J*P}pHmGZ&g^bLf+?Sf=o6K6eNLj# zNBa_8+dPS$I=_wnqN)UrV-As*I|4Sk{Ulxv>k<5h)lHKWj!Lv&LEzBM1zfWg!v3>s z(Cej%usr%j)3}uO=eb(2E=|)ea2I>MD-DJoOSeMw0P z0;{C_;$qcwdV5;FSm$4||P-C78X^yY7BcKBIc>kkkbrg%m-w3ktvNA9p_nWss z-J9?f8lXDa7LHh{pZD*XD!Q`p4KP;|(g%9aiIes9xzBg2vp1-p+|bKDNPCY0ThFPc z>kW&DXJ!ZJM<3pRtX6N{-@Y8y=T9RisPZDR(`=+G4!Lr&mWLppDcgyF99OQ*u5(~O z5J9gsCW-YMr3`yXH{De2iE09GVlA7m)Xc{MboX2+GCyws2DiMYUo?iXvZ|NS)&6d&+qPy4pgiz1w9$2a$}TmeO&G2^4b zqD!ucx6&nA%R6X;S+CH1?H+K>w?i1S_XS7(a2jngbdQb+cnKc4t^u<&a)82v`RI*z zI=Xh*7KOIB^N;T9;>jM&q2CAiiAI%-5UJk{R-6c8Cp-BOso}4AqrolWVQXb}%v*_A zJJkgJeX)s34?arF{%}Y*&~vLvTc(??a6G};;yXsGPwynCpd=~lU5TA5FrYSdtrgd8 z9wZ+5h=`hni^-!w@f>rb5c=r0LE@FtRZhd{7hv5oGt_?O2t9i;k2bP#Bl_Q8qR(ZX zCd13eu{i}UXoAT($}h`-6Ek0x4vC!)zKe?K5}r2;yF2Iwvoeu$EMK@iAPI!b{7;yu zl}Pw~n@rf`KOz(c`iMo9P`E~O54B!PmA!aoSp2qI9+fBQQmd!f6JK}#K@}%+#Tk~6 zcC%GSb0zoasb^z3E#(Tp(k6#qy5*iwaa%k(y4;QE&B_(_#P1SHbaOa^dmrgF$U!4&j! z(@sv@O2|VSvd9Hl>cZx%%~Kboodq2;#{tq~9NOdmg`Vs8NLnH>>9>n+ASnqDi0Jfc1$doR7~>k@rqK zqkV2H9o`nAqp`A6t>$RuoSK89t$WVY-T?#+c zl+730Y6xk@?I!K{nc)4m%K{wDJB=dy9?&TXKZQ(d9L1GckHTafUH!xEQO&cjf&%(~d^YGeL`tgCi`-u9daKRMqFWIy4R5zj_mFnxxANIV{4v z3mSQ6Nm~}G`r`XjkMk!S4u-EQrjR<-PNeq}TV}9Nu30iJ74zfdnN5@J@%PVKOcR1Th5)tyXT(7@mc@zEBqUmED+bx5dB5dEuz7x-ivCk1^fw33s#i@r30;K=trX>_0e> z_Sz-kByLlK+ZX?afu&K*{W&U(f@TmX?s|y}zRqT%=6gtfC4}L)XB6RO@(2!9x{|j( zEJr)Fk6=BG|L~R-V|df@X7uEDie#MnNqlKpI%5Cb2G(VXH+3Rc|GSoR*MJ#|KIV z0_~W{Xd$%GJHowJo`k2=>cWJ!a(?<@1F$Wu19N`dWdq#~QN}8r@T|)af8MVSC<=CE z)_$(XXOE1)cYVqN|0+rn8*ERVJUo@;Z}$c2yh#!rt$4g&dj;R(BLkAg*I=XD+xeT7 z?3&r!GQ3B6j&%*&1Qq)b_tW7Y1a zvi1TxqIi^E+!!I*%UVDUQ;NA+>V~n-AL`a&3*OQ1*{r3Jo_L+@7WBB>NFwG(!9eHb zVBMyxz`l7svwMOe|KD0K_QP~XxZG|D_OQ;w)@dH(OrK=>zAXdOomh53d?w!X`zXFd zN5K4LH2vcF2+HqqVdh1wCbMa0zQPxX#-uaFiO=rHa`ZdB%dl7y)9p@9T-MD08hQz} zR2-r=J$B`XEdBNc7v1a~mI7$}4S@(=3flGDBr~~=BP3ec%qbl zg!?yi95~fz#c^CP4}^@kgVl<@MCtiG#PQ$hz(aO}*uJ`4lo?eao@g8|3jB43^D}6e zX7B2VI~4X2E^ax*udZp}%>#2ZB)f`m*kb|6>IH;V(L~zdGa@|bGUD7x8}9kf8N8)Z z?&mF&YPu)+tMFru3Hq8AiV7c&604M-aQBQEae^QDf(0+85Z@0PqC~&n!UeT?MB$Wh zv|Ifok^Hrl2$U;o`sOu9)cR~I<2;OcYG@t({qJFBFzD7a$3x2K#M58Ao#P6KUX`aD z7a1$M+&!&nZLJcRB=92UH5d^4Cwvh;F_#0|9~KjWVq*|@uZGsWo<|JXU8E0GrqSA^ z)xyx>R=Vc66^Oks6Qt5pg#N2cz+6X1kRMCnYc$RmY1X-c%u6q5 zs-^(X(n;ey5#|tgH?0?S-5TZW{(PQTcJ7EMBl{-r=xef{y+2)VHJI4MuRxKLWcN$r&gqaFFlr2LiAh85(<-z#H_nFiuSe^DGje~ z`o1oKlNmY8i`cn?HXR8Co~Dyf(<4mZdfHAd-0DbR-7EC|H+5p4+Ye}8>rVRVgwr&s za*T-5Y~vM)XV7bwM1ww+&z!8^do|Kuj zsu@1NV#dGwa6bMxAqkKFbr#1?{|9KtO`u(JfYJ89f{oyDr0dsCnKlPN2FAK?VYuTv-2PS;|#4y*GyLV2=;7skk2R0Gw;O>lN~C|*gP0&4%Q zAZ7o1ius!Vfj@;K;HOfq)XQ{}UH^TrWCP9y%D-OXR`bKq*ZTta6A&rckEOf$y2*IC z@CN?ddl9Le8o_*WIgU>2#1Yv`aTy0NWP~xE@@*XR;@)&pr$*}7k*$LIzOuMc(hKGX ztVh>wyu{BI&Sunf6mVnbe@K49M8>bboZtVe3b!5GfdkxM(iNw(>0rMR;PfT~{&k)W z0umINmEoT7WdCt-;=LBobMsD5GujNtGnIPzcn6H~IfRRg=CFO+f3e#%OW^&xfz;+J2u%>_GyA6{;fa?0ur2yH zKUzJHFF)siWGdg7eD&%h6!)&;Kl5-SIu;z{=d@{K+U^Nz^}H%7J0Re@+jXD}TNafS zI>ON%22AYx&9Kwd9-dC|VO90Pf7Xy9dBNPC6z<**>9L;hupgYOb>?DIZV+?aCSG9ihoQ3QLs)W!AyIgh0lB zyfNJNJ`S(iqlje#?b-e{3ph7qAh_8Sk9Bz?X#Ao(Fd@qygg(gUSID_yhp)zDo0Stv ze^88ruUv2loUl*~=KwJy_Mpw8;@KY+9&~6bA z{e?9`+pewX!N?Mp_+x;kAL$VrsjErUewk4Q(GNKw@-}_@nF%r({}KLzvxzm{W@wGN zEdCrbo_^nJ2Ywq~go)Q9V8)FIYGI&|2=H|TgQwa>SV_M1;tL#Cs=Ieoy zpDOiXtV;als5L-g8LVykI2iP&7EE&rgFUu+^bdPm_SwbD?1V3NJdFk)bm*QPt-#4= zKbuSj^3KWZ8SY0qt-1<5-nW$P`jtxk+rI@MrqG{#kAmB4s`1v}Rs%m?+vsx6!TucZUxi9QRLM98W_)M1dh`GQnud+51;N8ZG0xj4(_{&On!!- zV;W*Qa=01H&&=S`Hk&}r`YmjMD+zulSJ2IG%-I5yT$DD$7#2sV07J$9kk{YS;;qXq zpm)*{@MLiVs}U@NhYvQ>e>^-ux?CY$X|R&_{>6!=y7FM4PwV61>sN_&ww2(C%nGXJ zmob1Jlc(*Rz$NWb5X#tORNt!i1k|h0o6U6O2tGzrxRm3LCI(>&-dsR zLdPeKb?dZd`*zESt;(~6tIQk;MVF7f2N%A(8s2{)oO;g`kv^j<6m=??|-{gqgsyXykDUYo^mZoD9R}L`9SX9qkWW4yx)33dDEvjzY0ZVa9jS=3~(E#J*(Nx&E0 z%w1jd?(<_{kvNZSp5NYdzJEGlQ;`DptWu&E1AAb^b(iiw!obefC}OeJXJT}cB~h1E zLF}|mKwNr|v-?mlef`5!V&ITiXweIZ8IMlVNfQ-`#@!jjwpsPGYR!9Bh2?K}`&-Tu z(LsRd*rf#uqnCoDvD?UQhavhY*F=9``cUY1`zoz;Ny3}vX~TK^ok02r_5xC=l~!Bj zLcRRlD6CNNWE=lH;TZ-`77Hxb3LP%JBI36mr)x}}(=T$ZKy}(f!tOsWWXTy2`rnvL z$F4pArhmx<4Ha_Y%X^#CbL>|c3AtbZXCIw^+J-Zuzz<>Dyv47yL3EGyxRTRTL| z%iblLqA;GU?b^+W{$x)%#y%2uzMcTSG^c?rRzeQ^YI&^FW#lLeYc( z59DX!4~lovECEWrTu^6PpH<@@W3;QexNoG{UvIou^ge z4lbuYpj|b`fJx!7(B>3@7BrO5qTYU9c;-8rn(aZ0`(=^q;||XD=DA3};TrwrlhjZ4 zLLLM(H4qcmTLUA@`RKx&R=UW3vFpoZU-6@5gS_T*f#~g~F3~7QU# z+<*LFwP4Av!fAq8^6f0~$$)U*dK8UcJIv1C(m;F`U=W)>1Qc6p(6r!i(CEJe+HARs zaAhO0!uck$SMdkkKe&|2B~AXt--CqQppbnQV+@Q;O~FMSdtBD)0?yN=lIQ~rvLE&U zPd;1%qiHA6?C?w^Kb7I^&wGyc1nI)v)+w~c<{Yqkhn)l#1xp^5rtvkgJDP6xg$?$w z!nK|)z_sTQKPYvs6njmAFPbUzoyRSxG4}_^hqWm5AQxKdB!J8l#lU$F1$x!80iLuB zz20U?81B$Rb9N@X{tK1zpYk*~=_(m8=t4O3kjw?%>Ker4N_TkDsz6}i@`ljpN&r2y zv^y_wMW0tsL0>u_3yHUw{&m9`R(uFY>VJ(TvL+A(?8yW_W_A$qJN-e){I6_OnI)=! zQNuS;_#|53g?UGaMR4n2R@Wc>8@Yp{P=1#sXMfukw_JlQiH%rHp7q0?4iyBRO& z#oJ>fKKsW*%bP|x8>v%!N1h^$i^jBirKO}Ysi8^!y*c=x94QG7R^}gTOhhS-@)GfX zA$aig6gcNxo=`2|I~uW1;m@0sEYSK>#dQ2(JF!3e5M$iYG+d5|g@R z(TJXi+T8wb_G7P|_E~`j<4a%BBMp-E4Z=S0zn*VA(u4~%D z{E1^oxuZ`7qf8Lf^gx9hviCpywK9~L?TLh`7ZpS3U_|@2zKc zZ|#Dw*9TDZHhLq+Iocw7?`*PlvmDp#x|DUda0Giv-or^lGTa&GL&?1d0oVOa9rH2y zKC@gmf!Q+9DkuQ|1O?um7`jI^$26~GD#!uS!f$SK%ymD~_{2tj-n#9)jn`RT4c>ys zKm`_L=!(xhZ@^bJOK04pOEEXD7wylu3S?i1alo=QaM|T*e%iz>l+mLv{HK2ss99+V z(Cldr{2i7~6&`Rvz&-%&b+E(=)+fMf_rvgF-fAY}M*!3H{w~TaYlG}(TgJ!AoQ<-L zki?RMxXt?wd&WoVI9_lH*)DqrOHOs+1{GyVx%M|GN?E|H2>J!a?w7%qV`uPB`5VAI zXeH^eXAb`BtPMx|E1?(XEX&`O&GSEdRMI3BGPSqQk=&uS!QF;OphB2P;;1(P&-}3t zN6pbHfDS+9!Mhvegc4e|Kw<+r$_&mLxaeZYeXv&fr!mSe*fP4dp8edy8i zvqZ$BSS<+ftn=!R1L2BF2} z>)=eP5MRpBf|m*(OLQ*f!aWv8py=8jY-DUqE1ig!JjmPtf4IdBU~Xz96`V1R{ddp{Q&Sx!9;bE_jjvYWfXx#a zhq<3wOZDZ#k6b@;*U|)VZselmMx%*Xw&a+&{z{qnMS~iAlJk+e=d}-PFe8y(m#*kUs)%9i6B1yZ;a6ZJx`?;F15E7lc4%QDuTDqvP+upI#r|eEZ)-!M%%>k~3*XK~|v#SbuHH8WY`pPEjZ-Lc{-}uo_ zlF{MG6UaD|3CPF#DjqHTCV6Ko?ZZbMB0NS?8C7_OENlCY?S9JObuQnrug6PRYjOro zthn)>Ec1-Qhwoe%%M+*SIpweQ8Friv*0a z?N_)zXdJm9+6-9w>d0hR9-BHP9H4r5!ds0&H*>Uy;oDP{ytMd(N;p>v}z~c)OjO}D>#j}l{hhr zKAs{SemXIIVVN*xn+rK$(}UAWcHvo5^hsDg9R}40H}k|EIM_!6eS45ETDWI7^Qo>3 z2S&(C)o|9hA}|upsIqQuTx!Yx*;6O&IZhTFmaE2>eO+Oo`CrmtQW@-CEhT~^0h-q9PcrQH*MLz5Y zHg7z*^+On+8m9=IoqO@RjWe2SmBz7FCv$*taEjou&nj%*(TJluR-&V!A^az0QctJO zC!i?QWO8me35fF5?0n8U-bgmdbz1ce?kg;7!O|8p1@p*mWG_OhSfnQ;6AS%F$zG2Tq);h03gRC%3& zmA!AUw%$}`{J#=B-r)j$IQ}lm6)7|4z!>+&&6WIb^~cb1-#-%lh#8O_(IB(;Tfr3< zCo?YsPD?UWRms!!m#~-SZV-v{z^=#&^uV$g4L@H>8pwGuclC7fVm}D()w)UCHdKnu zj_v2~JMbG0TCQl;R!{;5PFRq?cb?)$EeXNF5z?H`{4jjJ{?cP&yg+gNyRYK&bMP`{#(i%9P-A-`S0-U z=l0CQu*2-_HA1{)|1Iz!rv#n?Q^}c{-dO7{#!t?a;$Ldg>mY-GmWX9%tA5AtWlLh!nT(f_qjmFyz@JCOvEq z_>_w9?4dPe=%J@@*5L=x_hr9WZQEshzqA1=rRMTDuXo{VFVivgY>uRR>PaGIEyC9e zjCswjYW(~k>ZH{7*1Rs&9m|I=!;{RXVxC4HEUVU($Sg=^yYFW39afo;@`XJx?$r`D z?6)$E_0kZ$+Np)3RqJq}Oo{mGj9l?r^|?6kRUR1h(Zpx+cj77QKH||8rZ8~AZpOf1 zJ6j-MzdLU#Zam28hYlP0)sOG zN!=}lI84TvJmNfEvd&+fIk?`(^&Qzrv!mm-v0;RS=YP1b*G7%BS?*0r!3h4xh;*C0YKk^6EXwuTKlG za;ORHw|OnOl@tg!Px}D9Ub>T8Ss$i4Wf5O@35QJHY|k9L(tv-a>p;!+DX@HHzNAAT z8oUWA!3T@7fkUe`KA0i|{L8+;Gd`7_n3IF2nmCX$$F{_|wf@#FGPc!Q4dYz3hCRO?z^S9x%F1AI?|6l^^Q>?G%rv?Xt$g_-^Dy zJ>hJb6Ui~=K1RLnZ@4e=8FqcX7GB?XF$D+rIS0a}0j8N}NVj;oekra1z&5h!!9|X9@Epb5DVEBNiwZ0Fm&4YCJY<1AIV==NZVJT(5 zYA`Ebot=32xTyNu7O`Ue7SQb53$z<&!y1zceE76Ev^bH1Lhne~p}pHse5en649!5Y z)M4B{ek&_O>f^M8I$*ybo*O^58T_^@LnYcDxKny(fv<9#kcP*4R{jCzDTpk_hx zIeGO^^SACLJ|>?fZ2EMOokb$6wjm1)epoMDwDT%4Wx$qwTxh~ucCTNg=;tE(H($C- zj&kZ zAJ|sg$W1FgO^lcL6K-GIc|9u%K&Zr7?_JA9`d@T)rYIabl*gm@UtsQK4`itbq4BT-{ftZ9-K=4jmVtth{zAWpA-ga7J-L0d* z$KVTy_;VLnw%lYxoRX=u-?iYzaXpryNMKrJhF83L$csF84z2vTjfy*KEEa%SV&mvy zkgstCOxvbF^(}~lGH+)CwHcLgjY2jY&>i8-&bNSl_kY2$1F7Pc>viHcwb|lvB~Idy z(Nq-d>yK-la@oekVi2$A1i$B&NEvfW@E30nxcv+R_qPv$`X^rWqmXbwaA(2CA1b-W zmg!LcGjt~YP`q&*cSMoMQB*{^O3AVFJhL;qLWvGaDMb=FA|;7Rr~AHgr4R|J40am@T zq7`bNpv4xo(0XeL6F^(z#&}!g|I!7FGaA6hTH;_lBLc<&dd&2IGwij!%It;*p7dH) z3FjWOqpyCcMH4?S#9Ak7X@?$t`02C*FmwDvY_NU8Sy6HVI@&Y=b5aFH8=pb;$Irkl zGgc6L*M7AU=UFam&f))jgDv#6;8uOPzn7k(%2_^ ztYKSY4fq{?5lxl)XFI30fuD0opm3uUtbUse(a>UK?_o*#{4fDUiEc<+<~4AZ=0^Uy z9H9;R6>;%dZ~8*yLP?;*MsB%BA5u5h#8(>g@qWiqa9e37z8nw?b>9N8vy6nfNj|z7}(AZgD4GNnk}!ed*uM$+)6r4gQyPkX^b&3nYBzi6_rr zNt})N2S^_!-Y&&q%5v)gklIvE1Wx|K#GFZh=JopEdD|uCW7#!m(A|xFgCp<-Pa}M5 z#u8w)rj+5XQYKrwj-$j+Y`Z1RWV{Z5ch--m%^G!)s(&YJk2xm2({<7X508*R5y6yVFw5=G z3S&)tXXPNi~^>C7fkanNnLuH0lA-n(d5C?`Lonk+%`qm2VxXQ)h zX&bob^()~_BVAznSV9E6p8@R)FH7Apo1xsQ1tQTaJ8|?AeVk8j!9|)Bn%yV;|3sRy zyOXQ1qpPVHuI(0RZ@B$HC2o=6HqkCUHTP z3(kJ+hqZ2m;fdY;(0huM^SNdj{;;DT9(pz%)Sl1)z3Q>d-o;5=@#t+d;p|!9F`Nb+ zPSt_C^*Kmfo({gBNM!%6;loc;PvOB0a=^MF2aWd$z%lwWagYBf*lgAa9)EucWI8Xy zmP__hcgR{yxwj(Gt4wk8O~2a!h5IMLjsbb;{^L3%hLVWBcN^fnu~72$zyzKiIx2bp;xwo3 zfGYiOqax34C<8hvr_xyIqyTh>;ctPng#l8h#}eBi$)57EFXcy2{`RT@CQnyB1E9I{5w;?}aJf#^Ll6 z2Y?Bqi2jp3$9(U40bO%7$oe_2IW;ax@LI)t*z!n+KRzfK4q64k-)`TK`?U+$@NWau zTObE+p4tjlWemgV4!LOdt&d`dZ@uWB*JNnu{~hHH7sG<&OkUc6Di&RC;%z+3k7&2z;oHr5`zqer*uCOUtC~IFM1)y!@cUH+Z27W z{cd{-pCBZLGlu+|qDRMJI1x##~qz|DB#5ww<%5NE_}o)8x0?DvGC> zcYvY~>fqG8c>FF(h1~KZ3)m~?5{06>&^y&bcy2HgJId8#m+z7A-Ij6i%#zh)g&-U| zW?d2=m~6mTH#`B1$N>0uZW3JEBgHV>`3cXxjD{E8HcMut=ZjX#pM>@|5_!6N(wMwo zz2MP=dq9(tr3WUD!>QX&kVn2b5c^&#@%zm@=$fJy8dl!}u$0E{BJ0II{%rR={IN@d?sd$Tq@8Mm!h=6Sws<4D zhIQedXlwY?$R9@RlyZEY*@?%GwxG*q{b*|e1$XwkF+0l@B+a{3g%@J~C>K^6Ie z*;1&;f2(SRCq-zG>)1EA%;G;h@!})V!jN^apzAW;>rzG;Iwj-Zvx;#{wh{i4J`9@9 zNAfa9PosgmQ%H5gB4);?4DfYo7VsUsPDgqsG^Q}rBR*ezwg zUUCFHf3zFRQvOg<8H3e5ZlRTx6gH@+V4m_7;LO9vf$nK}(#_HZk96(E*5Q`;#I<9z zwfq?G+5tY+-oHXJZ)7scICBfi*qjls;3q-2Jw$9UmP60leS&-JWHoAJE0NJk9dTW& z0me2j7`2PP(ePI*yy`qqF)QzPv)~D zeG^c3*#tb%z+B40_zadM_JZY33|{>N;)AX&Ox|)9eB0`dWsV8Rj9OJ*?HgVEXJd`j zD`*WqNq0-%Ojg2c>lR>(b$V3wb0@gMKO0Xw@Q;A}~@~d^RUu|Rr7yQAG-!X^s-HOg717De{l~A7}<{Kycw9dxQ4Kv zosV7rrXp(v7mNz_1E=Z?yqT+rOX?%=NMI4HY}Cbp_n(6)pS(eq*B3x#cLU>rW%%U4 zQCwMEkEY*GLC?4$_?sj~9Cu_Eo@V_R1?F!cithS?cAw*Li=QQM{(7CTX|uo^pPvPn ztjxq;dODb`3g3WxoGZ>*aSy$l5GiKG&7gGfCw&UnvVn?bWO?uvaPj#)0g4ZW&kQHQ zyPuANRo-5>qex3S|9nSyv;?N>O@g}y9nh>JFSx(A?!@zoEujHFM`Q$shz}|5n2HDx zoj&)MsGmGv`mA5#emm|VZZMLAjD;dwVYCZP;cDWv{7mL`*-VI^_=pP>Ld8GhXkPD9 zKZs<4;C#kOtmpQS^GL3My^<4v)+6%yUqcFgIbhH1IbnhijU5NA zU)sO|+Xn3PsE&=?76Vb%e&WyiYC`^zCcF}R4=)UG1TB?MsJ^L%?1RqBRxwj^!9gpj zYbh!OINsL4zxZZ&Zrpvc-D4{^t5gqb>n;}mvp9(q^mwH(F#CuO4i z$V7gZC-B<*bj8K{-o$2zAtsn zyGvcHT%Vbcb3+W8_S%54Ono>$t4r9jAsd_iRbg0a0R8#66t|ji;chhz{P)Nz?gckX z)((ZhE%k?B8ldnsw+po-#b{6puem+54EyUiaNXy*sAkvW7YwV7wDfcbf;*=le=sH6iTz&|~81>-WGzxr3zYg%C)( zKSVdL&tu=;)5e)uvDB~WnzZ&rXX;MnH*lX#C7zg0VViT`5FWnwK&?XtOkVm3jy#wJ ze^$EylS(BLRm`O8K{1`5HHo&+2osIp`;55v*cC5pijx>@NPv>_axnO>5ARG0rNgxg zCQJOjnS+hac`&D8Km2&P7teY)6Fiw|1~>oOf`^DykRoMs?CNg=Tc*fJUe%nVt=t26 zCNV3}(eQNfue^)k(9gwiqn0Oc)6E3%Ua{RWZLta-N%J5s%PGT7X{X?C-A7PzT^%mf zjD-i}@}TUkc=!v-;akFkaOK{)*nnSw63Z)rjp}mj#$168e_~)3rHT6|9D|>q+=8oe z6KK}Z0les zQ*j4zmCbGOvY*>A|3(nB)qe+CS3w*XQY5id4WcbKY~gL$U4gIUX`&ZxJX(9BHkc7z zD8YYP8P~56?h~)0=D5$6Y#;G~5kK5fW^*ZVJGl=;>t_Sw<~P86-YOVXcaVC%%>cI! z`{MZOQQ~aA8~lYPlkaC&f(^|d#dAha)8SeU@WVR;xFZ{{fWR;wBHA zc|04dsmIbODxT82$V#BE9gjL*`bs&s3!(m01V67W;{G>fi=_7%WYpI0MNzCKR6TSa zsjrBqN7g0bGrl%#?E8brxI7+x-#$jadMZF8>s#TmUz2d2RV=ghp+2j=P&(U4xu8#$ zu;Sf+Y#ABZWw5KU0IXh zims1v4Y3H$)slm;iWF#I!f4@B7N!?X!Y5UGnWSzr#Ib#Z`U_o&q0Ps^^-tP(Vw*Q= z&D#zgZVoWFf>a1Ow`#Pj?vx~{d?S?`Y>(Gf%L(1``iLEsZNOT}TbV3F!6^&Rir>w6 zN6r5AlbvL51d0=<;CIUQRN3`iz+Ze3uAQnu-mzLrjtpnQ7wU_^gpI@GxrwLfb^90c zo*qb{Bkpe(?@^E?EGjB-s8OyYV$C@VqS^13}{nsz+r7bobO1=GI7??GyT;XNhOi%{!x@bTkWcZO_2e zp)Ty{7LWHO6v8YC2j5)V4AWod!=2lj;hT8{Vsz7yH~imrp8x1|RHc7ivQ%FQG)&rr zV{Lgn|IY`{n$3{{>DH&e)64OCtfDu{#^of?tyQL}NH}4u+!| zv*{^KW=)x>7w(EM$6d`O_@don7<_OsY2)|~94YI9uSfD(*+rH3?0-{*3h^u8lRGKo zy%m1s)QNq_E`LT-8ZMyomixi)Ti-&t-GT6ChbBx{`3R?;_ku$H1v<2$M7+?s4nEbq zA^v*D1YSG30xXX@fOUTylR&Mv#G6I~?$`BM(9X=7clqZtw(R+G`rD#S;;FwgiOCDk zi3N?8OpTg4me?US{e+v}*$L-bI>Ku!s!&khJYJTy zCv>uIft`P@;A0;yqgjdwR(f*C8L1@q(V<#Nj>2&mP?yF;4z+@(DucM%c$0YRc?;n* z!x6e2>f*^&kvL896|E9`vQd|M2>r69nWj)P{P~VAozdt6oi~qSsBc0EeWt^n2o2%9 z?aMH4`f2cScP#Jp8D%u6rAt=cl)xe7he+b)1fOkTQGbP!&}?lQs@FXN-I`7lSTz%I z@9hWAC$&f(S1hA-pRw2@*GBx)RvmV-YH(@+O9?ugVKt|LVmDZ@({~@Cf&wR^XZeWP zK7(M5Pf0oS4+5C|zF}z5eks#1l_n~6HpSI<3s}ut$yBO_s<@qI9w*JvFLyN%0xqJ*hApVuEE{nZ8$jfv1k|gXM3^y3;O&ALpk}!* zs5sV+ru@EwxQ|+yghhu?_p}qp@KdDt$Qws=F|U?czmWp=q?9dj+6Nps&?cC;>IrjO z?2Zhm48m*2Ew1xaAI4>s68J6gL8j1+SjQDE40+WI8=(vcm1_`b8Z>B`EUTtI?sZWy$ytMMH;nmK>=zSmfi-NCULJh zCo<;>cB8aY7NXBPREgLKT~z!lg1TG!P&m2N3H&N|U>(k@F+X?AM3(s-#D6ar0*7Kv zaaMze_;Ii$d*F27OvKH3#8l-1FgI9(xPR;~gD-b8cD@{H#m!Ex2i}O%(`;ESZVhw(_C{$RzY=Zr zm`$DfGne_UJr8>|TB7$G>)EytCDGNLSB8-KL!YcA7rWh)A-xQfUn!9d6afuv=bgq}+&q@wWYo{O*k8wQ0RCX+`v-D2a$a5A1o zsCD=sT>Er2E{Z&X7p}YpzeIe%qiqF}290`&&dt*j-`7>*lH)#DwRSzu#$3KR#bR-1 z51QWF1t}PW&#%lQ`LXj!XTuy)MY0plx~L{Rf@@&D{TWJqteGzQra@NSt)wFm>(&sPN|#$og>vC&X0>PbmC@`%VQBN-}yv zeYAmhZ{&<5EP4TN%dcrtk5Za=uflDt5yWl@D%dxoX6n)mv>NL zX9ZvO^N}oBh|hUv!q>@0!ZYg+LA7tQgblpA=)Z$~I8NUJB>p~!_tdt*OW%{QQ-m8C zogzafzez`3RmONt%s+{^=OlC(x(L@@z6*IOiO|!qg6uyMg_GZl@u7i_uretVPe};o z{g*gT_)FIb#};Hj*$h4&)0ToDpATTst`r{cSO-sc)Q`tJo{Mh1aX?i{DZ&7cD$?^& zHO^l28M+Pp1ZH#%sxNaA9y75ewfIKlooludm9cWTmE4P6LbTcI1%|?$Dg{#M#Ts7Y zf4i}s$!U10MPA}?^(*B&ZWx>(Wq4^mrcl27Hr!mAOWJ*x{$`Ppd^??2l2PYXXD=8D_tuJ`&d5|@zhVx4awu2wO5jbFqdF{e_#GU$s!0BzrwK*jPw;`?F|5wg zdHi)6>x8EFZG?|M$20%ky8<8l=o3dClM|}_9ZwClhgjrVsYCteuDl@s>)89j1k&p3 zZsCfYJ;Hgt`r@2INBoXe$2y(*^ary-q2_xV81^p#%POmo|4gUxR?Gaw9~S+C)D>Cb zT(>sZbmTAGdnA#r%ijz2&V}G`n{lF6hnJ}Il84ZAc_!oR`9U(A`4dO)ULzbyRw1)} zo|EM5HAp8n4et-ogb|O6NkQ&cXuKqVS0^M$WS1IBIfm7EcH(iKeVr|Oj02!tw>n8_ zO0#ptd1QaJ19_PH6-J$l7PNg-#yi5LdlGkh+W4A~_mWj0r)eeftn7PGMTQ(+;>!`5 zF=ybBo(f5Vs1VQo;X*n$*Wg?G+mWl`G`!&K4dTF@UBYKWa%6iEfP2?Qv2mpNSdi4wZ3367 zWg#B@9Y(FuMOyF&y!5LDFNz6;Ud7Asw<%wV=L$P9C#VSA+WZ+}qj*yFdK|0_&4yXK zF2ks_7V(bF-=Ii(&G3DG^G?^91;dR zI&Olqrb%#T#uR=wQG)ecX@1z#^}N$II^wbB6zth|4A;C}E=;hOdZ;2M2|N50$nDR4 zVetJZIN!ugxbN{L95A5;R1^_&8654U(_9kev)SBnJ&m4@ zfuvLZ8{Rnf5S>OIQ1jUoyzSvpa`BRnIBkPDZ*oUEe{!HQYX3bQ+C1Tq7w`E<_tq+8 z+md{^vf#F4(;78ee(f8`aaZNcPBV}uu`(N0ok4{{Kw|wsrmT$jGzxRvr z=UEe>`V~_$y;TTb>Fyz&wwCtqB8yz(e9N=EL$|l z*ttvslWo&z#>GcCb@w36xuVBa8{9+Wj9qB7Ykkj-?oK3R4h3+^Y&|)lk;%-zwR4%I znUN^z`WfU1a~PSQu|WUP3{);<_;0LB6S-2Snd@;M*gV-l0z9i{?1EaE1vkzM9F9(v zI!lW|tZ+O^s_7?u4#hAh{LB%%lOSmrn7RHLha9O6e`L z@1>r#L(OUC#)V4oiqsWc6z?TMCr%(5%~@h_*p2z~<1$fcqJy0K+L=p@zC=KJEMYTb z#+!R_3zHpQE!ZVHz#OQyM6F(D2>AXQAuBvdcxO)(T%Nm$_&4x^9e&LvA}eQsQvrw2 zdzWJ3>yIz&Q@DU|;`|Xt@B_s=W_;wPOSynP*XE*V^|c^S`EsLA=K#}iS`kU^_Yy^8 z9D=$!73d8fMS_+RX)bdHt9?UTka2%6Cuy@jxo_M)qEixs-kFaR54%=yj<>{EcLecR z-_dbwvG-{~vN|np4BUy54$UF%85a=D{;$?$)N|HYbsDez%Wu)l!0U~ZkD7wLIm7g@ z>?2~Xsw+D?+?y#sX2>}=xP^@lde7>=IZAvZz6lm?7BfB3b&O*O4eVu}5XiwBt$~*) zL0%8xKQ|IBS};ghl%526ubPkkn-Z;1Gjl0!tlj3dIk zJ~t?;c5{{Q*NH^z`$owj3A-cit6-zscES3D3>3R5iS_z$j9I#-9;DUu3r44`ChuEj z2=l-1qNeIwi#DC}W#l^DDZ@@bCagb}Xv3L;38B-#yt@(Xitm%?i+vr|R~O$Q1W(g} zBytWia};p`4h|BQ@6Iqfxkr$0b0-mFV}M#0nV}si$)NWAej;+39r=6VMRt;RD(JFF z0-7cy7<7_DX$QP1oli%Yfqq2E|2LB`Je)#gnRp6U$gU!e8JRKeP72a{qz>b;6=NPaXt>&o*NGS64vk-yxnw>G8Tt&JiV27g5sDc;f1?bgyY3CQcujKs;!( zLlYFzkf+2HdGl?NJ8}ZyV+x=v#+dN=?-P6YcQxC+`3Hf{QzEWV${BT*703i$p<W<6#Son+w5!a3Fv)uSjV!Wk;9;x+DT zI3uoI@lkx+w@S?0q9Z=E<30*s@C2o(J)z@%WTQ)%1~KduIRC~ewD+hfj1pXdskZ&_ zzo(60-;*7h#G1PZaZr01m$|;gy|5uyLFTGLbq@W{)T#``6!y3%Papq=pw< zw>=KF&Mg+-DdEE_uM}{B?Qy)R-3W{AQlu`_aQd+0VU*rE3CgXG6YEEa=rg|+P@1Hk zE>r&o;H?>OeZqctV)(n%pIF7y&gc_!gr{f?>jt!I-%)JW!-(&ne!|@Rq|f84wiCTm z7h5Z=*Ws0pDDXx?o6w!qdeD{8PdwjP0nO8baZ<-eBr~BKjvY1?=X$Qio)$kq)Y?PL z8lz5J5ZVkqqhBJfoB?m}<6_I@b^%5aKhf3scfg&LR*-2d6n8nwi1K~! z0{7B;v|U|1;Z=|hhEHCCZhg5l+2_URU5&)qMb%7Aod&P!;4-T0q!CM#3#c2rRnejZ z8S%_`SG1@08sqMxi(YiefD5|gdGT8#SS~zfwRg@MY`r1_7freZsx7AA+fU8${6$sb z)%soVqiqvPBq`X#iH2L$l5qlWD(Zb@FUtRYk=~MAi)GyFu-@S@lqpyU@s7jdhaOru zVuFk~wSFQqcWaWsxK)|wIAu28`#KsbE7alC_3N-tp%;~IzX?2%Pa&>)TF~bVq-OEo zYXy-S>+t+1rLgyV98EO%;{6>-a7p%mNOM3JD%bo4@uMzu!{*KQ7q>I) zgEDM3RK>h39T0mF-RRSYa=c_H5bX9Ff&C`hc&^N6WN5;ND#0z#?5Qohy>tLl;l;T2 zZ6fAP9giKi%;XKv)8s84T7aJjXz}&QiFi0g>d;t}Dt=M(4qRElqn8ggNNjZbnl>Mo z!|4GG*}^%(H&vg{ojllz(+rQ22PUl*hI(HS@?|jD8}|i%dV7_Bz)ic^XWJT^PtFES zFQ3{8m4B-U-Hw*jKMe*(zg#ht?PHRH)s z4Ng4IlZDdxA(phdI-dWZv!igF$x1S}Ojp?UXA=2|Xy+D1T^9bjQ9#PA{wF-fF1OF?x{@E!_Y6Chwh*R`Z#OcD(7mpK$M-mHhhN$)X_FNYRmR z*ZGdYMdb8wbMk;sIk_q30R9-D$R+O|MN2RFksT#fLamAdl5FV|#vL{xKh3HZe%_vo zRc91fU-k=vX;S-$#9=YH%X=F%C+2YT!yl1o^B(-_raI?)FJp6OMge(W{s{RT$B}<8 zSOSxNLvB}mB^*9=QmFj)0=YaQQMfd~lD)DpTX^a0YP`6jm9+kqh(?^;`6p)i3boI- z@`Ddj{C&ym`RQjfQJR!Z7V^bHbjIr?X})Z+P^(~ste19<*IY`+vcblpHOJPIR7WVO zk@vT$Rdk5#zjH|VW78_Gj^AG?asCy2+h56>DKZl-v^+~bNqy8bFIJmBuQ8u!ORJ|F-eK57TChGxf zyF)N^y2Ah9%l?xfGC1kmci4e)t+%1iS@aDKo;WKSZZf?5^Z@S(&Vb1xh5X^WbSv_V)~w_iZLSs9 zxZcFOUBui;3A2PyZ!dmY>MRUZ;gNC;`TQfEnfw)F#gLl$T<8+W2%D$h16&gJzYsuPi+#OFh50Z zTdLJ`Gy1OZ*sMzu&2`SuZsmJvM)osbMQ)ognX`pFs_r71ewPsW&t4x_8bL@dDc6>Eo3)czv&MQO&FbGTWx5sciE0Y+wjE7NdGojGxGCetAtu|8XG26omd zQzN=T>_ikN-OXB354SZD{?qD+JNDC9#ljLM+vNk{zx&Q|vSZc1=M6 zaFFw*#)~lAE6r0&^hCx1x$L_HcNG8lHTTyeT@(?qhxz^DI0zcZWg;WT@%Fg7aME%b zQBv+-j;~ypW zp@pM&D;-o7#}7uX7r+l6C|SM378FQW&{ z*IFsZ+-xsXzONA!+m$nq9-E@(u&t=SeFoSqTfzLRy~!~f^tH~dI>9(@ZKC9{5mWMF z35p5*!7MwhgNASCql$akz&Jd=I+bID#rHHoRrWL+Za&?91F^-JRLmqhmQhkZgxWV2}3rmwThkO9TBH@Ffl|-N0N8sb))h9LSKtjf}ZfAV~OL#_?Mei6R`0!S=-w zoF56cY*asmE-g?3&-5mu-Nwr3AiD|Kt7!o>{Q;?KQjJo%eVdpx;>{Uo--YVt#Sk8! z>Z!e!uQ;2vV#H?Ko^f_>+QM1%B!>OlZ4Mrt$wO-@{tCWsNd$*j>D~09JUTSvEK~9` zn#w+Z5d1hzG30C;L=BuJOa~ErMyZvF8=Z+J*7|`jN2jCfp5sx&;5!^TVFM>sSrH7a zzX+NwZVC)Os{@Bc(}-!08Ys<_eZ+dDTf~Bz5cK_{7=3bF$C$!>%$F`p;$ES&D_Q3v zC^LJ^lqG&4_7p;96|%RHZTg$?-PwvmgO*F%t&l+88HQKmAN`++&WMM7^Cv9(%&2|*{UM^k==fW<3~s9-7-t@3^f295SI zO9T8-LwW`vlTI;Dk6uO(jE-|^iwscC4|{ZM&TjTnUJR8kd!1YUBbbOi5lZ(>GiUy+ zJqYrjJBj+kc|^ya5u)yT9cWt=OZW!Q2b!{Ph=^I%z~Os5c(ykj+MCh=W37FuL~u zm~MC;tX^h}TKnrzY4%p;^T~2zd-Z8%)VhU^Ff>GWlS0r|gAPJ*-EqdzB~sLJznJ;$ z;3(<~vJi{I#aTuO~v^(^{1y%htfo9>2#D>pHh@NdpsH*D+5t{ms2|c3#pWc2A zX4h*_Ln&r})h=S5-KZvqYd11u{~mzV8yB##i+(d>+rJYNii)`};*N4VT%|1SptH&IdL~c{3B;LFGNRwYNPbHL~dJyvY^U7TFg6nS76rV z$~<&W5{3n)iFsvm0#4djB00H{xURMuEZgz~jeqCIREPP19$6*o;eIWYb90FBZy(2O zJveK~8x# zgNRzC$X*M5E^r$$2d;x@!12vO*6Xq>aqYrZtnIghdAZykMOqY!R^Cyfj;bAnfm=Hm z{IP}1uwn%3^ec#FR3RAI>4fHbRSD${e{$b?#d21Sw?&>G(vZ*NEYPz23zHy~N|ATZ8~jfg#p zep_`nEZROQ7+PixB6q*%8s6<^mKx@Pw!}@SNp}wTeB%b;GM`H)n(Ko&fz(x@{EV2@ z_>ANIUpe~s_%36z-?v24%%lw@cZoCKy=b|lAf{!@5V1nW9W7e8pE$V0o%IwH5w_*O2_L&mCSi#) zXPm$hH7}^&df5iwh>fw`A~h&OHz2>#wZ z)`^q6i6{LUVC0~NAZy(!UUzq z1H`)b1Hq}MznM<6X`;jXbWyM|#VAg$rB)?uV`e$9M5pH}v1jm0dajoeXP|c<{XAF= zJy=)|1e=Gz%5w@xJ7|dBcyyCEaOZQ{EmxUg@2aBQ_bbIS*GvK-4lMcZ$7jKWpLvaw z-rDhAzv~h?1d1EETV8YKZw^Jf=So1CODo~^{<2_ihm^bd;y&AHc0=H=y%2fJZU7z8 z8bnlS4sbP}ht#&n(zj|>@zUiFGM9FLBqqNUfGnD<@AZoU<7itjZA+LqsUwp*drSj- z`E-LGzAj*%?n@v}ewrtEz4kga!D2l#ciDQlWZW9Y_S<~ktMeNvgDdUSff{e_DnSdw z|7#}h$xUG*IXKzo=7aM)?#jsiix6$DMY&4f6N01e?oEG zS9WzcA4tac5akw;%mp7mB1!a=*q3N3&^iB~ux0I9w#{H;V`k4w&Rg?CM1ZduadV@a znDZ$Zoos)}?j_G~Ud=8LY!J-m6@M`_R*tNB&_-`Ca$~r|QxCn?b6pH3(sZy)@ z|1pB|YKZm873`LuOW3@)LF2?8j=QvT@^s*@;96&J@1Kt8h}RR^4lZ4gXY zxE<_eVwwCYlhN5_XPEEC`P^Okb9omY8WEY@5wl{kl(id8AA7e6t;#NA46BymixEq3;P+Cbw<{c#wzGI((g0=Rn?Q;8 zKBQ3NOKNH32{gO=5$LzxM9Ukyq1c*kB$54st~kttZ@Jny{X8F;4(dQ+O9D`xX^Jla zF1T|kk&T@eDA{^59F5I*K&yxLSWo`25>y-xh3ksSkkz$8YT z21&)~!^rc12I@|(`SnkI64LE2X{7q~D%bY}5cG3*EcO3w~hwh`k;tJH2cNKtvozP**O1ShU=mh+1l?|Gild@?{u={@47!LNy#tMqs&f&{pf^2Qr$ zg7BlS60ra0C~cnohMLw@Mhg&DNDFg9Q096 zTte=w*Bm4)|BlddONi7&$R=<;zj|OP`a8K*dRljEG$I&Ys*k0 zY5|s$&JkyKk$Abo1U%qtNlrh}NcEg{N86T#AX5_JOFda&_O9d9)2EwZUEX1CZ|p@u zQe_&-y|7y1r$&NT&>1hIer8*6%p)#&J9+v7vnmV+7K(apPHrmqh7 z!pD5XX&*uE+VZ$?LMizEGgA~{rP&f(5q*ql-p7HJa!$~xtUx~!IlCsA6X-pse77g4NfJ2+U1I9Fv-hTEy`*cw! z{Z4rqT$`o>Q~7t<;TZ`;+T~f;jXI3f)4I_6NAXm%_pqqs`31B(=aS%x^Kp)7Q8H5d zbz9(Y!3#9(55vbgcC$4bZJ?6jEO7qOVZyb@fC+wf9`|*|6M-35C_jAz`oKz6)FEAo z1+A)uzpW+2>fiU!q-{e;S9pmvtTdsT-Cv+nj;8dxie!{*9*DYS7GpW-Y!kLy>U&uo zhtuD+psz(8bf)y(ePg*i?er*H$a_`9ocxl(uAXH;eB>p9*U5Q;N$NB3or(-P>e)tC zNBX_z~-yCAu@#(1UvZAoHS_hpev;@IcOPF@oPi&fuF)p7+K!>*DU`cBg zbPIBVjt{Scq;w5DKir^kuXz_TZ}!1me0BJ9?QQUM1uSr# z3OhHOqiEL)?Chl9$RJ;ib~pKtQs0uxzWQSh{KIC0FuIzG>Zk_aZav_9>DUHV#%B=h zW|o;_@|uXYUx+?9oMJaA-eX(rPqV^q8}`J|5){%C&*}_!ER9%5_PCtnr6pT=h-*>Wa zGH23?C*N^?Y8ueLCVgYB9j`?EF9G!V$q$H610RWNr>cN*k~!$k3IV?F4y4JI@K z5;>!$ZEW7Rx!`^h4L)nn0@jc8z`w?0;Ols6#Al^D%*Dna>*h=5UEdq(1rvw@p(k>E zJRRsi+{3uX>(iCanA!5cm7Zq*k?PMX6@7kM#6(5UCGy$?Xz#ZBU`P5}#$LPyY}Atb zpP@7Hhw6*Nu#lZB*$PQQ3USZ5ckYa(A}OU%TC`9UqV3meDQlFaB(k@vl)}t8_s*S> zrA4ABNztMb?TL1ke)BKPXXecJe9!y54<5Ix0$epo!;9}%LMBZJRoW{#YhMEDR?1`D zlYhvOY6bjT#wmKudrE(aoP_;K6ye$SY|cZ)k4H7;qqh2){GM5xpz*_xz{LD2Jf(L5 zDSSQ0_nn0~sLJD8dUc=~`djeY#4^s{Yc`r!8P4qdK7-gymJ!~Ip40sIaa_GZI4*hr z6a?Ar1MLbYp?hU99u;4U5_UAeLv4=SWOhDwFmZzddoxrXd>1<Deqmi zCcppUW$<|58Y+I64SkN}U`K-z*}PdU;wfUzu3;W8V#gnl@}19Lkv#?dnra55by;wS z{cX|dIrBsj)<^M6r&-7~bQOQGOR;$2-+T0K)Yem_oeo*Qb2I0?2?2BH3& zphPt8LR@?>Qda1_1O^YqbJMK;q0TWgxGP;oXinpK#K0;1 zzZQCU!S%y1H7F978i(UetM1ZoUR(fu4$nYNxH12P+e^G{&>z6_e^BbCgV4@JkDp?3 z06(wGgEJ#n;q`43VW+JRyt_G%P0clg%xe|wVPA~0)M8MC-3i>fs12s~!Ur_C!t;Gl@#U}Yfr&|oMytZK;l->e6RLTW(%)K;!%j~zNy ze%moemSMhTQsme@XB22kufpQfmoZ!uFS65}2A6-$z;E8g^Xi}Jvt_cgBf55vc;RN* zmOF9>Aees8>Z^r&9=zoG3^HW?YYy+dl?kFpwSkQRp7>8L1;*WZ3>8;KBX>7rF!`$) zG?zIcyfVg1_`9C)qTfJJvZ9T8UvQuBNJ^J=B8=v{-zXJsHd%o#%}T;?l}C}u7Gqo_ zpRm3gVWN^^(m-!O%uu=oC#EXY+&9D1K|7LXSAPL1W0#X z$&5o;py;I))Z94@-|p6Ne5_C{?y_tI>BI=Vb|K~hU3v8P%N=0Ayc*p-l?ExH4kLR|kQSmNo7>#E}Mf-Y;x)I&NrGwclTk6Mb$E&7Rf!b{jhPV?R}1aTLZ-Id?4B?Do1yDx_Ee_Y){+Z z46f#;<7J4zd~IOgvgv@x#$+_gUi&rUyu|LZUjx}J~a?)|rko;6S+%f@&E*6JW& z{?mX_2X2W5wOd3M+S%N=m`~z|K4($HMN`^m+-yYtw@a@sq3h&4fJ)ibgm{H_L%dc6$U;JGO zaCv{gtRFkz#{2Skl!Xu2?Q01cHzC(tRE6bx?g2e-2Ru4&F-|&U2Q#+R3tJBRkjA#J zI9`4(-1RsEX4f|Z?Vs0?d9NDneA)%Htr$RSTOkf91^9F@L&jEn=H(8(ER;H`r5#7p;gV3o-RynTijZ-SmOOne`694!-XPd1I4SDs2!lrlik-p*LfLK4 zLgupw0e_!6<2#Azxb(L*o|_qm&wSYmsfq8wtv`>!K~BQ0jxgrclqbXOOD}VsI2>l2 z|AoFqAEUkfYtVw5oOm#%m}>bGBhGl&FS0ZIE1dPplo~9xLjSr|9bRXwAx0f^2kZ4K zh%2)`2*oiY;7L#{?Xr7`_{6f?bn4t0?9cln#O5J$(NW5fGr$5u(xC^=oWD7pbTLOu zp$Urm8jg1C`;HowT0|?{&Ve%t7!*z}VVO)TgmEb_C!;-{;)H`)&3 z*~Kq-7Sns2x@bqP_iG68z)TMQYM4dC-K&UR>x;tKq4j7}?H7@^+9b3@@u+CdHC4yO zUn_}(Qaf~gBM*4CF`{eI$KYI{m&oqQ17g#mO~gIHO_`HI16@o^0aJI_A(cO72&q&M zg9m;SKERq^?Q%>cuRLG0`8|nLg}&(S4@E@j=z!wQ%B`=I!ALkh7fPDA)1dHnjPUljx81!_N8dyF#Nwj8>mZ(5ZDuz+|{J--*@Fwo=5zgO8 z0$soNGYXD$qCGxH&>*6LI)iVXcqkp-Uy~nQUW0z z`_an;H@h&Kk|WNE49bE8CrhBEN{WZ|I25HNUCSqtj60lyd6UgIl5}Js!|o5cQ;vY~RR= zT|JAyvp1(|J>0bRSvA? zjuMx7rktXQ5AiBE2B|)u!QHxg9&9;gj=n?;6S6*F^on)g1!2=7Rh>7m)wKn7=lB33&TA1nhlvqI#B49y<+b z0ySF?;-nfxwb>6*YEcpTa90(r^Nt6PinKucvT20Bh8Y)l=`fF*7zRe={a|bU=7YR7 zr-gMcdA!3!u+x*SOzvvvDe>3VTH18sYcTiX3_y1AC2mevnR z{g(~=>*OdbvrM4F+CJ0nyO+@CPi~?o9od8@jO9>j;3`^s-XJLLN&(w4N08sJKFn_j zVV-o{fD;#+!;Mk1!O8Y4+;;5_OrYGv%8Qyf`H3!YUFI^0GWtu@+5JN?Z{MT(&PkBX zSER#M=V0-p6Yz1r3t?Paj8nb0!9YSbr}o?6{ny>mB7aL0c9>;q zMAz*r1}7|s!8tQ6P$|nBtTbD}Y|u=@hfL~_){0i}P&XYJ=bP{qx6&xouOBVXqF@jg zC%PMwCwV#LxMQFDT#3|3i+|&rK21$^z-vyK!}?7uN;|#=hvgf?f{MM6n}g&0bI|lhOM8Tb4wZ&@ejKd0ByNSds($` zPgig#?o_ZuM>h^$lC%I4-Nl198&O45sATF^E83)etmMY7JiMmN0B`6J&~>+qQP5XY zI{%v~{4ek{n3+=`DX&r%Hl<%0>{mAg|I?S;@Ei{%{XxYdPn|1XRbNI@Y+o9{w(A@*xU?aR3_jz zHYwz7$@%Gqdb6=Q+k(8-S<;NJBK+Rljn-gCeC3}l-Z0q%S1SHS5e}(Pv$zIW-7nP+AAzb;OGjKwYb3KEQky~NjEmMf_r0CCAS~T zI^!;^prd8`z$mj(ct>L`eWdEKP{qcKNE25Q!c1jm>#Y*BOE3?2Ec9eb2T#&nUo7dP zW3JLaXQ$9(ZYbj*!=E6_Wf4C#FBVH5Y2$lya*-ls3A&A=$eUBUvC>g5GoA7K_Y zPL?`xnV|6bF|hmZGOTiVH&O0=5HA^Xjkpqb2tSyh1Rrf_!V1lPOz6D=Oe-0adU0#< z1&tn1ey{?@6t4!uw_n01oq_AIrVP%fcPuvaNra0ZVtmZNAM<83(3RJ(iiq8>Bz?F4 zle90(r{fn55g&0o7XRA=-|o8rHIJp>w^7iP6N%+@z*brkQ{_md!5{I7z zAFQX6Aqtt`>W7c)`HMH{<<=9Wmi#p6-LM5d46da|RQ(}Zeu7WRn2R4CH*ttqPTZq> zf$#ez1+VBR1iQXI!bgvJ!??rgG8gkc$2HAuI72m&wu>o&)<3dvmk$SPOsug*jUAJm zkdJ*qrZ^@2xa3QP081`k0>(YQWazq`*kh6@xcp%}o*AP`SL*TTMO~lKyQ9D8naft; zf&^1h$A6|wbzmzU{hycU)?z1SoW2Ar>@k%Fdu*d!9u0B_uP4xMkMi)C)OcDU>=jaO zYyJ;r26Msp z%2P;VO6xE)L6mS+-UmF#gw)MTjdHi_9(Jek&uFGSO?T*d)9)m%qoDKc1Ai*mL#!h+3X z8GVtVG<5qYxcA*}86$rN7iQ{XY!U<$v)A%#_x(fzjgi=N+D#^W@mq9m>j+968UZts zn`pz$#*CNdCisN^1b+A+Pb~XjBAe+6te~ySERXyKY?8j9G|33Q@L>)(NU~tI%YLHh zZ64pgFrPb64xnz~dU|-;Vfa%q7V1roqC@{1K>-bE9IZP}e0{Aor!o7WsGf2H1$KbD zRF;8^4^9vrbH9s5k5YG>RJ&gEF1Hl83{Qr-AC$z+`ZeOHDhF!RRZFfhR|ovQ`$crC zHi_%k4Kl z&N5CyiA@fN^hysIu2@P}WolJ^a zh=YkyLMVL=mMTVp$jKgPi(-sufl48;ll1a-oBb56jjj^y9;YB$(-#C<<9?u+1Lo+N zcOqdB@tSBKlqX_pKZpkcZV@MbXaetX79h?49P!y)m1CmBLTR)k-}=@;_ClWumv(l8 z$n;w(@cJ+v*{mrBhArywL2tb1yP6)V(lB+(e02h4HfxCXP4Wa!`ZPHWH3-Z$@j{S9U7+dtsw! zYlssU_~!zzD`Fe}@~_RJqPrpJ#4ih8*{F2K+~w6=PkubHf7U3G-r*ej_jozUg)S-B zlXp~Dy?<)8@S84(D^d~~Z!Z(Y2QCM(D%Zs$X%(WbTR({J(fPud!EC46DR^Xcr@%Jq4k5f+2{xQ*5KryS7aN-Dpr3N_T!_OrqOT(f z_2fpQ*Iy;N2KDmMhQjx2=v>4Rbl%h`w znbjT^DX2nkKmXIWZ`8SDk+7LPP9%R`B@!W1(Dyn+7}BvwbTrwVE7s4V3QYDd&~>yunC~rJVET@0l@`jT|&Uth-P1V3bZCi z@IO=qfPtGULGki+;G4bx&}*KE0s@bVOII0y^)Ws`@xNwbC-;@usqs=o_1g>Sa0$w%Zd8sPO`I{b?* zkubc0L1$!n&56?xN?E!M=eqd8&J9AQl8%um9XKZ`;Py&%)zu_RUbW&VG!E=sFpqwt zB#&!Ezi?d1Jv?s86S%tn3=_G@p1kbEkhg;m!ESHJ=&hMberU_3gC5oK7hO^#)8+^8 zH{}$gf{~YSA7*dDSoCkIg-JPCc4TG(85F zmpOv}1f_8CylbGn+k||$;x-7_#NqzeNzjlEWY*Hjpih1;<2p1Smd_?&`n(zBp1~uG z&|o1-`;Z7DLMZ&;TOC$BcU-bK^b;6J{SM1_29P_poFPw`-@_*dVwlB`&tbKDO`@%1 z-0O!owFSacrLV|5<42_Jn0Uz{(im=Dy#mRwS^BMW9hOT! zLSB@P<}syDg+V?n#{Mvk^bZieDsX7V+?cH-4>9{F+f#g$zC3(-?g~=JajBLMTP5#Qfh31|% zWC~h>>5zZN*nLCWm^)>qIQE|=Jl3pFrfevcIBxy|m)Gs0mFwz>&HT*Z6k7MCj<7 zlTcY{5%X{5Kj_+`KsL_N6;L*2r1>QyX8g{Bv$7L9Xier@T`Bti*=$;iKbPk;;4@wIM0J0frfDz zxTH1{zK+$wb+HTJz4#VzVMh%*WRr*F9Npm~_5DB>rekKOA1$BU0wV7Ei4V<~3uc>` zVl?R}etgRS29DB`EY*~Q4yEpJg=iL7m#B`F*SIFQ)Di-3w1~%XFb=NNpq5uuP-Rn)QGko7F*MF~lcUBoP|tPl2h?LNHtR zG4ZhECitB44ipodh=|dKUA!Q0IQpJjGKnwzY6Dx zwuv#owoVroS1I9rBbiuubq(&>45)}@KJd5jB{B$frN-S>CFI^Ti2SJ8+?AG8(Yb5y z!Oe5tEP!2f$ik0^%3jYMGj_qV-uc463oRII9#X%J1=j6$45Dd+9RD| z<*62sUJ}Hss}fTJPkDH{@hh)pXg=}#;uvr_ybAT4?iGLjmV)S6op9M4Ig#OtQ*<$r z&i;=2#EU%JN}fGXi)xJCid*J3Ba_t|!J`H_loWmhKB&o{Bedt!pMtf}Dyx@HH=b!j zZss(+b%i#vtrClJu5PF4-7Gi~wI3Wc%RrYmMG`4`j!+J^fj8+{6z=Zgn(R*lFXM%v zL0t)oR|TWzmkM}G4~5`YF3;&n$se88%{(hy-f)$+*%*d=b@o7mlTVSIrU&-3$mgB7 z^cobO65!Nvy&QTo2buZJ#Y^;!iQ1SnRQW8PZYNF>+Py2`UnOrsZrWv0z|>mN8=FPk zqWD=j?#5K`>VXt2D?SHICT;|hA5zd&ai8azItU_tx{$`Xui)I~v6vrs0Hy3&iYA>; zM=pwMkfXB>qHgyA%atvT6RNC5yub6%F$Fov-`{WPa@Tq^IkZ~*uWLPcxYP_@lSoO` zDV=~Ys^h{!zOf}P2gOJ@7Io?wBk33mabkKZc=^Bq>`X9%n=kf&j?F0`O2ZumJnV*H z+!67f71`p>hq>a^j#RPsmy2Lv=@wCRr959A=Mfdj6o@KOhF`}upyq@6ql-9IrC8kK-7Y$^Y(M*``~xu<`wdm?+>L&vYof2)DG4!N9$srp zL6g90!pJQcD36+qS?L+DaQ`e&RullH^lQN$l`;?nv}u)3iQ;{44~vf+7!a;E_K>uW z@g#mTm++he=UJrDK`hPGM%qc+aPuK0qVrXaC~v5e=t{0fyibo%K=&kM(7gt%eO)7( zu)`0&yo!Wxfie_ZIiZ!zQ&G;XUKC>N534U92g$T1`Z%*0OkBDcV3cPj9&5#~$~1DYER;#b-XZI(^!`9FKX-$C}$-6Z_^7um*C(^0AwdN&P+i zUvLSw%ZL|OZ2U)*EL)8B-kQit9?(RqH^6g-AMiR{O+eA56V;82rZLztpY;e)Mima~ zymv>I;)sMSFyZ(fu!r|S#5fS#1Kk(mxE(Iypsp`Y@45yF?}1xlrOus%LbWkpqdkR4 z%*g=zms#;_dTVG0Z*fw+)Xqph<-}lL=IiyoODcW9q za5xIw|8|aN`J{_*Y^g=Omxg%UzW;auqcc$EC42JeUUgv1^A;EHh^3llmx?b0z9BbP z_=|4;+bsTGKM5W3+c$l#`66L%;xRbl@6OglmxyoFbc%FkT!H_wsZjcA6&^FvPSkTv zAa)vGJl>!NS$lK?>y5^^yXO<~uPy{T5*UzfzMr+f)K*kyMhtYO;oy3PR6pS;@|vk(Jjj< z=vD4rz#JEg{C4&co7<=IJ&6gt9XsTpZOdHo)8MmU-%*iM^G7WHQn#DvNE0zxGt~Gy z{rkB78*QXo_yY2anUtSbokTTFJx@Ng*iJQWP{1JzE`Z}3e&7X**0Sn6DL=Zln?EPA zg>Q3FpH|}`X7dFZgYK*6yv0P3b&3xw8`W6==aa-fRpXt+aWOxZ*k>Wzlmx4g!8 zwWd)GdiIhzLD|w17S2@koVWat>u1PD*J}I@d$74Zo#ZH`jG8H<8koNBJZfbBLiUdS z6Vh_dNs_PQfb&X3tcdN+kZuYCh-pDJKRugi(Hw@u?E|FE&lFZ+@D+K9QD$B5 z#*_N;v)QM28nAkuA=;SKLmH!}OzWqW)UoRv*_X0`JUOZ!j??PnBmeW{sU#CBd@zh0 z=N865IF`3wyMkGIAdFGZQ={~JvYBm1M%R2h7{#u!6EcRv$9QJPB zDZOy{si0@>UrFf_z}!5rkSRA#U_V^%qPC9lV4p9Pl10azgc`51NsTA7S?|m{ByDnt zbXsteK0f_CIRG(ZZ05`B>>I`QF0!N=KV%EC>TWRS_FX5HTE6g20+nkb-()kbN6ZDQ zb-VHBgM}n9_YY;PKb6sSYmlTIy3ODCuR|K*u!1?%-NCfQOZW$bZj5$mpJ423UpUJS zV3*xSHB-iPO1EoHXBV(;&N8xRdnc3mxrJWqsUuBG zNFmcZiufH0n^Bs*K6A9P5`OhdlGY~OWVY=OWuGm(#6;Da)|9VUEA8#LEs4!oEBO+o z#TKQjiS2vym}T?zsmz5^tWf4bNwu_Up1m88-1L?8CC)y`?pKg9NAg`^-@|Xr_1zL? z!(Up^Y-}ZCm5o^A!e?akmaAl}?HqjQw;?-o*DUU+V)QXj zz$t$guo*^{&hIY}OuG0!=C-QT%zycq8C*AsA{zNDm0rs#%BKnhrc;^v@&-KiPrTq| z*g3Xoku&*w*KRn2e-D-`Jd{!kdKq_~*}^@k6RR~(Hm-N?a)1|pocWHri9j=>f;e!^q?VE(8kd&!hB zt$ZytBW}(3)9}KBTBv8Zj{he(71vy#Kx*s*bZ=BC_>VnCo;b6Snc3&Xd`?Ob>BW1( zYo>vWedAqm&ICTUQ$v#ptN+f6TRs~FZ&(1wFLNaYQ&kzi^X+^7ZMFvw!7$Wy7 z5AyEk-#Ad|ewED)ciifi)l3)9WleCFY7L;(2FYq76eWTxr>JqWt1J zEGR6cRU$^?smgnC_}L#=?5~cGrd`JUOG|O&)l+zyk`B`vrogC5*%gDCa zHcS<+C#}NV&<)^%ANei9tL2tJUs5osHpb9CH=^$(w+FY-l8oG8@T7 z(fgRRt3Bw`z4QEr4YgdjUo-CB)JgsnFd@@w_88=npGoA_j*PE=!t;R2a zoLd2K?#;*2Czjmlw~xVXcW>sc=q8+S@dQrm=s@BviqZ>D%h02^RWQy$k+DgchF7na zBY*wSgkA;X1yA{uBH|5ePP5jOSj`wB~zFW_3GqH z*C3!?&;o0gWbmU{6-mcQPqOLb8ctY?VXjo0*|5Hnm)x`yXKQNmdl>~bbrC6$n%2V- zlXuuMPDK!CltJ6>|Q^eH1Y6i*==gC1d>p8?cw6(iPfFogVhvJTg)$~@{x@z}xO8&_#! zEj>Rt8N9wXNASpLCRyk^o&5g14J+?efeRH*|ua|nh{%(mI;&Z6f*O~JJ==PCol_cRFSU^$+G4JHH>wu z4%0l8N!m3>ki)PT#YslJTqffQYo!xU&y|jd z_epdvA0=B0W-&`V$|p%zOAj-mKU0{kXEbZx z$L*GUY`@2>ma1dL1qo#8(_T1W=Ez*OyGg2AmonMlBJG!Rl9XIcN28a`!z!X|#^#_G zJM|!xWi@w7e@N%m=>A?uR%v^XixbE3-mhH7NaqDG>bLdSX4yLB!RG);LQ(|&#LMN| z*~os2PivTU=Ef}0Y>{|b|6s1{Y-cA|U1lt{kE;n*kVxs3S0vZ`vm{AVRxvvdD)B!B zr7+^_=2X|Z-;gx0AeCQg)J$7vDrExg$Zr>i8KP5_v{KMyoZgLM2x>ms)>bJvdglV8 zuXm+jXTSyK{$5v6+LiZw52sViCMKWE z+M!OZ>=|LsgcnM?491ZE4(?(~?N>74{eU?dPzqLEOBZ;gc`?*Bgxi)xigV__g4!@2 z1`YS&Z|xFkg!NBm+M<2XF<~+lKKC7UX4^K>`c(>fuKEuXH@$-Vb5|AK>-xz2O*u&R z>jaUPD;6TnZ=0E?^!Z?F;-$ovBme1?|?Ne(EK%PJM5v zz^ccbZHZ7ICTb}~Pc1=Q>M14^+VBJ211LR@K(p8aKzFv!3e0&b26H`h0=3b(5?x#_MIn%`DUelPaxQM^(>>3E$al^+sjZg&n$_w zq``5!>HQ1M*w7s-+4X;~vsX2Wd8;Gmv99}WlbxpS>~Db;DZROc4UHVj^IHFwTHE3v z^%)7Hh8265s&ST{* z=L(wN4$%{@C9>ZlwW#c)XJoE}$-Jyc5qo^wQ_{3$kRd;gVKP$FC{ekM zcpxj4a<7kP>AIu*{%JP_d&UjHRquVBGQ1$~MYW>%;eR4(rB)1?X+}yPJ*eV#mD`Y# z_Nju*e{O93M1sQCvPn0|clw%>E%sB16wBAkN>3^booA{{5PxWW#^0n#NC6$jwoL4n zB!~Tku1|zyRbd(X*5V4TFdr729=$|jaMzK#cc+D2n&ik@Ul^opmXxt4?uD^-!S#~o z34PSAczyQr=O`+tJ%cK~u}h?X^8vf7Vim9U_AbQNK>@J|9V!PPjLk?795=-gJJnXx-w?SurAv-a&NW3e+ zgprHV6|djt$%uO%Nh-R2uyGc}?4QOas=2m=_shwTQPV%l!t6|@H*hM?I^LJUorkG( z@Qxj~B9>iFu4gm8_z1pt`3N@5ddP-nj+VAQQDhq%|5Ap1T2e&?ZK~n-BfeG!rp0$2 z(=T)m;~PhQ;HyTmouzs#^Sq-JAGXP2UW}c?gmcvdWWO2GZyk{n0pf)g;DUJDzD=sZKr^cY>L1^_lT9T+X-(^uV3dD`4-Q zz0CZwV)6I54#~o>EzF~aHc6hJ64deOh3iM1BHuOdWojLq_}LaS$TymujMk4txJXf( zTNeMZb|3c#!n&HS#spz!xu>P=5*%1fiJm4CyY@{Fa@_Zn=t$4-XisF^-1&?;#RYE z8eXYl2$`?0&vzUfE0!6VdLx+CYt~6-?mGd!=QuG%pQ>oOD@>ZIJ%;S_{vr8!Ng32F zy}&qlUto?mEhh)>Jm%iUKN5)cO_08fmH9)4Q^*^Am4cg5Us31bZT!_=9dP^DRD8#& zLi(bxmma-KA1iOy!?T>4VDF7u=4zb^%+QO2+6j-DhcnCgy9#!Z1IbTd^pXnfsjNk= zt1@J>yFWqgr^y`ZsFFU~G6whU8jsKI%*Op8P0)5#4AcJ9m3j4hFTX3Wl?%JNn3sUo5`AInQx=)P}zwTxVYz~n9 zs_V$f_Fv)TGACNkw^UltaDaR@YB7HmO_HSMX2$9BGk(FQ0OsU36-kP)K=O0Cv9$F| zadqar8uH9xcY4e9m*jB1HMt=2DOv45i}YGDo3WTRk>V49l-;eV($z~nq%$tqOGkEV zO7r)M82yX82uqBq zXC|urUi$*U-8wl+uWdA6QJ%wO;3DWbJdM>FH->uuau1hnbB~$V??>f){eWj(3}@b+ zX~s4p8CUNa${xwGqJ}^Nc8f&9%pc9%iZL=j_4O};9n}rE=1MX@D#VEW=U~7-O|^Ia z+4hKht)D>NyCEc#<&*H$rm@tE)T59!QKT$hhLC%ucCs_`8!jcaD33+P?6I<|r1KO$ zGk;eR`TY14#>{X&Ir^~%6?!d^+VRtljMA3*Ks9AM%(FA3O4JiF{a`j(alw~#PdkC4 zi!8~Bp7zWQWq-z*fmB^Y0&{ch8E#qaWxVUi9tgD3$qKm&Qt^3;V5GN{X^0#U+;Z}e z?l7>D9NvzZ-;L!==~5R~61kNcJuQ<_v42cHpLZP}U!O>3sIOt)U({s6V?xQHKU1Xl zxVeLQ6X~xT_sbmrAX-9IEIWDqoSfpk zw8WnaQ1}av%~mDzLe)bFH_K&$6O1#LPp8+=ZeX22L(lZL(Y!1U3y`Jzg){*b0% zTiF-+pP0|)+QhdZ2SPCtGC)TP6X z&rzUj1QYInn0L9gWZx;$xmdV?fBA+3DmU_$`3dJUMqN5&u=iz#tZ87v-|I;4ZB3w- zm`)}i-Wp4KO;n=FtY$E~GNzDI4MW9^9gig6f=97O{#vu^CuK5jp6+CSwuTf8=&?o{ zl%@IaTtr3u@iO11r8DQ*!tAbzq5di?Wkbdov%BYqNLB+K>fN{urr6=3q-&)iJ1SI; z?QZL0a?Qq4Qc}U0`*WE2aXOe}G3CfB(eB_dp6m5bv;&cVLNPa#$r z$2yHwBUSIv(l8A%cF?kAhnkc~r4M>k@ejnPpB-erIVX_@-SSkk#ap$=AfiyqauF*0X&o zq#U1tJ#9_Ar@3h;FW@*aS7j{DU&R2u-V&7c+6*>sD3_f*+H^_7R@z*kM3*anVn%8< zV9jIqP)S09#3T3$c(0Ku$~vr!uXz6hHJUq_?VCoEwSx~}GVdcedA%n4^iT14WhmF1)=8*aH3Zr%x;Y5UbvKD>F^_{KWGYyB~AG35)6@j6S{c3 z6dOerqgjrzIJSzwIosp8;fMsfJZT1I&4^(2Ur>R%N)4`$g4`vmt|*hj`G(_8tObw($Bk zt`z!Ys*qZiv0Tsk@2Jb=2+&TfClA)u)0@JDDBt9?SYx;tYLzw-BilRC%-%fNBc~;I zW=#}b&-=<#KEE03A%H*pT}VIuJPx(iiY42|L=q==D4?RB`E;-PZAsl*37CKX3s~XO z3(gn51!YkqSnhc*!gm7Ujb2syR)Q<`zBLy{brc}eeHx5@>K%Ar?i<*#ra|&)B%NO5 zqYV%4FvYryJ()7i&Dc8qIGAki08?UIX##%?#qc!RHFhTNhsH8g`b1sq&vyf+hOZsH$!k?<*G^;U zNF=>GCZ7H=I$iXw=rvkUeGboCR|`$p<7m%|R4mc4qAM*M;g-}zScg3aB}653@GC}h z$+b@Ieu=#G+ma*^`OUa=&QUym$#axr-~)G;8t^LZSHs950juhfFQ*^3^`&#|63L)I6_?LUp|79~N2^8aW9ibD@? z<-#O-E|y;x3~O#?0~62n{I$FHL84z13*`Ms{kro6pE!$CUCnSz<}O-ss7AQ_^&|9V z-8U3#HGw?2ECByidnt4pTMqH}1MrkA`$eUt*6#`L+0GraeZz^u_~X8M{We$2fpe$vG_{>fuO{HzbJ3FqGwp3t;Xd`4>p+?Yn; zyc1e5pfC(?F|lVV<%ZFwgidf|cOm-uG7~Q8JOFq56^JW)cS?3Y83(g{-%Ipl8HYIQ zBD_?y5*x4ahCXMO@UH~MLmoH}Q@30LE)Hw(UHLwc{N)#*<2K=J_ip6mVh00qbVZ@_ zImrZ&n%r*zW zI*dh34>cTrheykc2v8mXleki*cp* zWUS<;Df*PM3My(EpwpBOEL+OMe;yR`x4%gO^D=)E(~cF19qZ*_@_z~7iQP_#2L2BS zCn!KQtt9?n+iS^%y?y9Ivyt?UWI7J}5sbRCbxE4l0gD5yrS?(r{2};4(xy&e-WeG&@GY{k*QCDn_bkZX)RckcvC=J`oiP7~A5XD5i73*8BCtF_R4@&P3O`858A55U^C z_oy4#@;kg|h#GjF81)`PYU%TFkgRL)%9YQ6)wv+KZW}D^RNM($3}ig?$wzP?K@(G+ z^TEbq3;aK6XC4*P8~^bZMVmshRobMQJDKG^&&=E@Euv^qmWT)?dy?!)+O$YT(MF4q z7OJ_=Gc$MMD^yCB7E5G}vPH=*{O0%X@891&=l(J0%sKa*IrrXqp3mp~dA-Kv6jR~k zA$gvxoIhsbc*S*3#NQnIl3q0Qh^{UADP-L_j0mUmIH#hV4mSddkY7XcZTsrvv6lXF z_6}{-dm@OctYM=}b~V^$@{W{?9YOIZE5)dbQ{=4TKtgSP0bb!bJw6(l|sqO zPyRT1k~^4Xm`gS`CG$t8$56VurL}73nA+%(3zUrcP`GoFoHprG1-ph0)7uC4NusKa z=}~hH=;xueWb$<#Aev{0yb|w9SJ}8JJl&4b{gDY&kyxEHZ8ZR+=|hx->qEYVdoME> zrZ2ay36bp|Cr7s(6{y1Wr7-vN0-RA6L$B3Xj*sq3!x`0`{3xM54vZcxZP3>ce|^1F z^hWL`re9}?)Y`w0k`b!V>J^6xa&|L|UEcna=1d{RzmilF@LVH|t@KV=`$ z9RBy;_?jjqLq<=@L#{nO1OJLnL9=}#!1H&3%+{FwaJtd3-1j^I_g$|Q$X2<7Ik{zk-fYAjcNIO*nF8Nzjm4erE3nS&jo8RI4hH=k zk6W*XfxWxmg11vg!^lBv*djQAAFZvynRlzu=?^A2=E5rc0UpDZO+Pl19o3fe*R(EavuqUomAn9O`8~zUQEr% zC`0^&ZH$)4#z4P@Ub!bXMV$9+By)1x3>d!B7wTMFA-*{01z9mPC|~F{7KL^HL=O{2 zD%BYQ%q409s_}`UHA#EaGL68bWfk@GEyYbEQC2@u{4kJ8ce->L=7;;N}DLD8Y4iYc;dl4@)-R{)_iU+($_d0vMC>Zh6|UP*BOXWZs}*NtSZHa^$`O zkP7#KwY#-Za8(L6#K)O&AyyR6v2TvK-Eq>2V6 zJ|S;Et|lkf9$|D&RVlMIVc1D05B36EkXw{5e>v$F-BaBFR-L^hl1k^mDuoK1zc~{6 zlkpgbnKF~%0$5Dt;YDjKQQMwmw31vyhM!9ksWjx0-AOmltkuoZnGDp2p^Ef8|c zh3WHn1a6ON0T;F)`1aOgxYFPU$TMvPhwmpq6Q3R`SN9&Zk*hAAQMH%~zog9UFG|FJ zb_6JP*9F6b_@5wAGX#p}MdAmr51(7BfZY??$&1DN5H*p4g^nj6yIos^tAnZC>jU89 zMN<@26$fkKD5YaCRaH8qkU{mu`3x270aR_i!jBhq;Ki?>@khT@z&H2;fDB{zE0@8I zgcfiB4UzBkJQU$$TBweZ%P5a>Z+=YpXL+X81JccX9&C_L5Ek@}fCB~b!0EFos(e9{ zD@T%WZl4iUd1VM6<+(y8^8{p-y1+B>dGK_;FP>JC43B3P;cL4yB}LAe;7OzkUeS;S z+r#6b_LoygV}2}*GrI?CHVDL5{uThEFT;RUZHRq^Iyh}lG%a4LhB=7~;mym3p{&9e z82w%--Z(25Ety}0Om=AEx&M|zWffat{pb$*$J1tVA0kDjwUC+_RE8#$PQ^~AZE>@o zir`|-cD%uNFNjro0r%PDz;wS9>^3h1uVIGKr|(77_uyt&I%yAn`qWa`Z&44JbT{}p zWvW7DC>WUzTEe!KB1*0IqI{U#ir>&16uGHN#+ln$Xrp|G+*L$k)qzw+=W$zcW}y~k zmeq{M7bhat`7z>ZtMg!Ct%G95;4bv}?IieTla@k{N}|eMOoNPMC%@3-KYC1~Kb$yc zGIqXw1FYV)5l%`!L``>h$49S6VYzNI(7fA2e+e)bsMCJnXp)2p`2LvLI(8ncR=WwD zIv=7p^DEH%gDFtnGXzrW8mUT^T6s;CH>}z2r#S3iD%pG^1{{d52gaRkqO-GZp-R;U z;JMr%EcBcp&o63_YaZ~T+DH1zirL4}JKC#tn*zb~n1y>EuI--h7+G3lr%G7Zd#olOM=x*>IPq#)3lmefp? zk--leP|p0l;}Bs-ZZ*PQep3!ztpBE~?Mk z1edLlP|{VaU{aftVp@cO=(5&n`9;->WcvAUV5gx4BW*T=k9MSjr9~thnyn9S4+>Cu zs{=gRaS=XNDD(9?$K*F`PRUPOw8&e8uaIB+RDA5tTlt+00I0XyhU`WC^9{z$m*(+$ex6Bo7)jAy<)NTUOK7Ao^cn{niM9~cqR zBY(Ko7(ae?0*2f%LV_KQDDKrbNnv>l&Fe15aTd$q&f`Y3;?H_|#5fK!V#QSXl9z_! z1x?e@tdn2m@u8-8cbqX^nFYmD)4l+k)5pQ(Sq}jJWf}iu{cI@Px>=b)H-ts@1X!23 zAMR;10~R~nV8xyw3~bC`ZcPEQ;>3ZRym)kGsV{kXW;pyary8mz?*Wq4QCOvH857Q$d@7s}ag0hiBxMF%%L z2GhFE;O-;Z_;qL~>9RCe?s+*Lj#TE%VlGS)h}E+Y-Kh_6b@7-zv1ifP->T48R4IRX zp^jQR`x;srK`~)Fr=W=LOsIHk3CHZAu-ZdA#{5^79Ce$C3pe=Vr;Fw)fA3s*Z`BA; z)Kw=BDPaNYZ4*F$XdD&Oh-K%cedPMViD0nnIVxIy1SX#{M$10!LR#Ys;d+g;a?Mpv zIATpXall>)8M=Ft%=|Z^iB*^tuegXYFSLVpgem>u%13Nb=oINUFP#_WgXZ+4py%)n{Ic zs%%HgzOPV4C&&tUjfyKRR!u<7doQ72O?Oxu1jN?P71F8O6KTH#g-B7Ai3~RGq@6Xc zqmHqYu-Z?CoSXC?kG>?mCxkcjrhe}bS zDGBy^o|2c3S&jorO6B7hAEx;c9Hf5mCv`4C3tzr@8XgZlid(<1@T*Q+X8C{xocTxT z`aNyQTq~T98B;U7<@E&YNclq9{Ym0kdB4%n#!~pf!3@3Kr+j{Q1c9%UCjc z*;3H{>#VZxz73z3&%&P8|DiA5Dop3JJgT#PEjHab&7Bk;n767Z>xybFSH#FRUBWd#3o%(=Ic>=#X z+u`44TKLq=4ANn>K6u_mV=F5gD0MFZIz2<^%s`9uT$HuKTlE0Ny*(0Y&DED*uUE&h zt~J;r6o?(Fo#0}J=ir~RCns_&1o;v(81vQ&ZkjwmO14afMIK(z!PyH3d-}qT%=d`5 zNFT=W2P!Gm{f^Hqy@Iwb4PIx4C2vddo)=*G0x(V#! zSJ7=_`;->ZcLp6_h9KGQ%U-kL}iO#6bK(hI26xmif| zw*dBTX9;=>S@`^-d*V;!SH+rM<wV3YD=V8P%@+MZ#fs z@yW|EVg>s$>K+aSy^V5Y`?m@D#jU|^YV*MC@vGnqC4)Wg$Y<28I|7Sa3}81pjE{df z4@;h1L%Vghis!x)i9OzF!dk;D5a4nHCbDb2ByNkdP3

0;-0wz|W>Q;QR0Hp>LlTic3vt`8Ugx)Voc`WxjK4Fm=FKrex@1 zL7_ABxBY-@zQjQ5kgHVnp+0K&mn>iqz6+n(u8&k!oB}^O0Cv;l<1haC%mkAyu&$^d zZQOqsJWtk!_{ae8wmpa*3;@CS^!xJJwWj!mJO<^cE`sZ&SAaO_hcMbS6Zg2+F-PAS zlYM68boG8OvB23FU;Ek#+k2K_HhP3Z&yiH}w;Ay5x`Jv*RpQ0@m8gHr8;NAR z3WzNCr5Z)&k<$$Y6xoXKl=G9pKgC;cuIsG*m0U z%Va(~2jJaaT0l4=iQR5`?8Td?cdhs-2$qT+mAk4oKoNLD-)L%9D>)3U69`X4itBLHr%VzhTaU;;Rz3S z0&m0bsJ_zx$G)y)3MP!AiaSp;(Wj!3-rJ|t_7SJiW{Yv~zLSCC$*bQrOP{9ztDoi2 zcIe4a?;U0a_Bo0K(oE_@WCh(gcQX7p z@gVkB?mKV((tvu8pMzZ$<8jNLE;6irIlfwa25wb94NH6WQ?R4>!EO6l0VrM z#w!laqBjPq2;9ter74 z4_=ReMCuT@oEL>^swcuO??rI`fyeaX=yBxbs9W@%_DV2D+AlLq@TQC%o`B`e>CD2J zw)FJJ3bb!<0=}a67t9SF$8#Hqs^tmbU67T%Q zVM-rlo?6LVI$$k&NW@ToNevWh9mklfv?1fo7N90FmvVc|0OJP`7}a%=V@wW`fjjOf z`yVkNVtpxC#T`R_W7|UWDV;z+{~53|JdGyp9S4ImYDg9*QHjP)LT@~pX^wvs^t%}Z zYd+2e>2Jfy4>LTV_to1%mdZQu-AxF(eHWtz$HVjmHXMS;H z%#g)h@}uD*V0}&vd|2KBa>*UcWl0wDU&5kf(UtOvD$&Bq+r231nJRwsTn#rz-$h9l zPf)_QUm$te9#X~p7${Ei!F#qG!Y3Ol(b}|rp;D0nj}f0y@A3`8Ni&|&UAK(EzRnd4 z;O3(a5`*NjMBxz2f_mH%h7A6mWtKkEMC%)u!8K)zcp;xP@j2Hg%*-9-!kq3T>Qc2S z{#E%14e2csu39@12<%HlMVUUpd9fLIMmtJ7GgYWPTF*#li&TI9t2CDrvjZBt|GtJ1Q?vt0e6P| zASK**s?jHiD(AfvO{s|%eVy7#x92>BZe!+hy8_Rl%+yL$cgh>CJ&;CSrVUM2d?I`I z>VoJONzA#asVKsH1=(780&a7@K(dzGpx1gn;F3BLYWMyGQ>`cAsJnMoE{aFBG#b29s;t5q}5242@YSr&nw-B#%`)pwShvXr4+O`ewQZ zo!(uAQr?Xq&#yWI7PVYPsY-`z@Ab*(@%C4>6$4u&r{ZeKTP}@2k{Cd*44ewyFEBzK zgBo=|MxG;=OMR5i@(cX;|GLojkr&`frKjvk`*|`odlpDdK1Bv*RWhHZ`|_jocZ15% zuk-@V#bDC?IB~$qiD-xM6!8+VwP;)FK}I8gE9v3yjaouhqTs78up;jQ(wvhhN!Py# zZnHkoQ}2#OXUJmOA!HSLG~IxC)!IkSK3ZPWwW?C~KF$HvjPXMK5%tuz(o`@vsZ|nK z+9)s5nJf19X(4CcHWrWhRF8a=e&J^qcEbp*CjR`XrIbd`XT`XmR^n5}*}!sCADvD& zD9Vm?lh?G2MgOg`M7NJ=(jL(j;#$vA+4$K3^z^%NwEx1Onqqk$aDA5vUVk(IllKdN z$6W>UbW{(i5+y`EbM}&kO^M{sMpJNMg98e!o=Z)Ae_ovaUWBIoiUGf$FfcVv4o;{< zkf!JVkbk^SGy0a+)aIkJK&}5GadpO2GW+*z)Ud3aHt#t>l?|Lgb>gMl!k9NX4g4Sc8oFwM z5$G7@h<+cvL0_;g0DjS@g%wM@z>EevKxD2#vyHj5LF*fGyW0;JIm4PJ3GqcqMQ|JM)MSO~&cjisuhvf-^ditl- zyuMY~nLb^p{`b&zb}#m1aEh7aXci5!&1-7w(s7h+cevvj3KkmPIYUD=qAq2MPoCiYM5m z$+X9J3o`plWXIw+$+ji$5sx%DEKn3?IjT*Gbl7)oB=vh$s34`5Ep^Ja6(+6bD}5Nz z(8x4Owj!-S+R-&2wf}HUxI}lPXxE`U;hf{Kb#?{zGB$6jP^H9C)IWZb?2+jJe!V_f zyvfg4w!QPMG~!BN-M*Qpn4k`k&~n=av2{IsQNvIXqMPwFrwNzH2)EIT0gx zu6j=Jf@P-k=xmj}%shv$15#%2DZZ`=8ad45TFU06>p6H{36K@(y}^Zlt7YtvQnBg9 zROy!Nk@6o)HpsdJWsdQ$-4)U6%pHAgYpBvw=CY4Qc6BDt;{~N-rwP+*Ol6I!OJ&^X z&5j3prq*pz+ahdUG*5OzCrXgzG$73B`z1BL(ktlDm|K^tZ!W{F=CaTey98EcWm0H; zNVw6VRd)7>vG{8a6x)8x5aee^3LkA+AuP}fkZRwEu49L?gp&)4sVNd~xNwsdKIQM~ zc(lw~5W8-<^yQBuLU@yqDT1=(D$06=%&lFZQG82$basQ(hnOv-U)>N&aU*qBj3U^+YZR~6`0BAhtx=4RNRmnB}YgdpIX#4 z{7H~)iS!YsnKqekcTTR1_jJD?woyyy^zM@M z{s%{gH=dPZ;Z-EK+vinxFTzLI@XAEktf#y;4$PEU({W-itEYHn=O>zNaf`IGd{2J& z&yuB-SpwYzQ+}9od19;+RBJQIh>pCcWU@&LP|nC0nc7ruS?h&!GSr+XsA6BE^Mf<# zZUebUZ;G`AR;;+_^JJ*J7sfe-(My`r_+l*efJz{ zL%sY?_3?DT3IXa>92BxgACjql`Yzivb{jd;y+d~IW<0%F{Ku{1@Gm+69Aykq2*etrIhzB{}o8@Bw@;sqrC$0*?A`IUSgV*^5WjRv;;PDtg> z3ffD#9!nh-(@!HQDpzX(TJvBeI#^~*?n=q0Q(hRz+cc8so7#_M!*92X?!A95ELeX< z;_xhyd~zWWHQnh3r#8Nkc$yp~i?0{any==PD=RRv3*w%#F)m5yR& zY%~O6-SmcyabVin24P8BIh|XOPOey9ESRKgBUe$sB&iyAQaWx0B6}la$((I5z;~r5 zeR#u=Xz}uK@|?h*GUulW^qpC1h#hfXCXCmm`+04m=2d2rzBw_H^EYGV=ML~hD!Z=H zD~Hm^o?1`xgq8=0Rumys=Apz*c!>eB^y}5Gi@jqL;|ulHaXe5b%p52dz&@Vne3Nte@%2N^e+@zCt(IqW*i53w1B~ zWoHDyQR9`c?3p=z!sjQ-s$NHj2lM6JGY+y3(f+cATN4B)pCY;eUlN2W;WFmWPm>c0 zuSs;q6B6~8mh#-Y*JZ4yn&iFK)o2^n71eztf%j4kq>`eEI0rLia@S4ZSe6Nz#5jOW zyOQoO8%JbS24Q0#OZbu}L&mqp!^Tsi%b zr_GHqWfeK3hAcpe=!YUgQnZ$b^GF|^IY ziE@pb3OafZ2i-1yNPcM=1Lt}!r~l=ZNS1t%lJ+&HfL(fZXv|0!(Ig@}WK9lS}1=ynBzjjyExb|c6o6QcwzPNT_7r7d+90tE!B!`Ho}Q zoY8~xe@ww%jb~7BUAfF4W1sv((l5F1Z%h2OM9Di`H3|QuuE9;Gf*GlUH~q%$0a+a{ zh0f)N_=0O5P_)XRdiTkBFyq|=G_YYObX>a>di=f(Oyb&c*LCG}lrucrvf6piQ-!!T zq?rEp$PKnG+6EK$YQVMf4rHI#2g*h)l)}D;;Om1I~YRrH}cA=vm=d z{7&^an6_OD@3Pfk?nT}qhhN-7UxOIf-aZ56eHSQRhVqf3$%%P!pj3RsI8o&E!U%`H zoB^?G0$ygJF3omzhla|U;#1ZywDG+uomyRtwQ?7sL(ZFE+u&A_&xmYrpWTL19)=2Q zb}dE!j_rhRpE}AiY%>tQpqAXheJGEM!C%wn^lx^ljM%5??x%<47s z^;}dO`cqCgn_$z?sZu3c`+2(VvBk&T3zw!PEc1=9X?zjO|#cXBCP=Lv>KMUKM)K zJx=~`=03)K|5oH2+(J)vNy957t>Ep?zS>I-xMT}Qi9(?z3EX|p(4NE*cVC>{Z zyrsPh*q`_-QfzKGl zCIwOx&jj&rmt)e)9RAQ{m>RA-xZ9}(Ck@w8K4}Jc;m$OE+Ke=;ExrLk`g8f^$6N8u z3EIjTta5sulO1#|qrv$LdCaFTOJMU0PkQ{6a`;4%fkNGb@X4xbbh@kuj*aRebIaCZ z)d_r@TULqp?s3Eo=@T&>84EW?jf68bt>D(%$#7HFDIB#v1g{@oOMY&*5qo^qQ~a<= z$H&y$L}J~exYDPC-Y@PI>fLJu)88r={B5f8pZBep{7fV8$~XbEI*z0g+(yD}%o|CH zRVo;0c|~9N3{bd}5761X9bIhflDmJ7WMS{>xBJ1rm_(p7s0#q1c>yj*XUo*!6s-p2&}IR4jZ@<6wmqjq_5wW5BMx-y?2)APE099A zlsbDcfH8V_S$MfSonJLpU!<}m1C?hV#QRQ6qn1uL0aHIZgU40W-N*XxHP%ssA)*DS3W2)bR31>h_?vFkpiXJ?qsVf8+i!`1lGJ=+9;& zn3o1txl4EyHkDo%SOP^deA3z9i-@!C#0c*k_H(c%R8VwX_SG$*pw zEUFc`hz`rU9(GA`pO;fRTr?y$aYt$R_yTpYFGc9;mxWdc3Gk)fiY)Okgy#;mqXU_$ z=-7l2ufxAHHQM{LA zR`etPuh-DY*g$aDr~nD~TB7~#Lvn9-RXE>sD_Yc)58kUuz^txxlv{TM=^yLI=GW#> z$<6Q3AD`8MVe4_>@{CTtUCAlK}CP@hqN!dVI6 zSJrWGh}Eqa=E z8+0AkVgC7NkV@M;b(Py94=~Q7qVx^|@+blHzARx%mz01$b8F6mb(Y}Veh>12{Um;* zw*W-3pCPvghKe3Kg>or6pir6eT(oQTLDmx_Y1v=*dgzn!43EC-)O+-fT_tA}i33>88}1X{pq(G?EF- zwM6YfdZMP<1j+vN3HWEmM2b?YnLe21y!SEF<)lVHQOv8YPF$E4lI;J&N2i)n)4{L z!`I{wFF&K_v}K8Izr=vBwC1ZWi~)m{jr2mC&y1k|Q}nDn#;pDwimuNqMoX?`Dahk4 zXfLZnl(K9gIr2#YSsdZTw8WgIVE2qnJ!xL z$i6L%pL?#*{gytzEm0=>Lv={ZSE`V$4PB&*jVf(ma*QcljhK%`&Gf>%@u*>gCcbB= z^ox5jwBFB3v^(0K%6ni2AI@5b+Ki;&@|)X0Mfw0Of~Jy3NB7A_JWrz%mrlWxBX#k{ zQVY~&wjcPWESH^_S3{q&AcVI55ww5yJzDMbU1q(*7WCZf0oeWeBAS+m>D?0xMV_}a zNG*#{P38y^1%&-o`o7jpP+!UFvN;o+$k*`0xFvfSpC}+%CsGqq2UenUWPA}cX?{|#E<3A?R zwpzRKw{Q7y=+76>v|J6pP1nQmM-5T_h>fUnQ!rlW3dcBqjK6 zfb>6VNco}(3N!CmRJBAK_|9JfleUck<!WCOjwk-MdnByr*OR8snv8c6H6Uu~VQPIdO|P1*fi@?ysS5wOim+P*+~T`I ze!pZcJecQ&m$1QI9ajPBvib}{t*7P^*Hc|83un#u95SZbnJG0DQY^@O1E6hmOtFO3q+1hht}au zsCa5UzP_pmcSdbS8fm|%yx%(&2Vb`+`Od~TvA-5x+Vlbae!;@KVmR36Q7ZKMl_}d| z*^WXF9$;pNjzQBl7ogS;_rb}ZC#frm3(@|u8>MeOKckoBVg=`OzkK^<73S2#B+-!J zXrxZ@s0Ur<^s%DdVDYtL(kfyTw!g$z+%~?;JWHqqzO%!yylD&m?z8|l4ELddBu&!% zH;4I<^u2a(5QSGyVJmz8OM!W8Fuv-Ohi|`Zl9sn06t7StvCO?0OC>yKFmpJM3jXl$UYe!M7nXyxtGcl9{VVy>O`gz8nU5}T2$#yX zK0?GyFMRMuIXXOTjAEpJ0cMB1r5|?P10Nk(0w-nOnXfkqv@g~mRqBdilK&tukd8tE zx(uyV^5@4C$D$glLj38`I)#9J7x=I9qnrc3qZ z5ET_omH$0`J=I63sEit={P2Gc0~J@5)e*t#H|$(HBV={t>KR-fcaG~!m1Y00k?!ezoW~lf+}3^5DNe;yo?yV06Y$NQ7v=Df`}m|QM@{_zH*WWJUMk;66ma{f z==HcUqUOj_;gT?t+jj0Km%Y@Hx-~C>)9*iv%X78hSv4hcRjuapJ||z~HT3E58h09T z+)r=hj<{>gvwX)9Xy8PuRD6ZYe!heXSXw;e_V{}4qGo&E(2uda1~pge^W-6}%s-zO zXu62II(i#780B#cm$`GC7JTBl-LdDT>E&_kHb3NWY&EFI)q$dtTc4=gDje>v(>c_z z+I;S&%_e-0QD)+#Wj@?n*oqtAoVmQIYc;uh&#mPKIW=&ux$WV7alFN? z`#p|lG7!Xj6>*uHWl3;J{UaRXHVtl|sxP;H`V3wwRmW>J9l_n>A>@v`$meb8YIXhd+xW?hp z+!^}ssrYTWT!ZnYl*`-Q;tjLngf+W$xQ#BMTx0n`-UW>-JX_HqSA+G3yUAb+XJF}4 zZtyVTl_pv9c05hv^0GxD*2!2Vncv3_vESr)u}T{$oE)&*|N^v@LIPl~pW9xX=Zqj_gEesjm$P84ad zR5(F|4+UcFIiIy3a3X4ec-`PiDsIhFPST05GxpWza{41y^Gf@tb0Z9MI72rSygM#g zLONs=uW?}jxAaO5=cNA|Zi=b~|IOUboaUrdD&fOOu`@Y|6W}1?GRg5J*xyplLzPNSM(0k>FS#@Cq~TX8ai4*xP&=NZuMx$q z9Tm=f8+V%fyX+UoE>pp^b#N02_Gj{@JWSwhN`J*Uw6KcnJgR{EB`I)dvqAu3p9+KK&oZkn14&ui24z;=CqxxlM(R-(YuvepPRqHa>;u&OH!i%Pj56+xP5-zmr_6YT|9YtSJw4pdYYTZE&c8Wh z?$mQ`3IF5NJjoS}Ix@_e6Ohc2|04N&?ua;zrOn)#Z^v?u-VusgVl%idxA*WyOb_OM zRJ+gfAO6kl;+^1{UR%$7!W+$-uX2cccHc=JH+?$K+kA*SdXFkM_CYF@QuT?tJkgXl z&-|0HEvkk4Ex49@@~4jINlZC+%$-=uVC)?5@%dTu!I(bQu3!t+)TsO9e^=~@@F5+R z=F|IxwL>Jk`Kv!G^xA3Gou#Js75}oy`B(3fo|p2->W+2f->?O&H;#8$sMM89-7JIpkfD7g_sEK@y9Xzy@l&DWYs;HB{_ZO3-vzjjBq z#T7MnbWI!!Zo5OgTKJbxWL_qR=vyqCHNWkq|3E~;+^dA1(=_&lyd|uV=_`nrw?!Sh?qhs!b7Ow;ZwOnRhD$OSnbadHbt2Mgp6fwjhAb{XIH6YD}!py8^`;Fs$|R@~JXyK12U z@jf7z2(`PxGMB%%TQX6NouoUS47|35cv9j+6z}@X3SN1ONR7&2t8zE9oE?kE>0~(^ zSoMc>z08SqwB4O;y<5S0G{7ai9d5FEJg<;;O&a_i5eo>b@iMS|RU#|-1e^~tH5wTxJEa*;mOEK356Pr)NmKaf=;RXs|{E zgu&*2uB=%xuZV%S7YOeQRmAuC7szzC(Zm;dvDvE}*;R?5X*HoMoA$Zk2wdU|mZaU_Bw#`laM@;~$tUsKeH!N{+yh1<yV3H-xPg%}QL9MO@XG$o^Lq!iktrW0ktFbLNY-1nY@r+pg!kO)(`HYa-vx(My zS!|RRKsho-d3!y&m)NHWi70uzx9b+H*+>mxSzQ7WGcJl+g`$HO)@*^To57o=fl>qI>P#~ z-<_~s-$L}52C?7OONpST3545uJ{XP z-6$cB&TnTOx%!pWhE>^zKh&`YY@1nh><{9~t>t9k5-VaT=LK=4Ac3{gf4cp@4HVmb zrU79i@ey=+Y=f6d_Yhte@`xb5oNejTOdPnWNi@`CvgS1Vfc`Kie!K#)zMr`Sj%`zA z*_pg&wbpsDv-Gcl9ehXDgwW6SVUq?~8eDhCPMyi0a|4m)aVz+ouTs{&hdW47%}cuv z?+aPFE`}^Wuf^=8U=p0IiO9s^MXasHqu4Wdc(K3b1+kY#?jY`;PawYk-J_fZ=d)KQ zloR=NquEFNJ`oM`E!mRHf5d?!kGb7e|3Ou9BYW=`eRjx{xkSI=f5h&E&Y&XYB4H{$ z1Aba1+ezlRv4qVgP*o$EsGdQv|A(UMe&p)^!uBd7nMo8G@B2FE^`7_MH&PKH+NGhP zMI~B_Pbpg}qAi8cFp5$k(m+K;8Y)Gkw3pJ-`1<|__lNU3=bq;|&-2)Jek7{iAIX-q z1yb$lkBOe9B0Oq&ARSd51hR9kL}{ZPF|;^CqFmm{dKzPi>VjVK`&JV%4VX*1hR-4A z?&PrBzuY4l7srw@kCIR^dkbT}YbLUc^mxuwx^XHDLO@1nIi8W>Pfw4B0gI zp0xkc5GE$~uGH7bSk`&CnYGxH#AF`(NTOTo*g2a%!HY8|nARijK=ni*44%f2SvOOm zcXxmK$wr%dq2kDyuNlmRPTkH%{aQ!l)pD?wFJ}+fIFqTn=Rw%F`*2{51ky}Dpx>t; zd^#-|O5Khy-osVleE3*M{HP+G;%dlUdOQV`OvZE3w&$3?vy@@r%a35}5)0F}*t4eB z{NdeVee|35kE}Z?fGTkp8CTHGXiN^m@)||_J6#KdxL71yQ9* zByU0tX}Y!;d^<gG_WsvfQ%zPB)iQV9(eh|2gZpn@_a2^L<}#Cqx2zFv4A z*~1JRBL~=V)1UEvBV34Dhb3tlCB z8HG=NgR0MKYk>6 zW9&`X%^S!&Z3Xn!S;TMj^pZurh-2=aXeCvr+R3K4`((O7G0CcbLF}Fpc0}F`ydM@x z0$(x2^{qF2cD8|l`NLsz>kIJ&b;3?6oC~oEwa|6Fn2a5>h8)jv}>3?qX~ z`!r7T4)f1-rh;$EO;#^?I1tem(BAQ$y?lHT^eA3sH}q>4Iq1)qS}o5O43E7a$nLR` zK5h7q>D``Z$7ks=%`R?&r2!M{rfyYc^2>h;ID0ELo41e_RNiOpPnwG|leYMPB)D7f*LyVQ=}{ zN>KFo29sG?X@7s&zYOvq)c^`A>;{r0Pvs&;gJBfMa zUuUPbro;Y+({uaW+4=(E1yj=U&swnQwA}vr^K!ww&q-XM;x&QK_jth!*GR$W0ec0v z17ie|nUq;5jkX`8EMxu-|8D zD5=7d5avsFf#9E2B0b+_BpA0=NajdnQgQYL`%&S+0`J!KQthUzlIB&7_V)xf()wrp z8TGcOg3600nTMM3f`*4_QmcatxK!=E;)x0U7~6SKOz!6X++;q}UQ-$=KG2GjnGXn|Fs4a)Hmi=E1$HVcx{?^`j>3+ z&fueh%KEqBh@$6qi}dC872iZF;ktpgd`cB(P_g%x`O+U6h{uku@qhcmo$&T!ib}^X)ftmm9tzc+tfK>dHNW;EeW0njXA=z>wn=vTzVRDvF zl3pEAB#=nj#0MX>%a%9ZWPiah$bGAez1x+!=VdxnlA1?uWS&Cpb{CWlM$kF500Z8N zsqWfA^19i9+#uZ(^5Ts#tof$Za9(Wy<{CutsTL<-zH>1c`|Zb3E?0oaZB{c8PPh+l1M{%ovZeS%^D;ME@fMbL z&ZfsbLa=eccD#0CJe>cl0}fVKXuMh>j#oHL_6lwA&rmadSg{W`X4-WweE``(aa6KhwX-# z4TmB5?`g2xIhodNSp^!Gav<){S*&l4f%{A3T*K|75S+6dKHJQ}eFfLRI4qZUU!jH9 zXeoEQ+=2hz@`ha!SOq^GM}qqG1++-Zls>xRgUjcpW3Y}DOpUn=*+-|*e^H?*Pg{)g zCM|AWawE<=XM@6{$zsz~0X|o4z(J9XT>6y;GJDKlSoP%wyW#dEKKJ$>P{?uOmwOz6 zjUP%dD1Rz#`)7I96O{1V03m7`PW*Z)q#!CN+1`=vc_@6slQ}(?E;(>Gn@Z> z)r8b-?IFz_f3VlAirbuXgd7%Ay7qV#F{2}S%hXC);^jST(65=Y;%!-En*StD($zvt zgU*mQErlegHy#uBMewuR>$vrA*N`bSfml?Viu33004e4U0a<%4RdtB zH|rieyp@JmTaIGwIc@YBMkNpZeE5lPe&X|8dh}a#HhlbW73Ojo+}=5-v1maS>&$gA zhrBf*Wyu&mE3gwz#Spr!Y6cB?^%P6a4d*^wF~o%?XQ3&^k5gE_kUp_hM%^(BvBvB@ zMt}az&B+hOl-Pmvq-PfFZz+Ky#ab9s_nuu-xduEQMG|GT{=)pL--y0WHP#50lJgmy z!~NUlxY|xeQ+MBhhM}Hx_(?$9=fB{KPJf)e+LiwJI~|{vuAw!~?=Y+IHs=4h1^vW# z_(+GRyf`-<$%lA$mC9ipIV~QaT*8~*rG_jC8>^RGx;3WMpSlyK-;dKna-Rilk=I>c0Nhwb?< zL9{B6J z3X=BDXq9_$N&b5ZHY*r)xz)G~YZ2LSiQJNBi~VvW<5^6T?Qhw*qM9twOkRF9-fa z`of2m{rIm>Hp^68v@vqZHtwe0I=Ittl!R$|;b6-N>>d*pP+zGp{Io@Y7JEu~kMNUH zrx4(xbv0ytLUZsLV#2QYHieu!-azPnOIUhViw^Ak#(6F7;Dpr=;Lz$tc;xUP>^WbL zSEO24U49N^DL(v;(edbLb^@FNE5Q0`9t?K1#Z2QtbWymX^uLQ`oUCU!9Bt-q|m z&bk_uw@0%!!U?!pI-h-27fmKiJOy1=llfi;7G^BGi#wkHehglVKKIA5?hSyqwiLkq zOl!V*vm7no?#6=MnrLXQhO@rx;;8LO_;=?yj<46pnP0|%c-Ao7-7ttd)I1w+4CsdY z;g-Uq!KHAhDGMi*&mfrt+#Q(SNmPHj6eDatf^w6NP;31{Odp~LzcxLEBW?|NgYyK-y-xUtp21K|bxc%+7tQM~<9+!Q|A2ke1gY$-SouFlLt@c~@peF7-bxSk~X2 zoJdz7b)yf9)&vif3i1k=MSB0qHk_*$bOgi@)~A`w)K4W5CPC~fgE+?RULN^;)0W6G zUXrEF-puzegqaYKL)0t9B*J$NJ3eLJTey?npm@Pn$4Z&W$#=}pFn@vPu*J;U=e}e^&SKeQm0;%6 ze?z53+pM{`U%#d8b6yCvqh}MP!6V4G4>w6}%YM=n9mANJBrtwSgxo*-AMrfVNj|Hk z5znd*QZt%H416yz7yD@m=Z*Nz+^jcao-!%2^L66{|298j#_-lsg&%&>7j-|GR%K1r z_~(6wwMr+qud9R7Ck>MPu#r_SN|ybu86b(gc$(Y~;281U(XuvQ0h6=w4{NwlT~K5@ zhxzpLk966=0@kR4CH_t(f_b$@%rk3WGTS7Jx%TLy;M-6+*&nt>`h997vu4``((vRz zMyO;;lBN@wUUQZ)n7Dv#oslbT(>Tr~91$_I8<)U%sXk-NBk{F3#OUH6nSqbJI4ZWA z8S}AEw|elA-9VS$0%od|SrjRd6~{`LD_6AO`ym5nh_SlVV#8k1zvHbEYP~>wMoEDg zbh%gZW`vLlowP!b{5nV=uKh}ug!Op?_(V&eoG%a<>1dPu@43vpzjMfMmGz9`jZ!9Y zzM|~SS`8B2WWl6+z85rAbqdb^(IeHjcaVEQ2ZWz*MYB0ka%S1m`HXGhL}qTrUBQhr zx-u=tvt;Q|Uzr#m**lKEB@nD#C2jg*%CuO2B1deJ$+mUr#J3_|Y9~x252}61uOMA^ zqw7R6P$7#DCWvXjs?B^eGn8ihx1N!>y(h<%<}uRi&jlMh4>FT#M6xfxi|IOM zhNPo_=@?MXG=~b9BPaICZV!qhf{_;FOZzXTXUrM0Gx`owLUWm6uU`rtxX&Z=DhbmU zG)rn5Bbf_%-Na=IG~6#%Fb*w0@I5QNQ$0W^^Em zU7T~7)kzr${=)%0X6|Bd%`?EIzoN*Oura9JdjM7B=ZQ|oWf*X0H^sHr*bGfQP9EdP zsi@6l+rHYuQR!L87>-=cxKXg~MlIBgl;Pm{r{HEvHD1-bi)tpOSQZsWLgi`jp}`2> zPMjoFS#X9Mr%(meV|v;8m#Soi>PnodwgkscF~S>f6u269MSSF$iB(Syfp4BWMigkn zgqoLRZ`Nz%5{6>*Wd+zW(;STVJz%l+9@}6k;91La@It~(yaVO`QgF`9w)8<@SsW-Uy@lpp&@4|YsFW~dy4EJG%IVgl$@k?`0anaIdS?eYT z$k-JH>gmx~p{hgwW#0p7k}>KPmy+(#%dltJUF^F45H)=iv9jtV>l~keXJZxdRQYg8 zNNyAyzxx3$-`>Zz|9(%_gzkcVyHBy2H<~$kd>Zs_d2osEqJY)(N8K5RahR|fI-hIu zz3FGUF(1A8A5P8~KWY&E@LI~9zOk3QygrX(hC7m(>S-|Zh(8~wY{+$+#Y0Y(0Wn)R z4}!XB?6`Z51UEfI3*9%egkZq9-XdsP=?uy+niyRCEW{+w9`P^gfdizlS93>pb+?dR^wT zZvpv{RZJ&(27&JSgM75d9@z}P1MDx)r&5Er31r=fajePL`Ww{eCy_6&E^_m=6L8e@czhcZ1$wi6 z=rILTv{p(0|DMZzd$BdXE6;<>rMFRG;xHWcOd0p2{wDiMW4T~WmS+`)Vx`f3HdE;< z>^7dCR5ixO{zJdoFWj!R9(<`9$FK4V zfh1WV_v+3{Tjlt14y{i@XH*3<4^}|t={1I$B3Nb%u>%bkWV6_TMmWGw%;ClQU_UxAa;hM@SO9UhEZ z&UZBD0Sr3Kj~{iGzeEqS+ni0IXuw}koo7P(nWod5;}}#ck)dH*D3r`s!l^S}VBEg7 z^x)IsRNKUox6Y2jL#v+wo?I_ZmgJ&m^-*+C$l~Unb%J3D^^kh+4tH~+F0b{k8B+A* z{F)a-u&y%<6?6Ql(fAq=dF9II%qi!4S8e1okA&gcszW$^$pU`V==&tW=nJ28Sw@_V zvcO#V8UOsNH!tA-L!WGS__8<@w3@A`@tEg$>t`rD^5{paO=Wo zfpmM)NGk3I%vmqw)pdr+S7+UTHQTm<>Gth(tO~)(Xf6EpGy<$sO!xy2-%0Z>Tn07U zZM^sCvn1wP8?nuJh#$GpT(@C=n6}|34bnRWnJcyA$)~bqt!anY&Tm>WS=4Hn9nsF7 z?d&DB3HRnReJQi z$vZgTG6HW#2H}&d$#_kE5pPeX5=V(Ae|~8fmfKuF3*T^19ixh|31_(qVGJG(JIwyY zJZ5f99`PFZfVUOD2Geovm~~x+{e>%rO3HD8> zEk1%LAXE-So3nwJu>x~JV^{7iQt^F3K-fsKZ>E&ci@FOgh$$Wy;cxpjcH09=P>zI*WQ_aitl2&y560$chYd^U*W1?@kDN zTdj}@(Cg#*Mk#=aU=VpbX(}9f7=br8&%xk>Axy+o5p<~hhJT6k#o;HW%2qV)heMmE z%K~E~m}TLEN%ge#@O@+;+;@D%PVl@2A-6W8Sz8u~Xn8{P=4n8RXCC8o{49Q&@t2f^ zM>7_)?4jDho=x6n$L8gE$Qn2AVurr@DYMsDNbEPQLZ^4e(%oL4nLbN7V*RBFuHV?n z?D9?om+C;W>zgkC%gEjV-w?%L2)YIe53}9l76s8?4`NB)BeDCpM@=`jp6I z;^e{jt9u@iuE}Pm?}DrP8lAHt>KFMRp!`nZ&!FXx%B{>_z^yM~1g_6wT7RENf3dfg^ z!>j*oA;+iK0?`T}qwcLH-}dy?VBTSvTYdv}ZkMxWy~*HSUqgPx+Xz>FA4kGltT9ZW z%G!FjGojH(h)wNKwjoxT-92Rx$#m6XRq}OV?rJOW4!#3MW6zM7?h^LQN?UnVy`Joe zjECahI9T$yk++vmV0xY{XARkrf+|Z(W}eef*6_v?R5*X+mWrjI^0na&ctY&J3pzxLlK3jcN zFu5>9+JA71ID5i8S;}ua>6CQ;KK?&kHnLNN@ox$ioIV#X@bE1nJ*fq<-DMqY8kPu> zei4Y=QVgf89}>TwB!U|!!kRw3;nmpnSn(~Agl%yH-7iIO)o(Q9TWXWoy2ZlKpylk+ zb|aj1P#H_7iOGT|UF7`JK-oI&Ub0g%Qub!vUcvB-cbSywZc_1deK;_iV&S1$*jsN3 zefi|F^#`7kfZbA3xypleNgs>zPfCcV_z%eqsRH+FM`a0Lhrz>7iufnsHaQ%8o@9O! zla)a#Y>EmHam6~uq7JcPGG*jyzGBwuJ?OO6`7gEQYQF{_y>9R1A>+Uu8* zE9uTqPi%4c0V}W?D#epO-^2H-t`IWj2N}7gkQG==Vwc6-fOBSAvXXs=;Q8&D(6G^l zjmmyR+9n&w;zzf!qfhJb`{$-X^KNU5@rmVJ_Dbo0=ZxUQIu)8|phT7ZtDqQ@@XUoC z`g*nxw@x>OFYbuoI>v``xl?=LN}ex1E{*56YcXh1?t)D*sx)@;0xXFX3Cmh`&=u;+ zv?AI9PPnhcy*9saVy>cW$l4CB`&=@{zrV{R6#XG9KYd1vpe}3;sKbNLJGe`E?HFD; zoo-l@g~lI``K;9C^z?a_UbSUei2_s@L{&o?}wr9={al+*ji7pWMKQUh=_E8#g}SpE{1W zSEdgji5BnPf{i2h$QL~5&v$M=!H=8NgN4_0==r_*+=Y&3#P{NB{^=$y*tA9g*B|ke zj~&rxvUYwd`Z)e1k8VGQ8;(I#xyKrxYo7qWodp!*-m+(!zo0nM1Xn~IhAWR7@%r5^ zTBwnTbG@eVSu4Wji?wuc?BtOUl=7Qet~A9w`y>pCu*HbDQT*khwKA)rp}4rbjxRP_ z3(j8_lYvbBSW zPyYe1H`iF6)oFtKCkZ{5c8F#=dQk8BE39hrD*W>%0pn~cxWwZksx*2fW<6D)Z>=rp z=ed#ms7JSOh2eT?=idXHv>$*O+F@DM4$l4iIanH<0kI*$!lbZh_`Ul+KJ((?Ww;T4 z&h#n%IvPkzI>K;E!6iBmpI~Xt3hYXV!ZUW(bSWQ>e|M(S!0p;}bJ0M`o+*Qau}bpC z-9zL?D^#hv??rA#^%YE-orV?VaJ#{norR+zVg1sGsFyqP!d4`%3 zH4(<4Y_l3oPgseSbE)wC$E$RT;x1wL%FFm?Ne5llF@jDWx>uH0GL+v*CG>>tDfZDD z16(myLnu+xqq+IJQQR?BKKNJx?JjDi7oVM^w6}^rcE5=YWB#CrY_ag!lMmsDl`NQ>NQV6_-2VA9j-Qpe!ch}M@3em{u>xP%+CI2TI?9_I(U8_TDT{l_`XECd4g!leM z;fAPJ)S2bE2$?bcP#Z(T1oN;r^qlZy>^oYR(15Lz6XmZ4Ugz^?e8v@;Z_w0hjL@lS z5_K9T#=Gy1!RVEa{F>DMvZKp#Q2U`8f9o-aEd!e1>mm(d^!X*cKO6zINq(X#XA}DQ z(jPv4$r@QjX#^+KZeX?djKrSqvFr-rdFVcH7T$-<#7!@6&~LK}`8|44Zn^3cTza^JHUAy2|Zt z=?O>IG|;}ch#M+L(FN7H+`K#!nw7tT3(D#TiCs4#AaXMw-17_*ef;Qm%_~$8+eV+C zuaHGQjzZ?gW>=fGd9ID7@eM3pFPUp$BC9DL-H}zxuZ)otm|mDqP$~O$MmZ=NXe} zgOV}dy<-|}yr)G+MQs=DJ}bgj50S9r)n#}uj^gXOe1y-po~2K=7}CXNn?wTr)7Y=S z1Tz{8=*9X(;lq-N)Fx6vIB4h<8lAC?-mH6v+1u{Q7wlH!!zVq&vd^#Bg^%{q#!r)} z|J^EX-&4B0AGK`0b^HDu~A7p1MwGxOI_kp3#F-U4~+tq6y9o&fwga>2mWGpYls9GEhr; zgFAL$4lddjd!^6&ldIh~AGV<@ZR}?iVXyUS`O%yR6+Ww*ZI&z-7xEbh1hHrD(*c4=9J%8RZVaA`4d%9-&+1|sx2P0D+JT>` z{s3B6o`kwnwscGHRd&|OS&+5!gz(3R5PZE#B(HPSXLIGroYDHfGRV3qNEcJ|_3 z;M1H5-1FCP^TbXnH|#GrNqEkVxu=A~^;Y166Uk^aK}5^P+G60?Y#gX@ogLM_hC21} zr=_hz{BSG{HHT&65~W%6ZRjWI&!LKZam`yyyJ0|WCDvF;TR|tliTfTsiW=$3xj|n` zN%@9&I4XI<|H!4-KPiTulg*_;igwg^=NPUsaVP3JXP`$=6Zc^MK&tinJZ_kzOON)= z<-@aE`MinOF){80o%|vQOEW9Ls#6U&AGyPAJL8FMjbgk%yGy9lu?LRbZ^m0Iw}a>I zgM9j&T{LX@BwDBwfDyO-g~H_{Q6v*;BJJ+6d%o^ZVL z*IKlxWk7}Iphy4P7<>B(1nZdN)GI!;b&I!ry<$ zKh8LHWf`0px*9*pFTsw{J88qAz0~bi7)^0?gDD<{lIHV3w^vH1Q(9s z;LL#e_~Lgwx4rIrpHEyOXE`?>+PoHWI%aa@RbSHA>>EBQbt@RxxIyr26{;1k2ff43 zpve3MRA&@J$nXlV`D03t7}Vm$>u>Oa)jqm7s1$FQRG_xrKzNY04ZE#J4GR)*-iZ0&HexTo zagigo_bkP2Elbf{FbMS>)p$?UmvB0^f}h(si!b2qIji;EaG^*MhuJyP!NGy_)Hn{8 zcrC&~wgx!L%K?|PvDAssnrYX`9}?cc1>Xjuvsb=&srL%J)$L1r9!=!97KDo# z-LQ=<;l1!6ckieH?yNh_HT{Ue+iTaNOSqWE?H`DxergV7J!c(G>Gg86Ms#CIP#P|C zpXE?l<^rlWyZH4x){*9ZyJ4o)Nq(EVE3bcSBx+TfLc6p8q(hWxrOH1%<>(4xQ(s!X zeF{gm?ZhmW4?}sawD!vYvB|3`!4%AhCFTs}YUsBGkr z*<60WTA94g4lGJ$u`Q>+k?8q<`gAsiAj!x=+XajG)Q~=Z0{2b8Jx#@gU2Qm28i9qu z8t7_v7+2hx(wBdeK$B)YgDpSjO=&r(z-mc?dUW`K`9Nv&a5`c~6X<>W z2a%~fr(+P0FT%1|kH`t6EGiSC_W$O;I}mh#GM9QESEKEw?fB(T5&P{;5PtHJW6Z)x zJ}q-L{h&G-Z+#exwIRYbeor28dmRxAR;yvq&+#T9rxSC=jcwnUQnnN}E|!>PY+!sq^baKc=7n!RckR%*G> z%k#D9iBDT`g{m?RZ!PC1ehuJ9&y><1KXiG=#n-W&^z9}K%{Z?^Bha~G5~rHy<8V=X zfWx?JUBbJxM!0OVg2NW^718&m0m3o68b!{}Wa5FPe!`7AW{G57>XOe!%lTWr|2gdI z$mB<4te1bB_gmsEX9XgW5nrOb41m*`U|_u z^+j=-O`-{Hhq-SB9~_QU28$Y1{>tCKDWu_z_Tt4|^`Zgwg`#OBSKi!HDOwxlCf4b+ z7TpQEF6ufxTj(1YF3eBL7Qgy&O*BVsukcpC&BBl7W%7brCx;tDJRCb5cZssK0_C9( zJw?{Ly2Rc2#~t%?+J$Zx%!HMTM~RAe3Wc^eiFn$eH$u0V#iBL3j7T@ZP3);YQp`sD z6#bj*EcPwW7iIh82?bk5iJb0hhzjfPi4@0wF&A$)R5WGdaZwu`FF)XOPB^h_v`95i z+hNIva}Jp|R)`|LIXLLG&KDN{IU%y20^*{CK+&DfFvqOPyX3oeu6LA|w2PD<-4~5n zry;K&c#D>q7&`fDL#Jky724G2%*?x zpExBqpTB3MB!02dL#Xj5UnrSWC7N5`F78&Z5H=pGkc*b2I)3zp}5NmlZ*%daDl5?+=CJVbqf>JKD=$Qg7aGg=DtpqI@`1u@*Ss7rg(`~v zlnfT1EcFs+Bt8>O@%5A+jZ+fo7aS74P`fBsT+=2Rxs(+xu^S*xeq}6{|CKvx-M=6* zDP1RyIjM97EUmXC zf}=RqM=07CqAD?*@I_R2fD;YfaZuFlUnw#ct`b$&#EN6o--wF-6pNIeB?}L}8Sc=S z=jwRpXs4(?tWJKr?4szD(Rh(fzexFxl}kk3w-3rwHW_nhxSD+~I0DO_EClDsD)!ub zYb;xNm8?=)gPz;_(T7`m$>KVFe6~bcIQ;q|_V@58cJ#6JtZSw>o7@u$pUnGoLQ{uv z5q3MkbD1^f4~@Xhz0V=E=`YSQG^6DWLM)DLB+I_^g_d;tVY0_|Y28e1zI)|o7(Tg? ztv&5eO7dH9%ja$Ap*I>GC+c#xg<^baa~H2atbl#m`_S}3G)Vf7geYfo+Tbx2XPj6G zYF1-_A0EN}3Hc~H6cWJ~sYtMJz;1TC=sm2RwuQb=tmp4F^l5ao&yaBUS1|Fd1~e%b z<4D^beYbG>crH#8hkn10W&1SfQJtOWXigi_HWj?omRLj>GheKK7mpeCnsh`TE_vks6WD%ZH99)~AmuSz zxbW2{;Kbwu5Zq*ig=T$y_uC`R=87`}NXPM=->kUH(MIgg5vkB@*vD0F&BK_uAUe+M z8~CXNW3>KYXuCNGA19jAqt{2%DrHYx9`GOgzUc}!PWHrOn^mPE{w#Q1bVIU#EbDc0 z6s$Bm4SQlj*wrV7@DHmDaO;DA>|B?0sLM#fih(&;x6}~b>~66US2nR5HtpsY+9qI@ z&U8FAs^?B|`898d~T8`(sPk*p)T>>cPpdHEaO*Qdu8XaRYW~ z55u#5dg!UXj@_Hs=bwFhFy4zz;=;x)gRwU~VD|O1n0r1%W}hEO7M&U*{L;5e9N$>S zH`q4GKF?9?!|&W>6a5;=vHnZh{uDr!G(Htpr8nY%eJyzJKYwg#>#N60 z&tbRIY4~O|neC``!4)M2I7mMOV;yrazcP}4*WH)!u-b&4(5!>Dy1}q0a}EdsUa+TQ zyx{hiYb}lbLcrpaF*cu z4I&)9Ljxr_#x!Wl!oGhPf@du)!2RrOPBUQ@{|ke$z-JR1|9Au{8N7#G$L6!HdkrwN zHk$qVv|O^q;ed3|>H@;J^aq7?and=N$?#5Hhj=f#OWL$pm|jvs+`b+n?OU2~!`l6_ zc0+GAflri)W9_5?%8y8-_zSb(<9@Ef@(20%ZZY|revo zY#CMqpW!RO+z*nfZ@;C#Lmi9;my*g1J$Sv^2GaVK5wq);xW*v|z$Z!{ubD=J zVs#zd)Hncp-X9~gd|A{}zCv1}yUE4}$#Bu@lZ+ock

khK;YlT#_HxLDUFBC*h- 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

-+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

b8Cu7s^Nm-EhmzxRMBS9HZ7UvruzZ9ZI1z1#B# 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
gNnZ4G3TEUo7@LGp3LCa^!~+-@QfYSJs@xl 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�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
!skct(Z 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%0D6@0J@7o#->f%;7K*{`elR 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�xRR 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

(oY~Apjhe$bo{r-B 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%0D7pX&|t<80OJ> zb<)5urF)g;aYsG;XjWSRIZ%H{*j;V_gBho&2^YZ0WJ&W04wK2Sg7G*z{5o8^xg1yR zXk&sHKg>Jxoz}U&CDK=wsPfA)v6rqFEL)_><{r)hO`Q$Yex(JK4H$u!1J+~2EoYpp z;)=7A#Q5=13bXEfAntvv&G-3cV~2p^QTi|yF8;Z}?C9yCS%w32+3uT=em)y^o1CG( zc0t7E#$St@dbh#+Y7Q>54+Y=5S1ro_Y5^=BNn5pMK;{P}nEY0snqG@Uw>f*LijFkA zI=%&Dd~Kj*=T@@$=Pg*fr^fPw`YHHuM}nS@7xKQ7Q$Vb9m&DBll3`^Fe+@)9eegVW z&v`-XH42zXszT=Z(LuUT@QQ~XGsV;2E{ZcH3{dKU2DZN1Nqrjc(C@l4;7IE;PS*1u z(LFbn1Rd1F&d5nHdj1kx2WB+m>@pa1kHdHJkvLED33R#4z$tI;h}GPDnd+%)@Cx^h z+#ONK&5!Y;yEjXNc4Y_6aLC~dI`!zAS%q9#-}Xa*?LB-zAu{z&bMaP#jfRQ zcI1#9GyjqMv7K~YPB9%UKZMf#AvA`YK!R^hfs*4@jKzX8G)OXwJUV`ksgAnLSx5$p z*W5}WS3iY<^_BVDxl!Ah7?i~0!*4L--6Ww}-iLJX6Ciks9%J0xM`DNt+4gP>{QFSB zJnZ?(l}{c|_FGxe;x!N8^662cPQHt~I_d$P>!VBk*Cx>)|DKZnT#nP60A(_KuNReh zt0P{Vaeyl9YGmB}MsbDv6wv&dnOH7-D?GaAN>|?2X6em-@=eW&+z*;d@*7m4fAw{y z!QqLh!$X_ipYI^9$k(O|n3v>t#xHX7;!=>Y-c3CuOSzJy1l>as6#hH;Ks2$?V}`V8gmjnyWh*2lRyOpXXaDdte56J9#Mndk{rGVo z^qDD~eODz_HE<_en_}qBh9b<`rok&E#R|-t5b^;ViOPTN48}@hwplL;>wiF^TXKnL z=}PK)Igk8n64)V9am+NEcvOrXN7^^P=8P;F;n9oZRBF!|?o-UDYBq8;zq9=V^D$nL zUYoxkcFf;F8(vEzV_QKj*LVm#I1}2TVnr@I9Zz2+7~z`@=D)MdE6b=U9r*&yI!)r7XJFYb-d&%)s^ueca*NUM|V)C~SXR zi2EhKQqp)|$hW?yzxF%f==yz7d;SNf=y;la(`(Ogf2?uNkPPtja-=aO^C0QFA7;P+ zIeDQ5OP6oMNjc|X^O(=nV{H!}-?tI=O&*6&gnRF1t1@o-3O96o>VT(%gn!I9Q+WJY z8ZXVbM3R2l!stCdWX&&OCpP5>eVrZ7TE_)Ic(WM;jAnLtO~3oPgmR|Ddo<5kK;o)zf~6YTm@XDxS3w-DaVlX zL?T$mQKKUflUh7+w)z_;rs6g|IQKbyoqq&v{;Q@lOULqRGnbQ#xpyH;$OI&0|3C+; zM=;NIIB2#+zz6hX=ai~Ki@>HZUv-Nvz2CxBx}L?KOAXO3PZND4H(qcH}(T#wWVG}wF*%LUf+ysqK= z3yI;_9+*x}>RV&HyBt+K8w&aL%Q%h68hqBL)p+*x2k6E+yl7En89aXnDy(s0)=dh* zx@)`1a+h_)=zAh%dlu1u_lEPTF}Cci<#E(q{wT^RszILZeiAS(odzE|gG+4Yf@1G| z`b}>O8>KOWzdC6ztL60uofUP_^Zi6v>7xcoi-rK>X2_q=G$+S&>&aq!4rjjHj8RW| zXn+&K#*dZ&9|=sFW6rzWOeAqjEXd&pQH+(K)xFhNC@_Imzzypc+?6Tvq~>rethU^V zF%gRhmw7;J$h(lqQY`B`z68&VI>BM6F}8zZ=r| zay5`6Jm>E%XVBF#jBuHWc=`1z@%3Nhu`xo1J{yRF`8WU2-&CK@y)qt$tyoJ;eRqS{ z-4K@BuLYTxrlOMmx%~C(V#>rflG64luuCW)%|||AR^Lo`<`>3&%QdF6-J0OdS~dQk zv<^%Ny+vn*?j!rpN?=;<98lfQ;m#A)sBylV%voW9)6egL9|zm1r&cn;HB+>&dIXlk zv+%TnBH?plaGm!8=(AVGcF`1mi9sZq6`erk#j9w8=rp(&OClbf3DM8BVFazC%5O78 zfivEcSUD%czWf8Lb3!ol)h*Jlz8${mXOP|M$Kb#)b$Z`sHtK%QNWCu7FVByYO) zA$f%fei*%#PLk+V42ZI$q~C!e%mT#X+(-doo>-b==~= zT~^%JdH0A%yghXNxBVJ>!EI!uiL^p4Wr+3Vj*Pb%sc=HX^pagfK!4Tu+CzH|90t5QDH0?HV<=&p2 zfv}>U>@+u_8-}l-z3Dk{Pp1kb1y1^&Wv zltMmD^C1Imzp8RXgCwDpklUYT!PUSzl-*>>rfd1qk0YLP{g+i?LPiU7a?LpIsOYo+oWyqnM zc?SNQ6-FvjL%?S7)J3 z9*)n$F7Ic=%}n5jEYHO~0wd;Em?Qb!;EJ)QJjs8VahMjemT=YksKLE|)a=bDZrHX8 zI=x=VM8?dHA49l2J3pj0I{di}LkW9P5)72y(j^ba zK~?wxsJg^LfOimyU$0Hiy5w>_-IoZR?Zk)dcY$|8x7lQM;eP&VJbhqOC*J8hhlJL9 z(JQG_aLu(ukQ?;Cfr4qU*=sEre4IybR!V_}nFo$oUyQmIJL!_oXK8kxHQM%?FjszS zvMC>X$a>G8GLx?NU_F&yyO`T{U4{OZ^d;P#Nbax3VQjXXh?#ZqkiY0Fo#Ho( zp6@tMwmDs(E}&1n&psiKx95=+zk@iJ277#e-H-ap22hK^M8;w387}I4w^(7mv1nbM zF=rRwz-c;3!_R{!$oe*U@>eqi%BxP$2Xm&;J;`>c-|!D&-ipbMTT5un^J8>q%t=hy z*UNq1DCVY2n#{cV+Kcvn%AAp$B)yneMgH?J66GK5r1Bcooasgr2D+T-9hm^4pI%Fh zN2+4lk`__on?uyguo2BXT(S7WWjZ?Dl;;1cr;o3v;^BxaNc=kn=KC3wUpLw~?>}+e zgauQnVM;W;;b1`Aye^Y_u_w4+9bI%I$f3*iiQxD`ge@+IAmNuWtRfuk(eQ_9U-Cu2 znIh)eigNDwkUu1z&48xD9y0&5;60Z9PQxwph?mh3{P92n+~?0Dqi<(oZdnX1w)rPg z@%l`Sx{DZ*XAHBVFi1QQq(x@;Fxc^CH_VR`Va2%#P#V=zZC@8jN8UI_zJBc^cMcvR zaXPwm$-gh8Y5X~=8s>+srKZ(4h27-zJ8h(KPZ>N|by9R?{Yd;wu0q!R5xC@rAJtr1 z#~8PHk)&4w7kP69^FV0<9*~$sHf-F-d{`#MkJ>O=$gO(Ou!f7Uzgvdgc2`r-kCpg+ zMf3T6vmeu82dBV@$K&D8r1>;nGat8p)dN}OPnJvS&cfD13FKWLNAKBJkl}@$L^b^! z85kl5;|iXVn?Y@0r<#r%g*=N>pd@?3w*y8?t%iY6X}l^O4FBF~vS->fSnt0>*}T+I z7=L;(uDa?2KFLYk9F-ce%8l3L&8iYo-E7D@B{ZO`%?IwZuQoV{GicnCE2N^^2o?5T zgkgbQ@N3I#COW5vit^UOG>!it|Aij-I!}b>cf@ey=0%zv9EnnzE~v9I4|3b3@dK^G zFF!-!?iPU$xrZnEzjo4d!EXdUYd0MyGh4{N_|hMtZ6KastQmb zyNthhqGSasm@Q+Jj<_%m1%9x|#1Tu|<=7hge^zE=5m}PyK zG*~o?RR!+ule8qd>x00af3*Q#*HzM1zm>49xdJcSXE4{Lj^ok#z2LLpg(&WY1vX|K z!2;U`RLpxvQy1^&RgZ2%pJz8PDs3nRu}zTpQkB>G%fb+61`;aMAZuwm+4I(sBo>9? zv}Y1R|D5o(YR!QwZ~uv&_L~#e+F-OAJsY?B&fvcY?8&62R*ce z&tG#4V&i)nNy?R<@ZVrQx{OiajnEr2)W$)del{dH{=qe93v<(F^Oy1`@)xRF;C)~! z=GbS$YVBfbaYE>knR%8h%8SHZ7iYm*dl5V6ugC5_H=aN7`v_zFViCJ->s?edFy{?- zI`FI9BiLX1PvB(4aA<6Qi+es?rxg{8$*jwbc<@>a{VM&EAGb>r?#d0ouZzj_Qqg|M zusDbL4N36zo0#{{Q{rFVTZbwBh45X-C9SFajMe`(VPxY}-a4R?|4*U`I@0Q)(?t=E z51Yq3YOiF?mN$XJ-27^{+#p^hIhD$|JSB~#4)9j&1;H~fL%wPjtVo-}4>bSZOWMt4 z<}BiqQ!3fTbK_vA!dZ6Zafa2cT!b|~(m3q!AsVV|$UeAag~eL=P*#72R{ine@3y~% z7+q^|nhD`E)y@lkC2MY!(>n}Hufh=-f(LCvI!16|OrYm7+>&-5#qIs{rHBK|T}SzQ z+s#NV^V71pU52eNp2QAYJ&iqFyPIW-UxQ^=85};Dfn$obc=weuto{OfOe@*W82j9S zaVlr2?7L9h;XR+=p9 z<%*ZW%+bx_0My@(rx8?#w(s0ejQek3d+#eWYtiO6I(;Ug4TJPbVkwBem13mdWsLOJ zfkjGj&{8eNw?XIW(kFM}sX`a64Vw;^3^yP%Vi1x?CgOh^w9v#u8dBQUVqjkyoT5E+ zuxB3MVdoDsaUaCkw}PR-w#jKQE7$)43#2?I|_tvX9`(=Om$IRvw- zg3sc`YjiQRPRxMVCow>7>Eb||OLH|7Y5S#6wF(Mq_ z<>X-B>ug{y&B6@==c7V%lccKAlcO0;9b0y@%hDgGG8!XMj(Sh+uksQdfUBIT)Qmv)$W@HQ33(JEpzM2<1O zx1DTUYzFrC$Kj>UcVdlvb=nXyy*fk6gii39PQne-n6p8l==|d#X$k&CRh*OXTa^f& z{oF>ZKV}o#X%o>;V?PZnmnZe=9+-D04CLBnLvRgChV7D%)k2a+`?cs#e7@#RbH)G^Hp{K>+T(xvWBdu7r8_&MeCm)xMv{<=J z3#<7xxV`BZ6WV?nK4Lq3spl`!tW$u9$@=u5?q@RO*j}8dhY;H3&22h2mdTG+K+We~@NN5a z#;U}Ee19bLbsSScr@KicaqE2M-KPP|SSaRh{a1=jl_Ld~wV2ycqKD3<)pU`eCRh$h zA?r>pp{l19`4W36vbNwo2C7HF%Gc!(b)$nk%)ZC;&EE%=z^yOT8((1MzV#15)l=|VQd8LjSy4Rn(vSJt$sV-#p zcQ8cqj6Rs1m%~nbS=?ci2zDQ`m}OJSG0Qoe>eepiv!B}Xi{_oC_MQ1yC1Xyaj{hP1 zCMJ+(XJv50v!a{hX7aiUD^cb4F;YI)iC^G*hFR^sl&kx$i0!&O^EV__bm^xmif2vX znkP8Z^na3U;bJjWNq8sDYzrpsol&IoYABqlDP~4hETWZZnu4EpEXdDq1C`0)IM}#X z=*K-{zF`GNDm)`mbyOaz`>vy@Im78+gOf~Cz#V!xIhgppkpj<;PN!V@a|W{{s2{0;btaiXm6%V^xMdas5ihbt)xz_zOX#|EY%ufPs?8$ zf;O2=Tol9UUHREG{!|&Y>paalls_WY3lDRP*L}x(|K);ZLN3Y%9|lFU08X^l4ir2) zxxv&g;{6>ZWat%N`t5BT*RA16UmPo>?z11kq3y$2RcT7E8CjF&6?0JTxRh8KCh|qv zmzbYteh9r0BhcmEHJF>zf=}935$)u=w8B4$ILIc!#1St!8RNUKwSOH3r4G{Oi#4>) z&Io4+%te{z2rQlyPt-gn@PG8K;&_i{oEGXz)HTh>=F|Pa$Qr}D+tcu% z>IE{UN;sG<#K1s zcbbstE??+<-7*q5-3sqbNyd_u=P6el54Q3TneDGSaD4U|I$1>rItETN)ju~g+>|_W z^J*iVCCtkzB`a~JG0@UR<`ah7JUJli=nV7} z`O}Hj(FDpb-HQb;cG5E+&XOG6UAR4e3eGmnp@Rp!L0)GaSJkA0((kW}w9-^y$C9DA z#Myx_d9sr3Sf5BPy%|BJb?Rx+yJ=*m$52>Z<_{WHrnumOH$foqU62jARe!NMqZTUA#*95s{hvq&-*tsSD*hN zD@|7eqc6j0w@3@KQ5&kpCev$cJ|bg(6MpACX8Me*nS098;KYxhik7vctaKAO8R<(x zwj9E#VY`Tbekcw05$FfT16WGXQFT}WGJUgfM770~8 zO#Z=oSfGqBWTzTB_HgjJq=PB4m*wm4%kjC6^YG!KB(gLj6_@*4;me2SsKdv=v}46Y zqOKgDjz!K(Viez#x(lPD8Ky*cC5e0BLZjrO*wCr%G_bY{@1|J5m@$*dxAyt$=y_eJ z7Oalb{~W(AF zb_;{DVLc1BF5dc7M^Covq{QctjP3zuQh z5i!|(aR~G`O{U`|S7CRPg3zlbMbjnHxa3|lDBN8{s3sDOc;?Sw|=9s-w#KM|7ubKK`0~j+9Ms zMtL6SDFtPs*px z@iQ)QLuOq9^Kt9(l&P@$yS9RSN?wQNTfUGTyK`uCtsEY|Ux*VGjfu^xWM;waCK7$E zkRDur2R*d+a{GVs%sAUn3>C$2Q`zxlk&_$k zPro`ord@CJ!T6ypEm0BneXoT4Ln;tce>38-A%>F;c}5I11up!XII;N|e=?+oK8Bp&Rp7DGVXZVwjQQeCR``*!BiDWYW z%MqMA%@wS=hk)}4O3GFYW%s_3B8IhP7R);cQW}-9diFG0btQp% zIsYf<>oxRZMi2E#N#iEy`=E4nBkr3Lg5R9?&{SPUT(Hf7rge@+l}oWy-+2^TAIZZ< zk=mG3@6VNFn^B1B;7Zn+3wz!nG`{XAh8CoA&D)=fe1DwhM83MDRab^~zHFwygNkYE z^>w1ff4iA6CmvH5ej^>1uF2S6{>{ymU&wso_tR@Tw!z$0m5j3UZpeRfj<)lb?Wh@aZTAPJ?BNjB&T28~Iw47`Rg{S5JYH09r_Ly=KI5{F$byQ#JTq%` zj_6LtJ5ryR%t*f6OooaDFW9?8QkUAp34v#NATNb(JScQljob#qul^JjImwdcL2o#> z`=>0N`*VoumP5?z7fa~a|7>tGcL9vpIGW$=1*)w_nKwP#xRY-bx$|<(j5iJuSVi98 zp1gtfoKNS*?d`1IHElXKXVPNMc+v=B9mkTxwPztYypdb8bE&v~mvFRRXL`a>oy z+ySB4@3}emdx`PaeM~Kwqu9h7wUfi>qaW6I(m)5CAGXni!930&yOX?{e2x{GmrO@wPXlAYL-f-`ZRM-CUVU4qq9)^*+C(r5cy}$*`>)?LA zYUakaA0nL})Cl+f2A26Qht1j%MEd#?)RYV7yzg6*>E@E4BK3#ptvkjn+B_9XGIi*y z#0b*#%oyjM(1HUyKM`GB3EYzq#uz_6#EseZjxtYXLZ;q-AhG`!vpDiS?eQ3jJ?CTy zbKRLP`(}o}V>*e>?I_%}(6riP?KH?J5whZ0pGiYSH@Ov;i7)o=feHQ1Tu00y+7R%a z#2v|_y}fF<67Q3Z-)7){`rjC*A@Vr5YmhOyewV%)okNnR37mZy4U(2t0lr@)iS|zg zl=?T3It^10d#SjP$1mGy`3*HjA4!~~6(TSl zZ;SZ4Qu0&CwC#Ij04E&+aO^)5vgG_KVm@>-@f8@>eiM$7=FBkiKurtBGM^#(Py^$< zU?Ey8KMc}>CT%cnELLwa;`f%U;;}i2SUn%a;4hb+?qiQ^ga9L4DG2@Dk|v z^}^NZhp^0hIHbp|VEsELz=~IIsLSmMeBkyP`g`MhnqE4by(uTCZqtRHgVR%q`(qb) z)o1~Co)6&pJ`HGoFNOD0%h6(!30OrS)2CB`=?^FKZkh$?do~Lf&A5no;}u6)_8& z=HsCCBlOAD!Sxf&U`k>yXW~1SzRqx`S0p;b(@uWI!}-E4t@seHV4F|Mh8eKga;NDp zPkWfSAp!0kO-Bit=lIVe6?gv=w7Lh&kP$N86DR3V*ed9*w^(rO{VHmzHGz+M$EjMQ z39sMO2$m`?n3ryV`;JC|Ui}DOV@O*z06@O-pIpbqfw&73{N(ES273$BoZC?04IDaW;b+{fzr?O{L698;9*e0 zui%tm)QuMSo?pOwg!@8?yCc7B+8f4B&3b4cPj`f^Ug_gA04ILB?qWyR~aEW+^7({}?(C zhnn6njyJT63XztPN>ZY6&->p95Zz%*#nQG0m4h z{O=;R%-e{cw7hWq$qKi`-7I)9`vi~yq3`Ikkpca0qOSa%M8(0-cD(@!cWKl%YyE!1bvM-}|J^icP z&eb!}eV-IRX8m-`N;QDB)w78BaWdMC{Y~kz%UnU*ae-y84ly&wf!fu>^!uiT9F24# zQhpiCj_V2V`Qu*F*clAZ^!&-%_N&~Iw7cB0ciLcX5{Le?)6mVL6vLt$$e|gx=oMRv zJJ0-~k6|ZW@M0EO$|%9eGpk6)vEeX7y-&1pU_SI;(xseg9KfI5NKc3GS7*PX?$h@} zXXqkwB6uj7w6TzGRJZ~|)*J)LTfR)Lz#WX#@dHSCgkN7w#4*f1+Pq1QN))M*yZ&*E zWRwrbJgJ~p&fP0YSxCF%vhE%eUZd%hcPAUcHmX(O7hQV z(JJp)I+z~^mC_H0^`VJN*>fC5vP>R^lD-%H^%BL%}xI#m`hri^7*D1<@1SlBO?ELD9raRBv^RDIx#tm ztnoR+6pc+GqbeK7h)rv7?l4nWy8gRp!pb2uO7NzA9J!Yi1>B=MnMKqoTuS(xbLcPq z0rHMXz?k%Iu4L9cdS{^-c<%`&PpVs)NnPj3n(^J-k@;R^@%(#Si{VbOe3cRPdV7@F z@?;pSjJZavP45!9zb|N&;A4?4{!#ud-I)YusH1X!ELV_!n^Y+~!)+gZs{B5K4(w4O zw+hyi!u^N1-ywdMIX)_ITlYE5G7RI6#$O_n<7W|5i<`7c_6n_wD^cUZeLpBTbouA-&;v$-5 zw}EVPQeu}_4FT%|6NKO5ab{wmF}(LYMcTi7;J|>zDRo(-$x(t&=BEM9LgHmJ67;rg zpt@?qgtKTV_qsp?13o9opQ%IP=uahdmrf*-_I+ek%P9K%$Up0c;|^L%PFDQeIVybp(n$%dtvF#ZWusEZL@>k!;h z-&2WC=5$LtoF-Ce}^gXyfBEB-JsA zBxm0z1FtX9tJ@T5I`@xLsi|NZt_(2NA?Cun@;ux)wvW_FCUZRv$#imN0j3>^Cix8l z-!^m@N*3y1=mmAuvADp=1s`A>?nlAF#>I3@)<%r7xK52l`am2kiOO z&D|3`!*;0)DYpY)BDEtmhK@|Lye)S$wwa`*R1xh;8Opj95yjsE|FXh_n#oMVV!br3 zXZji9K0Fm?+7FOGWhbF?Z%0EIUDB;6rrq=Hx!e1faP9w+$a+IHQtoq!9yzv@aUObz zY%Nuy{-dSn%gxc`*S}0ca|5`29#5DnQ}tnd?_pBEi?Un%Sl;YZKH^7hoRsGc4hl!8 zilGa;^{N-Y=E!Ay-jRvt0?&fZC<4ZQDMHWuIvVKg0EPU0^xKhfsCZx)zt^mlo~y1x zE!K!Q33EbZlaTSTJa%Hk659MLgB}0KmM?VJE_P^*gYx-8`%12jluZ@5 zi?ItKvbvm`a;*e9W3QtBjwT@+y&5yu7|~u=o^DPFBm0_N*=09wLxsyxlq>&1oHDP{ z#JX810TOJ}GfHqG>(%m{3G7|pn>gruM3A1EwE@!7@1s?i1n@Oq3_NqCc$ei#Ah4>*|7!0 zJ>LVZgO;-=y=?H#m?Zo?V9g&G8&B7{4#D~_S!D5C3))tE9S^ju!C6O2V9&^8=smE3 z|J)bLIVlD6kz*#q>%9tWZtxw#X{JDt=YBXE;Dw@TBlvHZdGwVlfKSauu=ZIwpQSs8 zEp*vK4FS&Vo2rS3sBUSNwN!1V3;8S~OhUjh_4dz|_J%SUSyOe6aF6<)Yzm8#N#W-N4k}2qwJ!f>uOYs6 z5og67-6~W_iH5BTd1O+Lclm>v z4bWtjM3qlE@nhzWV7nTk=!A71B&Pc&xogk@@7cQ*PbB@)KqbaN6@JwJ7xv|-X_YIp43d&M2ZPOHZToH`ovjXefTG;ass#GSn zMM2o$Oq`pa!oJjD_zPh=tP*!?Jd@h29K9q#248ZWchpvX2QZHJ?0 zLoq4gBeq;DhaUS+Sp1(Yf4w_`oqc!}{_#HvbsGBt7rXOc9tNQL$prq%wb5)fpTQPn z33tZrEUOcq#xFm!5{G@P$Jk>Mc;>y(hsf!{U60rCr!+-;tW7K*V|od{Hc#PAj>cB* zO*l@^<>j)>xG{XdhiY)iI7q+PBj0*Sxl+%g0lz$v#0(uZ{JyM{FL3Tdrx71{?XdHF z|Hilcom~sSs@sCC|09PDqlQ+-mrmeEe<)>_Y!G_Ol|_|4ri8DQlV#gP6#j&z;>MyZ zu=sB@%a?4jagI7HQZmkfQ(kIN`s#$u)*w@ii&0@mhL^IMrw^lviW)zB-5E|vql9+m zIbi4ci7fX^3-c$&^A|inzzSin|HQ@3X1>HXEZ3dGSL`w3tsWGKCkS_n2gw#(cBYZ7 zXx88_Y>DD`F1^K155B@?&#dK*tku}2&qvsg63JxWy+MKJu@DxH_6BqRT6p(2jK4Xl z7a#3D$}73nvqVjpN8(zUQyXO1m7N>d-Jcwx+FXKtv2ZhA|Mec9BRo?w5^iADsY9&V zrBA%alI4tf;%V@Z{D)Ed{BbbyfWSH5Mc%*R$f_%QakriZYv8TSZc-f%W=?8s@+e!Z z+He!A3ca<`MiML_?TW@~vQA74lN&{T4Y$4-~l!>$3EoyRq9E#s4^GUvEap{pjY@BFA zy#wTU(Hf4fQ*=h@r%CA1@c|u+*ID;%(Pk%2`@}q}K8FTFdC>eh6ifAni%(=ng6Y#Z z7;bV97Ppz9>8iCWe3GY7_@CZPhGx&ISpxAoe~fR8XWFn$_Xmo^-M^cq04hJ;Uet7qRYA z5h(4@Nxi-f;SNtOgJYkbzzGtmWPg zi7os5KP~Vbn9DMEm+SHbpw61>^Q{m|Ye&&CIt@-m0D*cu1LO7CZj z@%0uXa>eTvhKD7w#Z!y9f_=^KQ!Nq9@FMFG>CHYGACFZ@AkJ}nhRc4BhWwHhffc-Jld{3cA?-5s5^l>jb`@>;w;l-mgi8A72!rO3UkF`B(Q#iC=RrjJ6xiKUrJKUKJcq z1C7P}ti`%~%84-`Zxx5%ejlTqFQ%c^!wcw;Z^qyDyNSV8>9B2MFXFu0?8xHP{KQ8~ z*d(8ea7}R>n`9qC><1IzV?r63-;~4muk$8pDtc_j{TkS?x{TkGvY)M*cYzPC%B77v zdvKgEdxXr*;P0(J1KQEWXne_x-J=i)!R0T>s7-ya!?l)}Za7Y|cc<{B8av=@P9?xE zY5s}sRc4vN6q~%!YcTP>J^Z~fKqWk;vd1>G4fm zw&7~f?Nwu^{Tu~qJz7jetQJ+Su>gyR$E2vZ+WJ=c5i)Gl4r0B22RGxs6^V)QA##sY zFd@Z|5vdlEXDRDBayqBNV62NcX#8XN-ddumv5%{ICnhH^zZBPXT_j?;bL48lF>50`WwGkLTH^mTne@oy zi;mn*7qaOgG{5v4iS&;bn0@ZVAbk<@wh}3BnNA+d$&yc3BFT7zQW38*n!2|hCK`i+ z=PZAYXzFgEV_CinhHN-YI~N$^@}>mq;Qjk8Zzs*2 zQKWE$k!aUo3ca#hQ9RXfBuwzygkRn#(Z3G^aa8&{=0JZu34a|+wQJhRawQGoetbQx z7$~84yU#KyhAG_T2g6|84n16ZTOMP6B@;QN$?$4gAKBFxMWvhK=_H9-YLYt%wg0;y zl9m1`8n_tGyuG)Z>b$h4A;Wu!DZhh+<~v~;2O2aRHJ{abTE9S7tZtb z#dU4@xW~a4PZ~&K!Or7E^xFT1>2`wb(-$)pz&_TN2@L(}lhlXnIfy9P=N9W4bq~0_S@ZDAH zKhjF2#}?va-UXc78@V{eKrosZN8epZ#mC3@qJgQEu-DEb=X70gM!;>_;iN`R*p_3n zp*&nm9ZR1Meqo}DW|Di%Y+P^gom{sa3R0mp^k|DF8@(xmSzv68zvnsN!&QcumlQ;{ zogH8Xb7kPeTOXX8@>s<6#*h_-zl3{zO_;plE&aMi4SL02ne&pSkkqrDOiSphxEXdG zeGZLc#>Xi^M~D)Rjygn|K5MWS-!)^;bsm0boT8yA8mN+aTU6|N5ETdOn8M(rc+L1b zlR5Pq=uhtx%X-N2$G@6#$1Hvj)sPZ$y(gc{l8C_f6W>7UKh=uPY&m|4#cI0WR0)m+ zXJbh65_mRWf{vJKL&iU}7kH*7H2>!*vS6hyv@dRMFj@116WMt4AU%2`Dwob6d7dsJeRl=0Slmd=I~S36j(QLvokM0k&POHB6 z3F~beR+F)Z+Gxe)L8_m#htfJ1v>O~`_Oup~oEsy-FL5fFAKgdG($1rOP!5?eRSnv% zl~Cn7YruK^aWcwgF(~%E=A3dz;bj9O(&%%5dW}ELf6I`jqk1osCiW)Ojx`m!l5!x? zVnO%+Sw<9O49ITDtsuVnfKE;~rM6#oK-r~a{8T8zJ=}AF3{}5~=0q12jG{T+iCOeu z$V=+|HU?&fjDyGX9}-!=kBm=hKUronNN4&21pR5^W?7D<8{qrj4pIb7Vb5ppts@xdDm|XVc*NBUQIu@?4k;L;=w`QB(fQ{nhNe- z34Q)QwQ!9Q)bq8Fkf|0k*Z{M9smsp?6a@ zXEil}-?rO_+D!1_?PUos>w5?v|5!*CZF@qFk5T8lH!0v<_`y9KPpJ`R!h9bg<2gA9 zLyvCe+1HLFZGJF!`KLQMcQl>`ODe&(NNnO ze=lFhDz2PF?i@6PkmyWYc<&VcH%gI@zjz=1t~W+)>1U`dz6}fBo`;x&JITlJ7i7is z6h33mer(^(;@ZJJEZdMtKjuiY3MZXmXS*{twaw=rm-s_?=0gnJMp%`AF>IxyEsD=+ z;rR(hffpQx>F$QE%}uxJ&M9^aRZDKd*hrnLYMwj8y&Lu z2l;ZRkN-AQ4;C0rqjIswu*Nq3%qfU&VMiXY@>J&{@WPJt<@4N98MJ{A; z$2Fm|szQ7fW3W{+7R8c={PO*}T*0>j-XZiHTfV@Wzvy}hcMZD?Q|D(xUh+EVda(qq zmG393Mt(pK@3k;m+LtD^?IO=IN0O<#J(!PEh4)nFZD?C`3Qc}j&<*bzsL93G0$X%6 zdFa>0q&nPyNmbVvMb9jz==puB8u5~rw~vF4U+E;h>?zhbDY6&T!sxJX)6sI$DZ02~ zC~l6{=E*yG9FjK%b?Zj(eWC-nzP^>2cd~^(m#G4`ZOLS);z}-S%okdUap19d5n9Py zgWg&zJ|p{}=%KA1`EWh~5~qf9@rg6w*X{N6+*5VlYV9`Y6ZoMUMz6$voQH5_ z4L)YhPbl^(z~N_3;fLgCcq{O)Urv-2yhnq|HimWwRt+(SH@Y(Xc;WmfQ=JOaDpmLY*l19$_yiDbC zEHQf69A@B2Ei4UBV0(vd=D)Vzf>GuQu=C(O-xf4RRSI|AGoUTE3n<;!Or}UQ!@1BV_;>@sp!yQIB6W<^ zWQBt1scLfhRVU*x^PMOy^fLX>C}hLW7I6nv=i;4wH{vv{Q1rko88^0BlRA%B95}KN z|JKC8zXKDoq@e(bZyF4<7QV+H^C7*2r*_wyIk$;-$jn<=q`1YCDyH0Jrmb6qvGGF) z&VNd0o~fa?>PBJ44Q~jFR>b#9RA|zZ$Ly1tf$&AK1VfswXi4i-WYi=`UZ&6={`vu# zLURZiPRYXFDAc$9114i#Vad<|V(0I{H5*;$Wd7LGJ0Z_$ewi9w?%zo6sw}|P6_r-~ ztR7BDD8wJLbFl7#KHt`aRQh}}{AAY>b9#wrUKj%vGK)C?ifuhNnfg=R^vZcve7I%| z2AwYl*_}l&v2X+Y*cJpE{3B_x%Sv2$(u|ji&%xJ2-h$k$6fQKifV3M#qMw!PLXCk|M^&}?2X9j-#qYsBHuhZQg2E2T>n14GMz{Ur- zu!Ta-KT}%+Q$8Q!MRR`gv$g^|J^cXt45ru&hOU5*UrzA;N1oD^8*i}^MyYIRc^0l8 z$R@E(%KVHGM*OkFRG2+m$n5SJhgz4%k%JONcy)^s9xn0bT~>F1yzxQ^uu5eQt$l~5 zmKyPOR}|S%mzz+3dKYgz+MYjg)Qms5XCwTsjASQmap83j$FoN+*z!NaZsY887VPpY zlgf3Qn`qvZ>aVdEAPmKzu%YedE?c137E~VNH%5T?+&k=YtuoU$aZQQ z`-^|^EsK{-*bHNDj%CZM74Y@Dhy42!BiRpfoJf?lSiB<2IJt+euY3%wdJ{Kau3w z2)5{E88mHJ3R`SE_&INL_|1M^HWHQpk>Uw?Xen zId)lWFsq-HNt|C^5gfh}c(8l}UWn4*59&(54uh=}o_KLjUcX1bJau08qyc~F@p>5N@{yHV%-j1MJ!OO|haBV1_ zPsLw^U90t&7VgKgZYUs!sMy2?zCDlP9)r5I)mkkGJK{zr&7B0Pl8w|V?gbt5a6F9j zmE-TV#gh3(7nzp=XYQl#HvHG(!YI_};gf7nkb3o&>hL4cQsXt{9UQ3w4Wrv@Z_;Cn z^Jtl?9@Gb4C(ZE^jK-}MuybT6u2>yHou&$mlZ`%f$XHc0{UP*GtIRNR{xNQc=)36n z*9lZrYBO$_kRz&yG89;99+1>>o*p(Xfxaqh^2Qlp?a>i%>tiOIeJDv*$IYrHOe3XNroxEqJkH~30hKzc zj$7wu@*zpB82v4QSzcyIH4iTRd`ZQqgR9d#u4N4;p)9_o? zblzGOdR#RhRe91_Zi;wcZBf? z2f0_RyBP5ueKczKg3lxxC;l@+qp&L|FLRwVjctQ>^>c`u!g8qJl)(BqY$d;~8(F(R zYv|1Hz*|1Qp=MnQUbMYUnzb^h_1IKQ*gJ}SxN0G-?NXxi?dmix{6H3ZY>2KP79G?`I zuYq@x50I`_ChD1Fl^;KopCSyOnDS=hHO!XraULM|Be<=RJbQck5tj11&bL zC5GRtvGZs*in~hqAz{XBqJalJD%wjMJ{AbRmt-a;+iqZ z$P75p0J@BSCf81zuIr<-(GJq7C&x#Y*wKk!?vc$`m8skLa%%EHku}}>PdL)c3;pXl zQe7pu1YjvlQ*0q+gF|rO-ccIxNf}NmdSkzj2*yq=q-554x+!0l%hpn__|@A;FJ4lE zp4BnrZf`aTKlF`D7@sV@7$)@L>b7vM5qpqRuVq3FU!!)NG~RczVN7<6MA^=-8CSu=NPt$}w*F`;TQh4n% zb7xZkC%gR{vn0KNp8O>+04la~4knRsTjC788ab1&>TAKu6kteuJ=rAmD*DI%VbmuV zLd#?ic>H7&EEB>e1BW$PMyHL%X7vpD}}jzYm(5>74s3TSj<)59H8=V&ERiH2a|AR9@~Fs7~30MNn&5+b8Uf9 z_>yg)c8)99v&#q3Hu(LfDd+k9ABlZNZ_ z{$c-fC-i;k$?}2U>4JK9Sd#IKei%GMKd7Z)LajWK5PtD zGDy2@M@)N2?hP$wrkPLTEkD$-E~(=yU;Y@+{#6&;>Y0r=Fx(Hkm%lBuRY=6yf?FZ9 zxRR_?Ka9iDGw5SKEh_)Ofc#$F1Qv66$PNERb;T>G`A!e|;gc*Jt52jxpFWck>!Gw` zmpufJa7Qpy1CJZVuu;CA&VS@aGav3EGe#Vv$#Xrq?HAwB5tCO?r)8<=pqor@t&9+f zgOsT5!UU?M6im8QC4iM4N3?brfNaDNCQE-Q_!T~FZI%U@3lY| zyl9opQBo0-ON}&AIX~acq&+s5{B&)mkwf1wikYK1yGJj{5Rn?1oSe(OI9Nm0v{(>^ zo5)m971HJ*hZVmpsg%qO5}Im*L(gc_?5p1x_e*2>^5T5@b05Iq2@5jYLL2s_?xS)p z2grt^Ndo`X4MX0Dh)!B7cR5somsmarciEZIF3qQ$QrSi>N~@BLSZBb+s{BVsZH=bi zijv9xWeJ?AnHxDZEf{+DZY25ROu$pk3b*(@VI~dA5%o#>jHGlmmC}|Zucs)I@4Ix! z_}7i%nMckO=*6<&f^D%34!=UmHkr}QX%DHp%~Kkv3=kRg3F~%UVs?MHLLTfmLccy~W|$=t za87+3nI1BQZwVCqHg_lRY68zccJo`}O>4Of3>yU zU42@!OrDJ7L!ebSAKy%0Momwjf`5L2P(?Zk28l1{qU=iE$*C`L2fUY z4o{~<(I+pT1HJbguiMOlyeEky!@C^fhb@KL{Sv6ND4k1i(xqXn~VvsScka8o^;&iAfJHtiRrNNo9;V>oE4IFbdNI_~n zeV{6W?t{O{H#-I+&t4bFG!x%QyZzG+$bvm4Q5(XdF&4v)48|0}3 z2h~!_%nOo)+h1Pc4i-97vofCC4N8YEHEQ_zd_9$Ml?G47k)D1q61(nXbBi7o;=Yg} z{3M+P_^Zx^-ubf&_TDu@l|RSn`(uXm;BIM>X%k9z>3Kk&s}qiHKZPFy9ZCGVx#Y;S zSX%ojlgbyBaWiW=$o1^MV$J1AAbWlc-Qto+V%MAzZ{GNu*>X6N-jY*fUm7({KuJ7t^jcjs^!I|zc@*rQl6nW3nZp`bw+quO;ChO|HrSScP zKAaAbL1oq$pP%p(`26G9r%AeeMQ=4ZvTO+rnYs`}Kj*>rcR>)Hs{!h2f!KR>5A^n= zVX;<|z@FSorI<3Eya*;wOZu5bZo5f;V?BJ$3}gEyj3&;lcJSXT z8}QZ{N=7M0!V1$#=sL=h2472~2i9BAE3<_8^ra^6epnB@6$QMK#bi!jH5cXty`f_~ z&%@rnY^d}(0!_RV9?vRaUQT~b#(ug;KJNby2G`V*Je_xh2H2vr{cYMvB0$1Qi9eTa zO=2sXF|s3qzwvE=uD6;^&e>|?vS0qtWh2Gjq1T8slLsSr9)V+ThLhXt9$4pUo#H*q zbP4E!c(b;Y8FyhJ%(46i?oj*kJpL>F-`Op#I+w@WV;L~_5=n3oN^1^U97vwM3l{O}pcw!W-~ zC2~i&EHf*x-;G?Zi84RSbU3RsbpzkK@d%Of*I`whKjXrREYdmf26DSw!Np=e)|$zK z+c|UoQ->C75!uMUDh!2f%VKEWY+khV?IH{wZp+;-lI7c*hQf*i zM|U+x4*>mDGYDOzNkt`&4WoeW1d@23Mb(KP5tCD|Nzi8(QMfO@<- z4NG6Al9_aX#QZL0#G@{fr@FVv@9*vSqt}f{?RTEUcg8LIZRp;Aw&@15qx-;`DY*c`cml-?)QV^%YrMjm-AWF0l`>)TJtXSvQ*3s(LTys^DTP$eCLF~?7{f3`J~*9X6o8o`^>Eu(4^a`yx| zC3}g}7%t1l3%k07!y+MmW-v?Ed9uqN7QyV7LD0X_8(t7k_Q=n_N0Z?azytG3Cs!#@y@G|hs$C*?3QXEvUgl+N4a@nq*QTNoJXKs@$HpyuTDU}S#+ zr`=dbhM25pzw3Ch&e77m>*GkglBtWnJ+W-Aqlhiw{tn$S!oO##yw(( z4K3i;IjzF;+fJb^83$eCEJR}zUI=N|c?ZK}{1qUx3p?iEMl8OV4q;13(8oMS(U>mzbK~*NV z?!RkfMdeO1+mPbG77_GD>VU#F34XDKNv2=F05PK_NK|Afb7Q$KEy^`U z>$g|w&1<*m7}pYU+O9R=o)ty9F3CgkacfZhl!@0=PQWdLC@9-E4+_M20*lZbrJ3M(UG!`81S)Z0@r8;a|Paeg!@Sn@c04Ed}=@qzm;(Y1-)EF zCM()IB#S&7r3`M(Rv?jgfRef^#03Q2WbPon^k@}{(LBLfP5VcN);3Us%L*{1*-Yf# zr%xYbS>kC%1EjM1i2K+jpm^H`gJzwFe50#SqZ3#DwPAK3S2XhW$3uG|_&q`c>He;aZ^>X{STEzZE#OSBnVUY0bq zn1jfcz$`hzcjc4@wSAJ9Il-8f-Ixz=+8W5hJ`I}RfGBx-mf+FMt%&$53sa}sV8j(* zVh#u_!dHtia{MT|+IK&3%8Ex5!*gVQKqko9OF*MolZ2ICfpzay8IO;D=;FBBw6Mhu z*A{7!bcaLGQKJC)*>$wpZ!7%1cZE4)c9BkD@`!JN4<4!Wz&SZ~BrZYlNXf~Qs*CR8 zsETq?Wzl#V;?%-f$ZQQnbxwOqqma~}=#GGw51&Ll4 z@woe&VEN6XM6@GK__f55kUd4j)z6=rO}@Z*vin6dFS#;*t@B9Bkel2ZR+Bs` z$)HHvxu!J<^A8WRtO=wMipFc*VBT|WCNMwbCRFt?~)0fjy)Z>mf z-6r?j)^Z2+YB}W!Llm#+AXz0TjKZKkXM`N{UL&6FmSKtdBN;CE>J9R}_&(!Y@lCu{ zYn;HNT}a58Bn?+iRS4fk&FXCukX1lu=>=XC}1BM^`MY^`P9hyhh&H+ z+L;iwCsJH;y*}jKFC_B4@pR6{1Sam81?h1UxZpxY+&lgXZN?O)v^|M5u-Vq**HqAz z%L|!DKWC7iXa3T~Zs(a9t-geJ4<_bkY-qez9&w)Xkt9p6VE(nvCj~z{X;Wj9SgmIr zUFy+KtL!OPV|v%}J4Kaj1h z5z~xJx_7x0TjW$ z2l|ejX1>Y=v55sWT&PhHyEs6Z_c;>U}^TzVx7y!(|AT&xX>?)u>}F z0d_+Ri3|6N3p&&c=Uw#BUwb;{AACnI&r8RX!|kx#BNK-Uo#Bvv6FO(+aJKC7JhprYyt`wX8 zZ3X(iHABN42e`WJ{j^V5MK)?Zf|O@vO#ZC43R%-^vV8bHq9dG_-jnI@p7WL%ZMeN?JS<{%_TRw`gc1omU#-wxfHA!pP&~a!(c(z28gsh+dNu?gD#! zuD#I7I4iCgG8~`Y|3MdYHwyl{R;p)u0j}gtW#ixkH+EJ&jTstGrYZ_7-PdDbnEhz( z=;G_7(qk>=#1bl15()nMg<^{7GUBo=j(o7OXLbfEv**685LG@tLT_9@jOKo(m^sRh zei1i8=i~th{AYpKoJWG+ieaET7WdA5#0b_3~Y=}2rIH zPYNv9pXP5+Qpt#4ziR=m)Gp>)*Q^7>J7Lsdayq!x$>7zQk7ziNrg_V6!JL17u%slO znktXy$64*9i_)s#UQhx2Qb~my!u!W7aZvO~{~dOC`;g7I1H|P88mv)!G2V)BUDeB{yqFl*UVQC4kaH@PH)I z+lWv6`bU>MeZ-U=zeA#rYjUB7?r?4V3aIc`z>@JNnQO_WxI-L87QK5xBf_`QZ`tmc zQ`JnwbDTjvr-c4EeO@gxdFdK=!8%oK|Qo=STCr$aSpz%TwU+3V3n zR$Xv|r49GU+v9&oc+^`wn);8f+5EITfz?JVO{6nxUU74iT;XU`93yr90&{+hKC|FS zJ&EA25zP~cNWMHp^TDNH89fKyj2(~e?=?|YDv&tWnxm?(@O#f23F$hkNM*Azow{E^ zJluH)?bDsa^aPH@Ju4Go=TINo@Z<-1l75eDdw3CbudgN>vlpYEYB(t}t!8dqX{VQ0 zi>ZyxE3(nqK$s8DlG-8iH045qzjZa@*EDtFSn7(indZKV@dsGk>Dvz&Nyrz7Jgr&kX-D6>s-o%m%@g{9H^{Scw^PTM1fv z;Dq4PT}%ox{xB2Vlu-P;g*l!5fJy`g^7};Dc)Met;35A(YQMc=RygNVkJ*oj@`#lc z^wcrtN3JY&Ou0&}HnOzitqA@ave5kJB5`z`0*c28-rHbH|3Pz}`xIxHYVj{BD>C z67!p-RSbZfTbjy(=&kB!~W>JB9aP4Eo}mq*(ETL1m0wa27uc zJl@eGhB6zEjb_GZt;cf;)9FSB6Hao=ZSneMEqMB77*trM7y_#Rh z+igRG2eEiBstuJVe5G&tOIWi^DfWAB1Q)g~5XLARVq8T9XtwSRs0Qhx>b==NG)edlk}fap7}F ziJrhMuFmEEf+qjnRTJwvci~2JADp-Z`3+Vc&~v>BdMqv2U4GJFnx0FN+aj^fyOR$( za|cpq$7A}bN0{(Tm)DGFLw|!HtShzTx29I`DT^=uPuh9MWBI=S-wKfxMOJ1@R)zaI zk4tH2C?ioqQc>Ea(t3+R$ZR6n%1A2vI*&_5Wt60$9Suc8MkQ%|ug|}~e}DJm;Sc}a z50Be*pXYJBUe70^YF`EkAtT|;rEtDGZ7hWR=g(%J79btDs%+H}TTrxAiY`%E~cKEvTom=1G1HWRpbg%@+wavvncXZh$XS-;p z+Yl)0s`A<+4uPX=EZ>=L0!pHh)vg;~z@-~1Z2#YO7`O5(^`7wxbw^~vVvW_j>S!5A z^vtCjTq&Q{be_%6+XgoyV(Hb7vglI23(da@J>ef6#7{1Ue>3tvTQl?-B_4|LFEvs? zX-f_E=?ZM#7j|&q%RxNu@Q4fwJ$E(R2xiOQH{>O~4$^1#q5QE#JS7#+jg7KFw+rF0 zHF*t??Nf2a{1Y@cV1~_@>kl!(K8*`B4I=i=2eDXijY;?qlCTJ2*H#!pDnjSOV2lyG zmv!OpJvM{1)RS~>lOD7_lF8D!R|!nW!nbP1h~@6&&B*1zSTu38@r z;xACnD~a*@&|W3go(SP=C0>p8rDYe@K6f z%Y+F!W2uE*54de_g3`(u@U-ZqAMHe_J3oV*;f3VUj^$WlT*cWO5yLNk*NYB0Y2mGw zd=gI7s`gAu;J!YZ!PNSTL&M)4bcRP3s9m=vw!wu=-zTBuoy#=lH!m6Gu0%0) zzVV`fajMYwwUd61mLpQH>}mUu7(HLTfvhVD!?pf<$*%2DXrQ?t^6$yg^t35lz{_(Y z_icbK+S#JFTWy(_tA>#oO?4!9t^%>mm&b-}?QqL1g6@8Q48mtfLW7Ed$vvFWczCM?vU#!kgW+_!vIT+NsjPzPok?(L;Wu=h*a{x6 zK4af0CssdpHv3BBEF4f-3+IkaVu`LWcj~cVo^R?WYRi|i>6^NlA2f%(l%mF_%`M}l zo0fvzmo5BNw<9!SSRPzUjpMFf_GKg2xbU~*??QuY0Ke3_h^%LCQ>R_uNTy9KGx@#_ z92|JdO0Sy0cfV<8Yc`GLPy6RX{-+|g`<^YX?)XKDzk0GMcMh`0`rJivIj_mc5r^oM z701cEj3w;fVI1l6E@lr>3I5*ieq7@*9I^xM=s&Z%d@DnG3AZqC*kjHy4AB1H?el?5Pn?}&i8w3@au0S zus=T>We48>$I5t&6!Hv<_#*d-Y;(&t7ImGWeY-Tfs=gRZg^r-ysQI?;(O!Jbx@cbK zV+(i*xq<`2->0iTf+}dWvH4|1#3;xVHn%v#i>?BA*KN)QEt|;h7%E_4vzl%8=y_F_ znrHE?G4|N|t%Q|%e1Si3Kb9X7UkB{8C_YR~iO*^o!+xAO8dP#G!oQgJC?Qvb2Sd-Y zA=;auULg;YgATIF$t$ak|I6dQ>2BhO7TEIAmwKwIXTF8C`PP`dG>vb{{0d6b*K$hw z8G?T`hrK-NB0aS%1{*!1*^JdA`RDrpZYIYBHppv(&d$4`=rq1zf>&i;#Sum1+Ql?6pPG#fq?`1f+ z_8cU?rr_^znvbxwv{}32B7JjrEuMd5$YwXjP?75|PJPG-gRL*|$GYPL$Bh9yarjXf z*f$L2Cuy)Ln`3eM^6{|UTpmio58!tHWG-fd3UMi)gI+V2qLR=Z&0TPt{1o~i}@4Kuk$bcrX*y( ziWxq#%m_BGH^WKN0i;cH2|CyKWB%Yw+Uc_jQ}Ykgm&q?^kNJIYKCi>)IcL$&`<~G9 zl>0cP{~gWD3B$|B9Oz0K3?Ivu^4C%l@Zj7`yf`)-4v5>}{B|wy*1bdhdWxCrdQ(Vu zw*g}#I~E0GHJVS==eH+z!rHh;7;(mq-!wi22Xuy!E6p?5@HXVgH$`Y0GNv0HmU8d9 z4fqFd{v%0uRgg^{CHNIwKv74Ujc++eY%c%CLoKQ36g>$B=P2iaLzr6?U!yCYCO((SmHPm(p zVxyK)9IKQ*p?i}4$qD(s8#Y6dwSXeZvg>(cr zK-OJpv_Gi_361CA)i?<@{L~%%Tx!TayEGC*++Xt2iGy6o>1YajLUG#I^?Y5ADc`!% zOSE$W%cei?=Ksr_3LaJ3#H)>i_^6q9N`Dw$kAIAj+56Fb!5Vs-A4vip9mZg3Z~jug zCexfX1&xLISDX4>q5F)~)vOcLf8@}mpH3oov=&bPyzzxeY=V{;94?v;Qbhw4 z%Jk^t4P$r}^Jnz+`FOO^o5VZ(%SH#g&)V(>B-{&{Z=ts3Re>epNWmo#_$#V5%mi5Nn@g_z_a80I z-i(R9=b=>~?}yxO;5H7VV@rgyVWrj5+Rfbqz+eIYh$Z;}hbyzo~L zpueLZJSf$`kR%%nbacgF-%eomhSHb4X83p02jNA@HkokhJ9QkoLN-nhp!*#h z!LD$Sxnv-Cyyl-ItA2%%853-T9o|0JaaS4s8#|h|al>%yVF_q=l_NQC-N?c}_la1@ zGn^GF#%}tojc!-8@oc*$punDd`9ue6<&^QA#|6QSy_jpwz6O*0|DxrVDQsD{kjaP? zLtEuyPzsz2t2QaY${Ibg?7>u!__mKT%AJSejb@zhKm&q!7`YOaf%(5$P+z$7DwTv$ z)70%GO4ph%b6EiKn*{z@<7hZwe;#*Q3tbcwGa^1&3@xqA8UJMAnXPC|vNLXx{r7H> ze#47YWpXYxU3C{!>(_$o%*CX24~zeb(=olUhf0Py(DNr=leHg)@y+Z({PhATb;+*s zHPnNp75C^?KL_yq(M&EcGo`xSIYL%34<~P=;C8x)W+=VHhsH->zWqOPO=m8(>>fs1 zFJ_XI-+Cx}u#Ys_M9~#0^4POv0%%lDq31gSVSR->^{E)-Jp8or%l9-Imf=7m%I<+< zZWt%``3#=(ZzJcI_EOiZNw~{oJ@?e-I2Od8rS0oHxc;P{Bx~asb~_(QN~C6E&mE-q zzWEC|q8_S5?~>hh6Y=->Z@BgEN^C5DOcy4Pfrfud=vn&_k6JCo7^U&B+q01T^u0j1 z{3vQ>R4(K^OmV?$UH;a%t@te?i79$}ntl?_Tn@JHNM@)Nf8c!@aUWE}1Y2o{I=Ydb z{csSgoUE|U=o}oelfbX4FPOA)4d{~ZU@jE@#2SwR4DV^7_w-8Xzt3sh<@M+A+Nja& zqb~*MQE7={hcA+~*}^RNyavg78OlD~z8G^RUPAw^o7tP{`jG$TC9I?qc z30t6wFLq3XS<78$i;Xy4r#c$WFN?#rWyk65JV`$5=~vQZ{DYbjCE+Q6NGw~8}0qc;1f}cW`7DpEli3_H1QKp+Q@clp(LwAC;!)%znKo0Kin+|KQ zOvkTd0+^HM_0ejTiSU2*6izSgr#9N_P^@4quRCHILD?zbsv`|Ar;0=4v9(k(?=R8v zbBEyY1_+xX&3>JEg|aUX3hr(rxDjlMq+>VspUa~$U+Qshe;l+W12%B4nA_VqR^qWf zsJ&PN&0-4t=>uM5LQR|CX`W2ouYU(I!NFzlN`$YDhr+PzbCf7HqmpJWO#Ix3L7A@@ zewHMAf3X`W`XNDsmERKAS(_#eG5n$%%<`bz+K?cym1u=i;-2FE%CzA<@bojUJE!7UI}G~ z`|z`41ItwB;B#9Kga}2pF>wc`HRo1MKfMAAOy5)%;c9r@qt5S*8AqR-DyP-Ty2Rfy z5hCSR!y{L*s^y!JnR{P_F`jjw%s7@s!qv@~Yu%Z2T}2k$K!LaasEoLr-A<=XdPd(b zWf^DN%UtMhaoSQgiPLs`KwC=dnB1khbm4#+c$@5^;ZtvOtH$48Hkc36-G#Aq%LIMW z?LH5ldCwu=TTfE&l(Y11QX*NpemO0i+sQqYmk~S+C0yj{e&)yM2$KG!l*(rgQWbE= zS(g%p=bj<{P7I{-URLC=NhlFX2VhUpc+!+nMx&k2qiOOlPW)#yb*Pz18lSGG>SAH| zC?|k=wTCj@Lf1V0ejojG%$p`G`^ntfwVJF@nF_`;Q^=K<&7vz8#9-~U2lT+U0FV(_ z*?~_}VJLkb(Nf$>Ur$&DrfK5jeqMnnBkc~Ox!4~KjECr|l?BAIZ2_8JI8IgKt>Drp zN^fsVB@aGdq9*DJDBj*dKF--hmed52%ko(^-yUU)(R{P}8zSH|4 z`lka~Fkv>D*6G89Me-Q3s-2pZFD7rP7+5`zwV^F3BvRg)#`fPpc1J26$#)~$l4SV2 zPX}n>K}%8R=$~XXuf$HBd=1=v0TQOzz)XR)^wc8=g67!5-;5|uYmPh(Jz5JkZma2z z?Q!(zBo)?CZXB)dcun#em=@Rry|SX*UAuP{+yk3!Ja===e54j_1-&B_HGd= zQd|0ubjQC_AY{e zUx#Vv5mhvGRK=~R&i&pu0lZsE&?3u%#MF-`S*n>N%6c|@_EY9nBWxf#R2na3e1xd9 zab$ss1kNM5Rn6@dWad|EX3J_bT=p^rwGOVPffoZw(i>-(|1=-%6c5l#%N#JK%$bh4 zYKU2Rz1#>}31nB_g17&^5sgza^s`hUG1OG#9h_&7hNnj`TcLvHNGZ|sf0LO08<*$> zwJTL#MbW5TZVfVKS|D>v94>dK_T;yuoMj2J-EThwU9mcXVvQ0Q{lAoE2tc2M-=ZFP!nwv(ZHcNB9Uu| zjk%-vJ$4$RvYVQ)If396^RswlvN{)Sm`Ns^-XSrm74+RI4iBa~V`BdgdgY`kO%(QI z-)ppR%Fu4K(0hQjQN1+SuN770bWo2Q!CD--LN*Wd68nXLYZ+*H(%)D z>|aZ8m%9vm^H(-KAaz^tXt6ZoKsYXR)Q64wYv4Z{W!%0Y73&mF(Q)O)Sf&c__9DZ$~Bk-LPthUh-SQ}YM zxPc0?rLGHYK!z&2UBD<0H)_%`20y(lAl=#@pncDFes$m^xKW zy=KGN#S8>a{tZK^BUs6_DiWJ=5uQE}7>-US$gu2kzVB^SmB&Q`Z0rBRYo4^kjSeP9O^KGfPk7!KBmV({NXME%>XA-Hl`H`eP1!p3+UWKxGNnetDF@kk-ZfUxlpp zJq2DXe;d^8oyIO|Edt-mp?vZWS-SYRGg~@x3V-jXH6GhPpB;Yk5r$@}vjtjf;IgHN zJ<~RdEjWCgACpr6W)_opk@77VNd64-n}1Y&wT-9DwK`$OWq^x*U*p;RWvs^`+v;z+ zH{sa4eo@eGq-^APA@`C_)s5QlWKIg(>fX-WY#Ibxt#M3+ONh3<4Oht*(M z=jel6&{A+&`j47K?4?;35}tUtN7A;leyEZ!V9~17th3S1Fe9{T>YJMo?lERm1JFo#l z);j9hZ1Tshk>(v*fER>Wf{B3v-x}BpxnpAl4)9lOugQZOl{YYV{v!6HY%8qjZo~p( zb9VCJE8Kg%jr>07#Z>JTF~VxX^c|S z^rmTnM_38?xZB~)v4YpC!x(C>yaC2?2m3Hw8CRV|)V}fr^+_lDYI7e= zW$R!eD+V=r!`O7;nR$7Kz?ETpptPeE&&iC$)%v+~&%rMIb}$>}>-n>0XD#^#X>nd@ zehORq>B-gFl3T0b+;&9n}ypH8B$UY28i@&}TvBh=NcEWn_|2F~FCxu~jdjoNe2;h$0mjnI%wN!7l0nD{4CvTm- z&~H>7jS{l(8NJ_0&z;>+a3_RxTe`xdo3nZUH?hLH@mE#ExwH7WU!MO}5Q2{jH*q7q zlc-O?FtR~Wjtq1PUDgXbvF~9ir*<<3Yrj4uKDVOC^9>Tv@v*ha+_Dj!qi!%x3tL4K zW_m+TZ&=m%r^@_hi@UVo<41a6_in)rkb_2d^ziiXX;|(2ml}NNjYSNqA=Ev;1vVSBNv`UV{wl|{cV9Z!A?Gh`J;nZn@1-<*lf zF&s5TU=RkSQrB}=V0rltup89F`!Da1Q?WDQnYlTBy+03U%`ia=3wb>15Q7CzbLqZC zw@Jh$7lhsmAZL~YWc)v>wKxx6EwRFRwrzE5f! zbV2(`HAp?Pphs$@_>In?Y`3@%Zm`Y4IUkqMxl8pZ?>`KerCLDpuFsH^@e=%m-LrnF z0qZ5Ol$xt+$buOgP*XmgPx|!-eSSQ|S{-HV9CM0UT6q+Gb@#F3bJpNJ$-i{+|2R`q z6L@Fyb<9EiJm^?<3ennzdljOA_r5361IJGwj4dRwriHlbuP4ZFkgLAkwHaRVP4uTD z!(RwYLett(+!cQj!dE0B)3%f!lf;USN_U`3;!!BLu>t1Yt%YgsW9jYfL8QXk09TCH z;T3+4#NzH)9Cq|D-=vWQ7V~HFUzOunxh29dK=cb1Z%AO(Dy}m({ZqI%rwM79dw@N? z-W5ld9HV!|9^v^3H&LRnjZJF)j~)NtWk}hu8vAZ6fNq2k-6+i<`@W^>uWva z&yz*u>7`<9S|`cRUNDu7`&P|IYmDdXf{od!OWs33TQ2Kb{sY8j+1jr6(BU(mM&OXF zIOyLHt3I<=%=Tl~cka~2OguHYANa+|+y?DCxY#8dPHugVYa=4quX|K*W9B@Yh{fT= zQ*tA_TNde!!DbxPS0~H$Ju$Pm2aJ{uF&`70sidqS&MA0^)6%JIZ98dMsTL`Dr8;RC%WUuKgQ|WMN0HVs1O@R+rRYF+@1(>V*W%DBdoHvh6X@Y zKo7TZx;LpW-9tUHz7@cgd@?Q*^<{JleZHhk098N?NDH!YAz^65tR*Z-#y(V7!us>KHSw z4W`szJC6R=T|+#mH}h*&FXy2z0agNMpF4JjxP8A&5-CU0HBJ^p)$D__5dIB#k{Coq^$}j_V^)-@Xua9^6L~?oX z2Nx>ugmFXb`l?KkmQ;))3I6fK zx^oL@JN}*Pi}Zy$hdI=IS}~~hWZ^f%J)})X0$kh1laH8Ahp(5!tkopDR65Pyijhhm4U#9tgxUIbs7k0INB%vchXT9=j;|lcEB)pMV!qR{ zrEjT;&PnQTKbF`S+@$A!PoihNtnsbjpMF{0%4At|qv> zFOn1OE3h@ogGMEJ60b97$x5+Y`cy4X#CXmn%||l9*w%*g{HKF&wM&TKr(K&(!{Cz zH&lxGS2N8^S#mnyH#hcjzQ}xZF%3>0!=0ID0$PVUxTS&Oq^o@rjOw2Qm$8@IH!6!; zcVi#^E;FP1_V;l3eimu#GA2pK1&6vs04-2|MrhBKs(*V`sK?tAA}zxzPW`BIMg|G-L@#;Pv&QSA8J)%>riilDYfj=wqOGM}2I!~4vdiH4t!LV$-7 zKK;_mmmk=|MzpJvZBy<*e_kk*CB}j3Z3QORq@Kj~lmgfb+{&LF=)7zY&v;+p^}e`* z<;raSXZi@?tnH3HH*cu zJ2;p>k-qQOAPpJG`0Vi_wrnJ2+ceZ!IiaFZ8x5J>cDjthJeZjwTE>SmOrIGkdMzFiC zZGgS31eO)95j9?qA|iereK2<<&UmPdXROsw|Ct7SdThl%U+hKpO}kIFe&d;R!zd_M zuVsdBjRi(i3~$Sygk^T&^yrufjGu9py5@YvImRc*#jLZir1cqRQlD2|3)W=+6!Dx6Y_;h!6*yEv52^d}*MXJ5B zD*l@t#cXN12upsBXMbJJ#AcpCj?83wr`4UVO#eiUj}F5hy>ZAn$>W^1mFOT>LihE4 zCdHZQ+=-0Q{3638{9LU>cr2MfO0vI0;9^&}*&52$=8lH;`!jjt@+(l1s==Grsb|SNL6;=h$pMr7mkBXxzOv84p~W?h}7u? zbYQ_5_Fk+UJ}^whp!gcr-0C>Vyj4pY-`!?>PMs#@;Y%R3whHIv?x31!|FDRO<#qp4 z#3fQ?(DhY@db=y~i|(r7{FHut= zy|Y34?`Y;<-y=FptsESq3+RWBi=p+AD(56;4JV&8;A#0Je&3Khkra0WCwXtW?U56` zJL?`Tc1(o_&xZ?rsmFNhejKyXV>;1$vVmu2EAtzk^`O-02`omolY*FOBwphly*K?Ll$`-mABv6G(``3(OyO=69f+@t!NzX37*49c2%EMqhZgKDSpZ_G-e zs(Kke$9@}IXf&B~k*tKWhZMYy74hv`Hvr%=-YjqwBu$DUGt!3h+vWa3 z#G6dv-HG$!bQ%69bT^ffE#q7!e!D9c*Eu} z9o(Ns?EW+1XBo`KVZLpZYI+|@$|MQCB`cY`s$z!;8aH9{R2@)BHKrppHDS*`bAI8( z131BOE~$MQi7Vx2@MBKt!?<1MAYbPN{jmoqKj|9%RX>t{KYt=E-u;_rlq34 z?oP1WHxj>wmJy35zIc0XBCd?XDmrZmtg);kCx)z0W$F$X>vkDNU(tY{XNvfYI>Ec< zb(anZyEUt4EP9=fAGh6&d4g3%riEJbDS2RXxNM+?tH`D z=DoD1tC>C@(F~GuQ-mFkG;6WQm2cB;g>N3i_;-$H;L(9nxNW-&O&waft&=Uel>>JC z2}=)r)qPQ5en-%`V=iH=z^%Xk?f|$nHNtSE6uOS37WJ8u1^btcU57u_<0R& z2|5brx;CKbm@Jx_B{T60FT$*_$#mPuqi~3er9b<^xecAxFy~(>9NxAP;(lM`P7IY} z!#F9>(KtuaPBlSc&UbW+y-u4Syl32v9+O3noJB96oQGb~6IyV6izuTmLnM@Ds3=4o zf15PW#x2&g-?E*qRLREI^EycL$fBbBAcT=W%Ep zm4{|RetK`#3UbjY0cr!3$yr@nI35%M`)zgL$l55IbisQ%v6Ue)*7>Af;}T6ipTzy^ z*lE)tH<_;qvc`tn3!x)QIDcjLaS;oxM2*{aQ|)awaCGV{M&htJS(}nieteMU@292U zNELw*++u*&dfJ$$Mb)IK5xJ!k)?vr}IMRJX8`7drk~eafNLyA98S_#NqxQWb>Ki!P zGW!f2P;n)L-G!W`>?WKiF`sB%PNdypl2E9oLyn|Rg`;^nWd3|vR(Y!|Twk*e!}N9W z!HRmqHEp4-VbK^6kp;UWlep25-ps#lX*TSWB)@6zb>d!jj2t?vAat?&7#F`h=3c1* z#%o<5xr+?>Rr9Bitg3F(xGsV)2imKa$D}bY3)i!c=5FTA!zeC}xB*qus!7X*k@WfP z65PHlhI}dwf+kzS+=KGJb=~QmpH%$I?AJiM^^cz=MPQfzfl=xgEp!B|kobTjMe& zJff4}$qtm?D8pPW--Z`&6;eCLHtwp{3O?M)pSil{D#pcLL+`>WEKZ+8>ZRq`%?7Jz z#8+j$GGQgW4|l@0pl*nha%a09w33}I68t{l?$YZiiAE{I`GBR7V9rJ06a(Y})xeuBu6eyC-nd zs-B|25_g2`iff?kWX|6;h-M82Z{eTMYf$@GG}*W?3&vhCCHq4-w!wTk92}hjwQKH? zvY;foy-ArKPnBe=wNK((*n@H@N=&BR6=FJSE*uI`;%DmqK;4`gGJKaYbj)Y#BztB74n67d_Yh-<8_!TjmjU}%+z zt^8AZQp}X@syc*r9~5ExNm+J}_IlD=#xh;D9mLvC68~&50{aJdi1wC9=y<`ww%RT_ z?sx(!ueiwg=x+rvjbzl&yMXf|uQOjdUxI#E0KHfhNGBR5klo`WVEXqZ_~k>oNbCG% z;yC(HmBLClD5#9VmhCD$5mXJFRe3^L#33dsyj)5<|vH7kNYlTvywZ8?8^q}Vczt-)B|#AUJ~*6mqHC?#qjcrbYzB2Mz=^WQmFp` zvP>oUb7u0aSH~}$KCObawe2dZ^mEpp}b_^b@EI6 zF4L);M{l})ChvxBfR$x2Zz4EX8ein%BMlew^sfi~rt=Za=Bh(((sIt0-3%v;EAjH$ zU|KmSjaIT(QE|F0Yo-4TK4^ym{07LV?qz4{h_Sjg2cgGy6m6e4lFc-Bf+T_4XtY=! zMqAjkU!FK~&FKof#EdYqZ$1ydEI1N&aTCh+2EdU&o7hG7Cxi9(R4|Pl4^78~``_^< zx?}iglrb`e|5mh-n#@yGgX7zn%DLzGX*&}c%b#cPj(Zn=Nxsdwg`|;_r#qPk_9I~4 zVjs3)m~h@X(nSZ1m$P$xD?k+J#TN{HhYc@o;geUTU|{wc#=fhEf#5)t5bu_bE=X*#}ie9zw-6Ui7B2KAy6e%)iVu!J~ag>A}mL z%$*@Um{Bm9ScU9nYUXdo!0=)^eCI<_UG0tO&s=EEthtc)@siM6E~m>?{NbL^kq}rq z;BL>M@tv=vZRUe2F{OLtd*KY+{q_=7mXlzA8HO_ZzAhqtwv^TdZUgiEhHUWq%XCbg zF{yRUBMlCRiH6r7ayYhM^z)|_te=qxMNADf80mmJ*3YiGJ3<`m9$TSSydrLHOoSyx z8*m9;6OC!^h3|PQ@rRNNBv_3ipYn!-=JFhRyS1H|3LKRC-*aj92T$y9@#RNkhT?jm z`=zo{8i~NZGk!A>zAI>e>ES~-(CDH{G5K69JzH-7_(i*pLHC*hz>{Bz7?pZDGTyBmZa^2IeI?k zsQk_6j9G*#6D*~VCyShMi*_=e;A)6^OFA(+W)3UvLK25ZNc)1&)6`J?j} z(XI9WXz=L~R7S%cl3F&y-ia%~cw`htl%|d zFcwCiz}qTUa9!^T2;6@QKKTwX&ewu)!&?o^j3^|bkB*ZSi;t5gqC*0O4&>WU2dQZ; zki|N|^jMiPR$c{iEq5_Jd^eGN_xeQ;OXzs5i=@o`muOk{6b>}s&{snRjI4mR{P6G! zv;9OIgw$&g-xOg7xUU_bm$(VbwS#1TOCoC6cG9R$E8OQNO+d)81 z6X}jPtKu;6wx2{k4HE=_{0QcKC- zPi=I0wI5`t9iS@$)S2jmmr0O%6nZsWq}hY@^jbwk)uLms$(+Y)V9L5;`hbR2xuuw~ zK0{LA*?5UcTE;RnV)`hZG7kBAd7Ni42`{~9U{(pAyID11+_?49;IGjDBjT(`;v?by z!Cd8@nq<*|5=k1H?gn?}meD1ql~lL!0F!cO7fq0$C{gVLr&S+eueu6}Q8of-{z-Ey zg6QRv#ZWiQ3O%1J!cOdE93-l|CI*z-Yyn_)7TR-Vl+5tM-4RQ{D4KCj2Q9Dddb6HAlh8 zX@6<>Ia$!Y`5&!W3K#cgH+7ro1Wj|sag#Txp+v7FHL z)p6kB26W7`CvzpwlTVHR1P=FAZsMKK+_ZKT3_eRqt4v#!D<||5a!RI zOBTS#aTltRZYo2B$q+NSE{?Pa-S-vwk=7G;bko2rPa-yb20iR?iKtZ^gf!>>VCAQ) z#NkI9xn=T!zO`LXekB`L*1hW!LyrB-QAm*HjyTFK3@--zIh~SqCI?EkVH;>ktYB8 zgdJ(=ZYVjLOibQe!o!arh^w(4kS8`cI9wA(|B>eckDIU(-3M9QhpMc~oP3D4b-@Qo zk@QfMG5c*t1&Q9S$ZkFT1RJfw`CH3YLU3aYTsxY^SAFZ?t!UtrMf)su`QI5Z-NzsAmd-$tsEwi#Am!C4}C@WFs$@>Hgj*;n;@DDSK zJ*={v4JmDcjOoikiC5*j79{gn3LU;bob>)o ztLji(12cV3g7%vt;SL;1rS0Dc8Dm?>)w~VV;3n#CA457+@=2`S7V6|%!O=V=c=@`Y zc*yJ_qq}2iXkt8&zH8i`5+@?Mev;T1D`Rs}IQCzbuGaj!3%8pbhEer0w4OOha2TayoyhFNXZlsi$&XuSES!I<>uan5rxoz_*dZ z>8eags92{Qo&RD^#*ZZ?MUb(o<&7M?+5sM&i zPs(xkpdPMGHDc?#6`1U>7HZVG8qBgo={%ulU^I3V_E-L$WU}S_hZEfcDZamN+!y&71ht_$5s=vM$sH5 zKFq;%-VK)S?qC+Yvx6_)d%-&6IJZZ*hdygRNnY8FCNAzayjWU0gqKi$NmLmmuFtQ~ z>;8ae`c85#3uR>6ue99}6B8Hv-;c{eNhvWgSy|zi|L3JFHcM<(;F^H-LH_1`t9Gt3 zx12U*?yTuzp8sF3v=36ES$0}v=;ag9><@vWM`a02dCyVn`ceha4ObOr^*jmY=15Iu z=8Zwoy@k6(gDx#LL%9JW>{!dl_!QgBJpIM`ZeX_PL{^T-dgMh>S?@GvZHR--^JHI} zo2uh&B&+Lf&IV`OOmg#M{+qMfCg_n5V^T7X5vfLsLYj7n+sKo>yThwQ;{V6c zb%#^=K;a@X%BqYuLP9ir=RMy=B`rm%&@|GbJv1dFBPA-L=)&i8B!4&M;B6`7|2ajN_rL?! z11-dy&t3WKoE*~rp@!2j>2!U=DfISvfR2dMD7?HB<>jU@t+Au^73TcXc@+Ih(!|w6 zZ*hG2F}6(hqBx^KIJ{G$@MwYc4d&p=h96{n-4meh|qB21}PV%(wn$iIG_+=>H6Sg36#|5~3n1S$GX7k^=e4w)h23zxJmC-S_eszn- zPG3lQDYdk`u8AVdACj)(2^w$a!oGoJ*i&B2MfqvCv*tDRJoExjP6goBziqVF>n*}A zDB+P>IN2DQqG?&B<-DjPR1h0S-xo$>l|+J#6{eU~m`ZyW$Wc|x8L}}DQJdS9-ZttA z!Ix$txQ7Ro)f}g_UmjqKNt7V-T80MA+9^C3{GXs~QZ8haMPOaoY2kHn5H@%!plewr zxsUrLbi5t{KV1O_)dk45JCI6DD+QeILp`@y(Br?qsnu&d`VKUwqff6{o}5-o31p8M z#py&}3WRkl-wUQo{e`D~d#GxhEGF0OBZ~P*%UzkyAH6PgwOtR*mI@)~{VnQz(-q0x zqsi#(V_{l?Be^P{6dp_+g`W#=(W#HyDe!ZDdQ{zkIbkP+>!*JTE>(?!hK~a&B^{$H z<4+1<&bKk)>RlSHn=K^RWYCyX6Zq1!J5;+dlJoTR%Fo_>WW0Wr5KyD0Ds>`(~r?F>89HP3Ll(Df8UIxKi~foK3n!h(x=nH zo6|F?XzzDAdutUvzjqMsQ8Qrl_Z?6Ep{J-cWQamf53a{K6VV@ z&}Sq<9V;K6pr_uCp?|E%(lBlh?Hm1y`l$BBpj2J-zo(4M&E7QOwH-C*22$S3cht7A zJDu+^77VAIqv^+Pl5g*Wbav4ecrCJ~%L598m(|;ak7HG7cjZ|j>2xew#+C{b)P|$@ zlPbIhFQx9k-U&`RwwN}sj_#?*VoHw{R3!hC{EY-M9NCjDxZbD94LZowy)K;csMG_50a_{>pyViQak-1^aNw_8Hz(P2)VaS|M+M5 zc(yk^@O7k+>8FHq`JMFPU<&PgIF>5sFQHzGe&O0(Gh{Z!(Basp^!@p1%ZD2(1hZ>b zgcX(!IJsjq(gLG|aR)o<&~l>>YbA^AsH{ol~KGt0?utUfmGG$GmixwzBZ7nbin zQJ02)!V2vJP+aMO4R2kA5NBhGP^+RQw=E`H5+2&OMz()1T{ylIU)6|PsO<2@p2 zFz+Vc`?qmdMTxgj7GAGwqMou(;J9g`pmEj|Q-hRH(Z2`JeC5d2wH_dKJvgYxP`#WU zZesy9?$M@*FZRO7b9b@8H-V(*hN#rcn`5j^Nhx+Ky&EAM@DL&6G~sSSKdQy}Ts8DsKI7fg^-N1NOh zp}#}}i8?Q^cee?K_Z~wt4!;%>A862in)E8IOp0bXss`&KzmtOx_Joy751dH`(vr% zas+~oh}hC|AXPr~qi#V*>Fj^GXg=1HC5x32U-yrEV+0ty`c9Mnrod2X8)b|(pw(;L z(O~e1LenqMk$&57NBbPDe|i=@p9z?CaW?vIdr00B{h`}EmJEM9#9Gf1+Vi>$%fm0w z@2dyl{e1z3-F_$ha=k`1O?8x#`I(lhuBE{>UAcbkeazF(;&*Emk)p3n{;U0=II;j~ zYXs!hOV6maC_%^Q1ck52L;D~zLH0*4EOpYsgPygxY?6+>f3vYfoQ(haZlyniAJF@g zgxRqk^f|^?xH9JgG$;9?pd%Plmo4OVZ;Z&NWH2@KED#RLkD!2wpM?IE4T!%ynPT&N z5cOjtbpOjF{mGg1HuoGxR~SHfX(*1CDZ%*CdW>;Rqw=&s@|ryxPI~UpvzSWjt(ArN zUt{2AaS4;Yb%l1D7M+_TA+49Kf}Fkt@sG9OzeO27N+;=#;|V$&@J%?RSOv?yh0Msee!s z&Gg+vU$4nf*C!VtGqVfcYS_@A^A9Qdjwjd1N5Horhj#SX1pWKng?~?nQ_Z&^x|){= z$E5L49+@Nbwa=jQ`Km~m>5W#K{+ztn1r24MkRLM>t{&Uy*U&UNpB+hMJ5C8vH70QG z*@rIv-a|S8@)+YAOeT`sSaW*~JW?Gnd+91FojVpwoTKUN^%1;u&N8%Et^jA|kxj@v z9ywQ!FFGd)KMtKF<&KXO>3^BbU+$+aPl7SdBL==V?0LGFK)ZFO(owB0h>{6FcA5&^ zUG*DFbHCA!tTnW-)B$0CVlC~A_tCD!@<^!2!F*3+1n>SwWni24aLr1{Q?@3vt6pShq(@!ci-g`b{g7a(j#lrF_jZJ^}BvAwp~KWQsM}MF(q(aiO^!JNL@r-^+2dGkOG#>O75t zE=l-4)q=j61ql+G9hsMruASl@LZURNRrD^tjN#wxO(r^`dG?G}Dd zQegiZJ-B&N9uiw!Y5(SxSgI0-IL#B}c6T$itA*NIbyf2*MBL1<#pI0>X(G5yX z_ZMnqneK(ikl(P;sJ;6U&o%wXZrT7Ex-u2tbali>H$(7XZ-x|`{UJU3VoMdCPyfcG z2s=9iaYpkD`RZPx=v*6m(rYJ;^0vYw4J)jTnuvn4TWC;Q71Ha@(Ua82)MuhtY5ro=D4t5}ovMgPL9RmE6Q-9rrZ^@U6PHvuvau>5`o zE&E(e$9p9+&A5c$AL{9JRYJPEZc$}r0RH-?tjv7JW?^iKrBI!Oju?Hkc% z)t&ov$)ckZ>|;Nzn)uYNCSb{obHF&pTG znHjX}vf;g8F6>KPC z3tvMVduc>UGrS?!b`>g1Pf(q4Bi&l@jNdNp&uzC2;ggYzpc}q|VM!vj+xpPfKk0b3 zOqs3niH4ZlLChS4$A?qlX4Q?WW_e-t%y_8DF2va_74+<0HM#XtK}F_1@-2cVX*G+RM#(mTk((@Mzfu@yfk?#@b^ ztg!v34xB>YAbi6O{FHaawO2Zb%DMrw=26gIRzSPW4_b;if2iteB3^qgx~rv8N6T=&c6BmYmkopIs2uzV zwBz;zQ8Y4qB);yHrC}Nh9B=#>4Lyd#X2Sq{*y_RUW3%b5aUUd?45V>pBcOizD;0zV z(7clY=o9_~jk#TMe6>7+XQ_*gc@~^#<%6c%7xDH|yx`XLIDK`PL_KVpK-1sB;4sn0 z_|Noy^B62DYs8KRZ;>)M6jy)V#=~_{sJbofKe;jxZz&?utdK^!h2z%mSbC9i7jtK6 za^GYB(G_0HAO1Z?%hWf>zP%mmpDFMxvpyI($dsLW2O(`r8!9xK=)SclHEHF(*;R!X*1yAg#Y3dy z)?FNaIT>oxyK{U;ji_$-3@-ZPq?kbh)s4+4G3|%seV6&w;4bVO>&6KgS$xIgCN}0y z!{w}09+)gR)4QL7Wro7>?#CyQ?tjY0Ig7IMirMIYAp;KOk@utG@%PaKc1 z-1|0m&-(}8;e%OurMCERVs9~POfJ9uv5V^|h{i2C0mp}*>80rwmQ2{m-}_&qFOO9C zblnZ)yj{iX6i#!_bny9z5Ef^GL)%g@Yf~{=ZhS#WlLeA%{P@3aQz6S8nEhFeeI_5r z`DLnNa`&4&;7JG@^uC5q$szn$SDDKXOb|zE{zBrdT%H%J%j2vUiW}A+Vmoi4m;23&KZ9BXuD*K;(;+F^LsCrye!4A1^dX^@1pR}RF)4E zc1Q0fJCqb!@+(77`p79{GQJD>|9edVcFv^qcs*Md4<`4AwyYPb!DDYGz{&q9#i1|H z9oYfjTrcdh)`4JZi2T*D)H`Y~iGLR$KUbd%cQ2rg6?%fDg&_)}2l1E{TQRSED5)On z3h#~mXx5!UXw0w1{far*jo;hWP_e>2`to`xt)6wC3>t`5Z&Jh;_d0x1(L*=6 z*`#plAjV8J7Z;e{b8O8GitS!W_fA+qzcLkG zRi~l-!MoepquTb^sRs^3*CC`o#e6qj+ za?49`NCl*%XtcE4x_d% z!L%}7pOp){uy>*;#uKI z8_}z08~j$xp+{baD1OouxPRV(R~dnH%q2oNvi|`M*SZax844KtZ4^CPT`Qb18%t`x z4ACY|gW<`1JXv*uYE#dWhyNM6v{sb|miW^@g94gz{WV2v+9Tsp26Z{3h*J}t=#z{Z zKRzzStwA?wc9c27V|F96UWaCy##7dzF4Xqq3$4oNkI33P!m^Aj^hfs!ZcJ$)zjAqe zUHweT@oM4K&7BC?t-$>s4;Eesy0kfKH?5A9@_463K9zexn0fgkx*mH+reE`*rxcB& zZDka6U@WGuHO0@H7wMs29&MeZL+3Z$6~E{=#K;zSCmNNY{+>9qPxrj&a-LCa^1f%3sl+9LTW>K_W>5g)>M!{dXZ*`)q7ryvxY zjxXne%p*L7gG@n(G-KE_h?_uk7H5!6aL%um{+a)!Y7aYgLdpU z%$YQm%f2L`JbN>W)VuMv@ou89b^vy7)}@CQjo2{XMbw%woo`r};o-^GupRP>e7&+^ z-Svtzw;0M%YA^Zi@s$w!$idEP1Y3QPLra$u)GuTH*)^LD&0o^Mkv9?I_JuU9ta+2q zL_T?R3OjWh%C^T|ic=p{!QP||ee||dR=-`?>L|-!mkr|`DUW&n$5KqY5rX%1+j&}Y zySPrZh)qJy^8&q4UiMTZU4;IVlNhFM$6tgP9_w$&o2&vj zyq_$4q(9`>6XdyK^iy~_De=$3At-JQ=JpF^w9cs&(RX#kQQ3Q8+`pak8-{Sac~{Z% zrv}$)Y~@q-!+7+xTb%X?9R1}UpBzy~4Hx3LZFdRl1WVxOEd_^1NAo)Gp}6ws3e11Y ziCN(YByB1Pr%<5+H5jC4QGP|^39Kz;0P;curm z8?@f#+a3u#ILU`MgevpZc{Aa0zYljzU&r4oqhKKIuRXR#aCMJl%pOn%xf60?aaJle z)|uizgGfr=6Nm%Z+L*JhiTx{vW8cOCKKy7EA70mmpMHwK`$A`a@yCLH1#9v`uh%$Y zF`8}f?8X}hUlcW~@}i$dIB?2fY?~tGvb8?KUEwVslo`(VmygHd!~nc2)xvz4<8aTB z@Wz9KxVz7LT&UWFvUP?K8&31M2lcda!bom*H)ij{+xS|u74Gm6n(kPluhLElVso-tuA(*U(MRTPLu!G!$|sR#1{=WNh2@NszqTG zJUj?TZrdVqR2S?~*hJAwx{>0w2pV{^lUg>`2#sl~f^5`K6pSgND3lz8P)3r^mLwisa$eo!WOm{>F4-cVDC!o6t`wcXwA#8+Vd5 zv2?CBxkOpu&)3=XWKli>eyPAq+XAPq_o5lfXW?|)9-e!ng@rjg=-ZNIq1m4b!A`8TT8sL|CJ3jS>*(K^TQs|%fL@$d7WJoI#?E~ai2k#jd7ZEDx&LSS z)t--YIjY>!(v|a4o?>*S9W>A1q+^yrNUZ3>b@OjhRZgDJ=hOhc)2@Q~@PvjigNxs< zqoNFJdY`IIcNZto4~;MyFg}@${~A+ZA3r`7HI*-HPel)ncJeVPg_!yfr#4TQ;!pu% z!V>gt$f3zYPtY^l4T$JIi~~dTsW_8``<@dpdvZK$F1m&XCO64pu~f4(mGVSe&G36; z2OhpyjOyh%sCK_hR}^~Fc-G>AYs09%xGzGtS7FbiCTP0&&@ppm46VK@T>TS(-fEMf zu>U+|j2{n^=HFa$O9$aAOR2v_Bvpq!rHw@rs_Lzd5ibj2a83;l-d9Nf9OK4p79VS? z@}2fnT=#q$BZc>IAQC<_jU z{9=KVWc6|W-*qyNP(jMhK>9qY5VfPm(h%>{xU}FO&gk_=xlsUnjF}CkiskHNIvnqG zi(%P)7HsN!@UUrNI9k!08yv^L;p}wox@a=L9XgyYcU&j^?I-AKXBJJ=*+=sV%z5zF zZhTpJqL{1g1@(ZFq?Y~zk!L4jOIkgSxUJ)cmi;*UQGzSFXR)|fys$M@8*#efIQX;$ ztE6!@Ax*;{=f4?ZmlO*Raht%yBj!=H*A5C@ z+>e@C8!0XAB#Gs(a6D7WTbie%bH{&hzIlzl&C4M*nPW&a-j6Fj!!T2R7`z;+vFXPl z>Tj@~_TAis(%ch(Rw-TExA2j&zz%($3%Ri2uHKJR;1(e+~gdXH(35}vE1mjj}c%wpE#agiY77S;(O!6x`OJBF|=Ia-;;Jm1S zWKBF!Xc8zaNwTK;g+8>o!I6vN)|i3=ot zy%40@6^mb_P}8s8RIix;m*PE?7kPm~r!7Y}zE1b6tFbX~8m|8{X2o08v`8r!o!$13 z#ch2aVZ0neUnHPYH;}qYvDAYPYHS~LUMPEAP0G<)xVJ$1d(p051lyn-AYqi@r!^i5EEo`*et z?g+NXrfavXX+w{%WGkI~+-iH1jjWgOan^DuKA1^9hH2DW>pa|2UI>Hq+Jv^CM?zL; zFM8)!C1n5Hh2NFegfWX|VRiWoXiq63MABHO1&5X=lHLJYET^6E%n6f^fY?0@t;uN7(+9jOcFG8L-DzA4S5{cL!15u zQ1IX%Xh}69!Y!FJjwy^-RxDhc!NoflThN79)X#yk&m3M<}BF1Mw;cl{*H z+oi*cJbY>Y_Wy*0%E#0jXXxdFef0X>0&!d1XN-N357~*atYmdum~_t?C8ujKI82>` zXDjm1$`+IaS>R%OJ!L+A1N5-s%hlKE`@0RaBBuowBb^Wzv<0zg>3EcIn!d{v($p8q z^nB6}iaOCm1v4wT`P>!S33Cn{}HM2jw zQg2cD^QABvn8+=A4pB|Z86n6x81r*txq0>l)U_R=uOp;$e_LPbm=%VqGF2{n7ms+M z8=pU4M&4)QNjL2y#-5I&d5dSG`qfd){Wg;A*7}l4sWIB83@6upS5Tyzgir4dAjNSd zg3s%TlaH$-VO5Gdh@e=4ww^BMibvfV*4x~G4jwrK9?xZ zHp`kZdQ`F?$epII%LQr=nZ!m7Pa*ralP;b%hVV59IlB2+e()ALdtXJDi}^UPZV=B} zIu+{%o1!Dx23I{_(}R2J{CWFKD&C)tiIooAZB`%XzM0Fy({tEwYsSF|-l#U#=iJZ; z#L4&O;(j5pceCZ!mb>Vid@rusIE$V4Z=jr(Mk<<{0nK3_D4^B=J8P!$!;dpcTW`*=YGMT)dvu^+6Pky%;kysA=HMMRMXX(ZtFaw zvIWaXbZy{$Z}q53(Vt)EF^4#8#P1Q>;1eyl-a~=s9N&pQD|*BFN&vi_-q1&ft5jr> zD#beXTsmbQ#pJpPedXujqiF#M@~}JKr;yKxB15m z8Q8?0>#Gu%ulwjf|W*B-d=4j zB$Y=~_DTtDSS_8g98|bZSqlAexkrz8>_&?G6-Zw8<_*WQVPqMBndi*;@=Oyf9hyUm z-^%ISpDVQFqjcVEu%i44$(a7=GxlGS!KGsZIiWlfX)UwaL+>XgG_*rKR0~~)YVjlY zAcTbdhkv>Hn6hLP558;4i&hRJE4oc{o$ipW+$&O-SfDU<5_`RPhoirjh|k%{x8nR)^}d~+ednM zIEA{sHpYI3518taNGIA)3*-Onhiym|MJRWNTS+83@17#XT1DFTEl#+4=MbGQIZCt6 zFJawvz3Jz`o?L8k6hkAOaIH`cvW*j<_97Z{rTu@|yv-Pzu?ZV_5A{ul9m9nz?;E-ztR6Wu#P|p|r^QBtvg7K84 zb`dSw7IfS76j={(MCv{@p1VXJd!GwBvaMNh`L?Jp^Dn=vM=KEbT+L@&DK zQ`ol-q1%H@G7XHU-~%T~d-zT~F#1jn^{F(pT!hK`H!M~r!Rw+0gcEOZ{*b#6FfNUX z$J*2T| zrC=|DmN-haQ!i> z*T?8&GuXWwAa6wi>)X9T$wIh2xXN2*9GGbR#W8A3Jm$KM%-fveH{5m*qjneX{UTh=5aO;o%=!P zl<&iRkM?5OtY1|8aSa`@`vLyliHP5qXjPFmtbX@};zE$uTcU*}>d-i8#9dPtQL>V< zFe~;a8JgzsE@cUF$4;idGlP(0(~|}l+raD0V|d>g0{gGF2(3O!=?ZUzykA*xxi^%Q zmIcyRk4UucZN`OESsMS{7y}N=Qk(HythlFw9T%I)HLHOp%Aewf%14yYoJ7kjcM6Ac zH`BrjU7EBqj5Z97K=7wxO5N~=20Z>jl}$A~W9@Oou2w|u(h}TM)DimD8&T_D7YaMt zmFG^}1w9=vYE+*=^Qu>&Fya_|Zp^?+t(EAnX@p1R^88}7B?fmpPqI_b(sQS&RFUI> z(3$S!`6r8v`Vv2Vca0n?bolHq!kC}FY`S9u1!N?mXX-$>JR13=x(+xg*#`^@LA=w-d=|0Uc8F;)=mf*-^dnY{v*lxg>>T>!zZm9j;_r{ zq;6kv$>fLVsgi{)vWHpqT$Yf1JPKp1)p`%D{VPdA@&B2dd8}LuRiA%Ucg&yW+!iv_^vz|L(zB zyQ^G$|2p1uzej6i6foy_A?+wVhRCrx?Dw+-Gt9$r#3Ki=IYSxm53+9mMEc=BMmjs| z@dAx2NR0VO`O+G3b59XnJ1)zUt=#alTzZh~VkCYadI9|FuT`0P3f;#>Ev~brmj2pU_ zXDy2$)sF{}?|TY+x;S#1>H=xa&PR8HZoH_)gew$Wv3{QlmNrj^?Wu!grgstpq?)|m z{K;6d@+&-_OXro9h3wu>jU^kjxu#r#_YTT@)9En!u8-sUdEGhtTOU6DOR9Bke8HYI z$GGp`FtYj{jwDxqoZ2x2KdKw)qNNoV8TRDT0mfo!Y&c9(jB)BgBG!68g2Uf(dOjjT z%)RBv#u|ah=_4=h?)6h>lDKTO8t=K}ix1mjFFGEuby>zvxlzP-wg`#=H7UWNy)4^!5YQI3%;RMl45$ zD{?oBxl;WyfaTq1ar5-){LWSvUP~3&;{HPP8nPDu)c(TiWEWAVuAX#L-w5}j?Kt;S zD?hP$giH4Fcz!$@-^cEuGmAs{>doIMcRqnXr)RUg%|p`g+_7qaBbxPILS|x-xIfU5O$J4xv?LuN71cu7@(Nlg?e{YRGWec#7hV_9 z4XVe~rT&d4m>fKfTeD@w<>yS;%*h3>&MLC4P7E%5AB+r4MalDH^sxOS7N|X<8}C<3 z>%Ak7xa5IGA4AS@9m0kUN<2Jj4i-Jy!yj)-`)0>@@w~x6jvQ>pUtNN*MftpRx8__v zH|_#iRtCepNrq((MkA~r!*Bm%9u;TFiC^}MCS9 z;UAY7}9gc$5dfrOug@0&?Jj9w7B#R-BC*x)=k=D=_+SW+q0Em zJwJr*D1{4){XK+w{~1D#{6UIU+f9ajw$t2>55lFb_l5VGnZj!aee_sxTey1QDjh$$ zjmC|2A>-)t!fNSUl90v1Vnr$E`EeF)Uq6Q?*Q=B1Piw4AaS#sGtP#e%aTN{}sL<3& zBk8{DbV0RF0iSgONbkuNL0@YmE%|&A$xkxKdD>)hEGVQ;BQh-)E;}szm$qC`e3(z~ zFSL-e#z>*wVIPG=nNji3OOzS=9|g+Xqa3LQlQt}z+(#A*iH}TZu&x3XwRsAr{`bjd z@OVMJXBbt~#Z#|GT_`|%HP(JH#@-EuRP>?;4N;qbpK<*uXRaM49805=R5|#+ixO_! znFps%1BATP6UGJiCbp`kEB~4V6T>oL>%((oyQw#ZDI7xiw+3NA;bCEpk3b%y1ISLb zf%qPYF-`t_c*tJfkh7LYU8QQWa{Dvx*1!<_d@_~*Tcw@ll_ z5jl4FwdE51nq*NSh>bCnb6tzIYxVhO+YQW%ox_1$G@u6{g#Eqqikqs8%$>1Mhk4 z7Igqokpr;eNIBxCyF>1*6F)h+oB!N6#5MZ6aDvBkTaQraBz5BER9#kh^Nj8~F5sRa zPboe74IWkpa?%E=FTXjAwH=FD{ryCq)2PJm>l8U`@Im~3b&vNy3*?)BF7P{LU*u2O z!XcK~953Zl>f9c~psowUAr#jeH86ck0@H=F?DsiZOqJrKqP0_Sf8aEh-zLi^X+CLO z)E4U^?WCS6H6-rz<-RQz!jN}$RA`ll6ZZ0)s`vm0du8KZOn2PRi>F;u-1|WGI?R+) zXs&;aaB0VDEUcOi(^Kkj^;Bg=?alOfnGCIX|67n*o=Iz~Mw75Tkdyc6)7{Qptd#l% z2}ZWKy6P;=R|!Pzno9V^_rUdP8Qk1q44XL~=MV|>S8lK5%Qm~XJL?_6#a=N z7Ix!Q6<6puPoTw-r)i7v6`}tiGvsUJV{Y6YByL`cHM62<+8U|vr)NGgzRFY0f(Ml2 zyBA9%o$+A67`i6=j7IOhDBKdqqF;~^+%z*Ndx|mq|D5B5)?hNy7)fenGNh)qkzDu2 z&<3@U^u$Q&eUm=>cT!zq)nhT#&cPYf2N=J;+{!BO3ZlLm!0>=17&`pUf_M~s6eve8KY->)% zeflC%$VGsr4%D3|vGHkhj7YtPn6+})))|ivdb-jcB+FZKx?`w|Ja;`*OfQxdu;&yyX!b9_Kc*~tY!?;E5^x85)~fy#3TPEx^`+QY?cm!y^<-%yM{>a zR6gUKYh@*8{#J|ePa`oPB!KgGnuwk9uHy1Nnxad(t+;qk6L+Z`$7Z*Vvr6R*u}yCW zTj?D_|3Q7l$Rn2QG%k^A@Ix%URF1Fh?{PRc1DTD|CLnDU%cmPlj0PF;sg)`cY496mzHwz3qw{sWx~%Bx{GF)4vC&7%KTpSCGDGN zD;_ZDF4;5$qQyXauH78U{gx#|*B5M*ts}(w7+Kp@}WNQCwpX1G5qz zQP68=oBDygImV7xO+3WizFUj^wB5z^wqr&A*&TfILZnFBckosH6t3~Q!s3c=7-y#_ zK6T88P45J5i1QPNJiN!z(%t@cRw^Q$3lX=ZKI8R8n&LoJ12N)yfT;fDF<+ONCXRYN zfmb(mm3(Um5lzn zE|vPb#)@|%u1TitKPL&A-yqrU6evkqHIwrUcCj7Y1muUQRg$nlkXUwkv82Sli=^z8Gn`GWZQ|)qH)-0(dTodsGAkdPH`5JYy&OH zz)Ts*wojg-?lv{6P#sZBe)N@JUF#}F)h38fN-D)|Hs5%ljhvx@x2nG!powLF z$<|G;B(50_k}&5Aap43rNsjw7F}!4s)rbCylC10*5{GC-G14r|YI3`DkDRlDsJQ*U zXg~Rw=x4E5O!>M{jEtWqNjVTL`7oeWBIABroH0#Nvb1-q=&V0b5}n`(&2L@AXS9ds zZhe9Ufw8>)dVfk!+>PT^SJ7!1&QD!-vBN!Q&i)yV)_lVF5i9s%WiU?)84T$XZ{cRs zeO?>s17GXkFd13IJ#xm-TgBa!89Ik*SB}J$omJ##B_mFmw}+O6mo`fk<1*l_V6KapJ{kBI{-OL6d*Hcv52*W9GySI;`R24Bn={Ol~TFL%{je%Xf~ znWNBNChCyw@+0mtR)kDe^e*TPz`A?Dma}3%2tHyV6A|_Y7 z$K*j{xurviuYJ9NJeAWpDQ}MNm3uKGLqyy5BC4L#fW|TVX-eBve6BHN+0^Nnbk~M0 zwRiHUWBEv~J%?%bub?a28$%w?VV4CBxVfwc|305e0YMvhfx}S_=)ZtWR!l|Fh~J2@ z?}zbDH|P*%^FFZ*X9i^OYvVkmT$zjoTLMvkHxdp**5JwXMA5TAj?c<}1WSxWbGe>m z^2`g3wSN5b)NuZE(vMf!hw`?5r{HNe6UGsBs17gVmi5EnttZXd4eG|d8dI<=z8v$P z2lCc(CETjKOL{xJ$lPxeVt<;!(4~%dxm}|fEAzR?Y%&j?bQ^=Tx^rl!0gFS{^8~#P zOuhFBS-#iNJ~0sbL7F)Avk#lP*YX%G4Qx3ieg5tbVL9WpxW-bIa}9sc#FQ+INV`B^ z%scVDpA{F6@?h;PU0C};l2kW*NGh!coK^OOK91jqi_`5{V-txHQlGBYK4s2WYe`4f zMX`5gE&kgcfQl`Lkz;NwK6}sy%kw|OZKf@CXvX00fwOdJT5k*u>C3gdk4SUc%dqav zQ7MMV64yt0bIz9DEUO&Oe||IypU1i2ZowULd8WrI*9Y-Xr8ndmVvV1t`m=j;Fz@~t z&tuz_*=~UxYbej-cGF^%PnnIx8wq%C_KixWw&34V83gn@2BA+qkL)4UiM5Qy5xU=D z_%M~jKOMvQXgLl_e}e5Y%lLf#ZoYJDDu4NNfl~F~@`Ug5qOC_2Y5eLSLm6oX*-;%j zQhe)I+rf@84*YPKw-}`|mbt9}3Jpe5uizD&Yy2zhxBrBkxf*ESDo3eYi5F`MEiEP$ z(W0NNRJUU|Ml@K%W`zT^@5Ygi*&QLb|1ausW)RTYi=55fgr<4+ICA#{E!t5^B$@lk2hafv=6$bRR$JM-0l1rXSGEptmB{H32@Ai_; zT%L4sZawYvnn**8oXBtbed=e_3&D3v@SA?>^o4~xqU!j0tjLT23uVUdwLxn^3>xu*w&`h-ukI=X-qn!PA0 z>Or5ju(bgK77{o;ifwk1o@cz>S;`K_mdTb9@= zT|qbQaBo=cEu-?4d+Ce18KvL0p=moU$@OxQz@FW4JolndIwXpYSiGV=CZlQY-8kq+ ztK-7z0#eI~B)L(OFt~RxeZQH7%R@%tUTS~*Ptke!)%<^PT(lJpEiGB4rJ~O{=Tj6a zBUvFz8D-Nzv}o_4rL>DmG-znpNr^}U@wE~uiKbCezt8UT&*I-F014q5T;gd6k z+&=Co8Xwq&JFoEJnma*ozqOOgi03mu7G-mK?rY%rwG%f++<;KE>-7GKFzV(#fX}&0 zq3B=^Xt|z7r)8O-7@bZnT^rEWorQDL-O0(E(|6a0qVNnpT%v7)j?ssir&zkxD0z$@54s^^Jv_63o@&t@p1n~YTV{W%?X2W%eECG_dJD$KLVI`BNbbIv@-`c z#ADrhLwK_7E{rYgMb9xET;s%2|M?KIIlCT5b{XROZBbY-`zg$vf0Vj|7f_VlOH5Mp z1?%Pe=$gY~GMcvq{B=LTfd%tWkn{e`-YE-t%5Sl!`XVL|e5FgKm*IOsG>9H9LD@$& z801?8OPyyJ^zPV6S$WII^Yu~oWY}?-rrv@MXAJ54@%gOJ$GPku%SAL7W3jF{7%T0I zNHV{MI!}e;Sa%%MD`>IC*K_g2^AXNhdVzahreWS0ZG1Ok0euxdXy9-dr?@?24PNjxFfrDgb1I-ADbMA>?-M_Xe&A5RYSqV6mc9AB=8N$VI=?A*ul{rUpO z*ETRgoQ|#I!NbkMJKWRahWgDT*nQU2;A(6F_Ae~vGDs^> zJ1heOK2O6$i;p-*W-7a^?>L?@XK{UV?630%Xn3A;Dv}NG;imX8C=?_p%D?mC||iEW8N^xO1>CH67c( zJf=;rQej}-1ZMB=r4qYVd_FuuX|H}@^l^rbpR7O%Lr-a5^&Z;L7)4I^USaIVm27j; zJ>2qf6|EKwBAqoaAbEW(4!3(_VmLPk4e8)>cOCZLc}+H2^sIrm2umMRoKdG*oDIsn zh%uMzKsT%$x7?Ayopc0B)RJ+fU8TNi^;Izaa|^cdMq|T^y{K1fh(nb!c)0jHG*~AB zD82_x5n*WQ3}Y&W9dZ7}1dtcH1NRK%hiK!O?Hsu(ReSI6Rkw(aLSG##aD-i1OjG|Gt9GMje>{(g0W!Kin#Kk0^GFBp!54f=26faXnrMyJk>j3B=s)1whNPgzd9a$YXkh6T4>?jtS_kihB-B( zj|p++oRCX<;J2+43#s;9W~+Yod6sO`vorsdCy-EjTnl}y*qv+!n95sYN`z#kn3Ci;Z%LkPgcX|=VLIV%nw3> zdC;Y|8p6B3ko}=LugL@X3BYDMh0hJVtSwx$J$v< zp%2Zd&HEp4oEKbnY$na<<2-P-rI@FY!s#BLfW51RV(lNHM1k93_1A(NH(SSfOJk<2 zC`mMTqwU_8xY64a$COklO7JGi-djMMI8SWGrA6e`or}r-9OoqEGw$B%N~;uIxtxnU zNHyKUR-Q9d+8{;`ooC}#zhMZT5eaQ$t@vYeF(!S!g@u>Wai<73qcvLMNN*T5S+MAu zCQP@uyz1FOP11PK1fAL2@lO2!40KMTec=n~bHWyy73qRne=kzbVSWU?HxN2j4B016 zVD)=%`t@TfYUP&Fryx5DnpqESJYkr5RG7UyuMP1K9ec$lLtK*IYC~clPLCeI~LxUh3UgnX`xIKwvIGF#+O)f zY{>@y{eEby6-9nm9-(>0Hu@{@nN*f^qUGXREN^SZcQ2RV>7WN>(DDdx{N7D_rVIi{ zI3k|PcjORJ1a|kt$k@=8ZipG7%4IRUX*`RfKUtF4z4s(@(YC_-VZi`p4~{`b{y+u+bdc>lTHBJGgzE;7<(uoW;$5diZIm1Vkon!R;Hb za14(OnBtkkJki&r%t?jl6rq9s;#yQ483HL*-PFkojpBPMek^=URv4B5lrNY?-bC*VT!WZd&Q7dBZ0 z!RGU;feX`s3ODbZDdflKXVGAh#${uAEZK2mYg%Eajy+Sp;N6)2^o_SA!;PZ~pjy~~ zN+Q)5!G90}EF$4>rXunSzd|L^Q?zxnEzT<2jbWW>_@yxf z2{sm!`nC{M{`VAiaMleu7hpoP<>qTD`h-!9tI;d51B62=G3Coc5NQvFZ(}nNJb0j>B?e_A7C_>I zOwicNPb+5r0*{wJ@P=6=YF@mJVw0tCqo6BlUoC^Wz}1{ql#eg$&vW0Q8Q4U7UNy!t$vExtxy z?N8H&HGEWW>`T*yh2Z@8kLX+?6^C%m zrd43W8&7VoDHt-4i_gdO+2iZC;Z@%$Sm|8?dqaG2f877W=kwp4u7Ps7Ye+37n2N=vabRi(qkG^vM%5Tm z+|8RfY@mjz^|Cn8#E;T!EZ$1&#RkhrlwWWS?~aEev&a~$)~9ee+agdX>cEN{>h!NP z24i*C;MA>)vHZ#%U4o=UMvZ+u9gxCqxs4xmqpDkL6damD&B;MpQfiBA9U`>2j>xy-7RLwlXY3Ka|8<0JOj(Ipme;8KOg?@5 zdJzgmv(RDITRc3Thr)CBq3}yLQuftHY<1bCYUp>jzj@=r5>ihN0C%J;|6H{$`m zXy(o@XKC7}PPMGcLpSi%;Q5 z$r9*M3c}GyDcqMzkmouGW3ZcU+8)7kd{^O*-71{-L7#EwW`GZB!W{SFB&UNe!G#*RPv^^17KQzFGv0^-M6D>xnB5 zok1tJq(JkvMdUBFjyZQP5d(4pQQVcwEaeJO&TlF5*k8fT9d*Eabr%j9KgHnT1}NFk z!7P2pedhBcv2y-9JQj41PO?$3>+u%&(tIDPWJ938kso@F@1dnu7T}~UO~<%Qxw^L% z>Sw%wUowIuARUCJFYjSQz6L&b&BUa_28i0h?M8DNQEuZ@nzqOv(uLxg*M~B&cxov{ z?#;)(d$CZGQ^N7YoZz;ZKZ@7rp-S*fobTg@;i!h{=5s*NVF0~VHgQ>$KQJ@tEIzjQ zjdx$zgL?XGT$QB&R)&vJ`OOM6ad$wwhg>Ge^#uK>QRFx$zkpXw7y443!IzmXIREZL z_}n;&b}8=0vWyh?d*l$#n0bxXr0J5dUId8oCbFmaBtj}`3q+s+B zDMYoz*PMTT3l&GnQbBJh+I#C_j@n_ox4H<{Iw#Q8zImi{ECCz;{ssH9d8GNB%Oh5( zfv=qas;IBR_DWkkW9P~7u%yZBdkk*I6w1j`N6WW9+zuoWyL)o+ck53)r2NTXgPJUB zSK7&*-Z#%cc~vAnNUJ5cRr;*xNCtbK$DVb$wwra6n8_A81(8~Z1Pi?F9Lswhomg}h z7YwoU#_}*>k_csOyMzH1zGN@sMm#cU2KKHmG0%hR4Y+Zi9dz5l z{+INcb{Q11Q@gWR|2@jAhMP1yTJez79)!`I6?)`)+JIfxI>9cAm*lS7|KQjZ7xv4U zAcF&qYAo~1l1@uVvq@p4_~K9|P2PNsop_|gx)%7b!OclDdrBXA?eb+epS^|;=S*Uq z#yr?JPE!nS7r5Zt(mq?-%ar-bS-0nbY7}ZR&}8g;dXD@GLx%ed^F>P``d1d+6W?PS=TM zeU3!YA@N%19xP;6D8I(>jk_tWNQpJK6b7*s!Kl^0lHNx|Q^TyobauQ3jpp3usw2HI zG8R96tq@uR{#7kuFmglqd6D5gdeC(^kc)3?Lm>mr4jJH{YbQ-EDl zI08Oi&q(!fB7IPvLd#POu}Skim3}NCJDw0cyS5BN+n!>|vY8mYM-@#))QNZ9E2^bR zxGeIB35$P$-FSs^&86x2lr9jS?25_LH^WiUDBLp1osL`m#C>t|De=WVY~now!zo5o zQ0>AkEF16-54Vd?YR9K4Nl@z&gL_l#fjRLI&5qndpX7t6`{F-T4zgw6zh8jS$&0c2 z${wg})kXQjHE1Ea6BW-H(xOd=(QBm$s`@75MDPRl&MjHC`q5>2xr`-gtz_nBkunPY z-32Gy45{o#9KBhy3~wozM^|;Vp^BB~gBac&WreKtf z61vGPp~=pB0FPZqrT8rr`@#)N=V#N-mtRr*bS-Hu4#!VF4%1Y=HniFy#~Ik7F`C=! ziJ!lKZ#{0)@<0PxEf)*n;Y+b+*HtvK9R_PlBW#WTNzOAoDgEIqwyr(|tKzNkJnvy* zj?crNO-tcufgoMmGZSBzhl6rqHwx|-V={bRg6!`esPE*y!wy$4*GmTt!fu1XZ6j#8 z(+&X%`>}PtG-xcgW7>ZQV(HI#cb5cSp`>L0JfIZ+b$%1Qt=RnNn5Jz=cpcx*2gnL^lfQ9NdS5M8Dz za$f#>`scTIz$%Aclswb|m*y%!SCu7v@`zzP%sV0UjWG8aJ%UAEk3se2c98J7%}6x6 zAxnSxUB`)SKb8o+DLl#))5csyaE^QEN!^npufz2 zlo6||=UAm8cxvx6m}OSL)a;%Qb-5RyxLOKdjPAmOPG7v`_X9R_-oyZdU2t~ib;wNc zhV|Pz7;9Z)e6XySiM8Ja^9)a;8J9^Dop^`o5fSL0un#4h^B|#&%US9~f$#Ht+&eG} zv(Niuchy0NNqvvgf8IsW?uX3E+N;1sq=9*#E@<7C2Ak`Z_~d#lJ{(y=<9xL+RI>r@ z8}eh~nNoPP)*7zHM6(^74}8`a^|pe?zi)E-|5DnSQ;FyN$MEjIR0uTP z1Z$+*Q9y%%X6`<{LQRX*xqbP96P&N~4~yp47Q$QO7*w=5jVF!euzz4Xx-09jU$=gO zMK^~avR@6l#K&N7*GrgoatK`2#mS;x9S3(7!cCuY9Or3a)uuU;v1SG59si16U56O6 z(tD8gc?n2zo*yWar3Y81VM?|j&fgG7Fr@1ffp~wZBzC^o zj+S~nxW87LQeGd0(WGqj)mcG}Z+GLBhAq?;UX5=pcTr1#4VrJzpjOvYXj&ypBU|^N z-V;me8(V?~N`LTyQsJJ{3uCCxJC_P?Y@xG9hVi{<3|d<7 zaLh68{jB3W)A7Ub!rTZ_9Oh6&P8jk<`=HsG3`!GB=J={tAk^UycsB6ip9^P!PCcbZ zf70NbZxLnZtR|E%K+o%XxH&VE#2$N*vUVw2uQx>do7w2(EraJ4eSpq;vJ|yFf?o1v z!0qy#%%_oN4Dc(UMPB)M;B-DvoE!@OGKKY>@%TGKh~{lSk6X-pv9bCHy5;+VqO~kV zNUefj{Qh{^N1Ad*$FMIV04A>_yu6lU1kb*Oa#B07rA-F!a$fWbCpq@$89wa4&4#{MBwQ#DSD!`9gpzq(wyQ9?6{yxe6FTge&RD))E&nKarUH-7w~D(2BM7) zh8A{tZ?*I$+GTAE38956XU3l2C#+6*)w(j%&|i;H}AMb+QBH>JH(& zrMIBt;%j#H=70Eajv1*P&}J9(9fJ4emRy=UoDwCLQ#7w8?RcF-k^c&C;*tQG=Cz^I z_XbL~(ZKC_=fLYsB z9b{Q}g7}Wg5wFS~>I_t-Ti)3OITg4e^DpjDsY8#_LnydF8r99F(puXA+CSqnOstp+ zS*I#+b!9Bu=FI6wMXRtoEddWLy$VTBTCwr10*T(Wrwv)UWbn@#B`?;3>-BaV;H`!) z(wS&7SBFk_Y+*kg)dq#nL-?H694b^fO~Ro8cdxETnIGrS z>kO8AOJY;wVx0Zhj`pv1!Gp98jl*itV{sfi?Zg!l;5a;+3OqY0%MNF9L z@8`k&x$khn?>4IR%SN4himZXyZ!}WePZKwL(Xm>Wm{D13Y*;~EL*^WVb`>4u^r*mH zx9GvVDQwo^cQALaAa336iag^}uvW1Ep4Wb(;ZLgMEau7DewafAmcP*_WE!Om*kJ4C z)i8Uu9E}^QqE4X~_pC(X+* z<~+HBzz52wr$Pa57S6GbhB+EakTU)jY^6i#^R^vm>-QOa#YB+Ds8B!V(lF!0JH{xx z*kg7Y@+doVK&>bM=w7*8^Oy|Eu}uDb{h<>qK4pbh&=)j?#+S>W9;%2@OF zL!E0X$0%&qdc}Zuj6)_Ht@8)3I|j3;rpB$Xsxb|vorUhiijS_ z2)@QMEAla6!Br;Hb~eXh_kmUwXAnEy!i50#b=oBe%aY&@=K21h)x*rDZ5)w{bj{x7t{~Y5`XH5bJLK6CPddhI4nqLBV1K z);M~B@JucT8P$vP>IHGd)>3YU`Gn4k99YE}i)m?28!nzJLGi5)OqQh?*5(Gliz6yz zSnGw_nLMbMD~S26X$Ti?W7mThXmzCy7wrkdtIIU$lzK3(c2q?7xaFvSITv>2{lt>9 zb3xxwjPt|oC28(|8WdhdlgD=9#+Vi4`@s|6OMJnC&`IRXv7oX>f>FOsoecjxf|;5e zo5)6vgd(#cK$#ztyMBRZ{!XytB;C9+_&430{-I zqcVxc3cc{h@?GfDe}ZP+mS=q8$06x9KTeNw!*ZP}yc}tT6(NoA*If?Q&6Yq(Lt~UF zc7rKDGno1l(YQW94oAc9!-LW|{L&o@&A;W~;NK$V-*XE%c~1n=D`wHpxJt$(tPKD7 zpTk%~8{Bts8kjta!+={cXw0vT2Yh1Sm)Am-~r6oby)vT&+L5hkhoqGqcoDCH%? z&z5JvH;@kDN0&i)vK7d7U0@Eq-HZLL+W5*%0l%-Cf_*YYqPDH(}3aZOl2DL`iNO1OJi^mir&T==Yb<>Bk(ZTNiURhobEJiP7r!@Th}#HdO4;kgb& z5(UBRm}3M{e>4Sz&0zg5?u0HWUaDzzCcEx?lsPkvLR>PbyhVW)RM=v3sxSr5&LjSF zsTgAO0ZbpAqlZmbG1(cY!A^x8^f`zp#r*KV>i4krWgI$Wq@eJIMQliQCWa?mrufe* z$TU@vt|;-*war$ziz(!5D0O+N(1qf;q@&+}IyNTgSDHg7YgN%q$)h4)E>r58P9P4HWN0?#|SsEHYoN=2(J%4N4>pb zWUsddmqwJ)iQW3-Fjp6!=u6S#E1~QX`HM6f=}tQxqG;=*ZLnPa7T%khgO~2clkh7I zvMUrrAK#zY0=lkuQPES0Qe_Q#3Pc@Q8@H>6V_`p^R26CJ+?IaZkMfRh10qwo8km~s1q&=$uYI8o_9IV?BF{wPBr)y(cZ>%QUHarh&GR1wB@?r-nBt@F^2S z0=X`fc8Q0yjYHT=!iwxd?r#|Exj{L{HyB7#F>C$n1l#j$A$vVg8(r-DXz%Z5Sh{Hw zD|BNutL)d0@<07)Ufyjg|G9-#JrT?PJfg#PK38J@Em_5`v+3uv4;p*{stSDDT>TY`481o2uZ$)}8L6kRVCcrl^h5C$d;UCvn#6nJ+tV zz7^xV_zlhl_p$~3wJ5N_iZ)(tqTyZ_k`OYYm!nzi^pMT$@yQkji&7<7nM@tFa{nvx z8ZM^Ovp-<1fHhm`Tt@S2krg~?$Y#F|gmF_*k`0O>e~nP;RLUdO^KIm~Z83f0ycuQ- zh;F^ONSE3MaPOK1Xyac=M{D0>+KhGN|5TIRE5vz~wLI|QwW+wM>Nd70=A(|45_>)( z1c!s~(Wc36bZYKwvJRU}`#NLDX6+)9uJ@!NB?Z#-bfVGx@2KE+5BDW|klE`_I=9>p zy@f;J%=7??*(1X~GG9%O4!5xK(G3nXD~+o?b!qOSS8>-+ z4!ld4Le|rpId7>7_JrIawK*3^wJiu$hgImC;~Dm@svz4OT}t(pODN!-Bbd!;!}FIE zaM$iQS{lu9i=)KxN*L#n}eT9w{a-2WMVUj+VLVsL8(>gn85?E(KFV*K!$v=H|?THh#daoCW z4rJjm! zjJ_&E-)}+qacLpEw+RNjMoIkIr;XyeNtpH-QAlDvmV3OzqgDN|a+(s>@Cl)hClAEF zK8x0!fiN`VDKKjrvEo?}{675w_gRbL@!Zdt@V6e)CI#TfvH5u3CIIdf@ z6^i(OqDN#I#=15$=G7PBcWfYJpZ5coIftP1bserbT8S@Bc-Z8C=kQ*f>p-in!X8;| zPFx+fQ0LmL=Hj{j?!KZH)j=9sqZ0DhBqhsJyUpx07{)5dM! z&3An&UKEDbtHSYEs3VNp$fNr4Y(~{NA5(uSVnUe}W}O;_ywjZU;GzHCKxwub^6*RI2a$06J<2`1kuLQ8?HNowrbM&PJq8t{_4xHv2%2x+4rT81 z=%MBqb3|Pc_n&%)l_I>jhA)=Ra2n8Y2@UdIqJfHME4dE5B#sBAK(U>iPV~}`O1%l5 z%W!(WyD~SInZu8Fc_^aDv5Fe@!O^7;pjGM}#trSD2m5ETIhVKNU4^SK>)j|eRP4Z& zr<$QV@IGDn&ktkGuYmhrWqRH!#T2*4f|_InGP6o??#T$uJ)wbPd&Rg+&=c7DzzT!@ zyH)WN>qa6-MV}LN?bQb2lXvjoVja zKywt7Ybs)_(PTXPkRPsaw|eCqf4HYT7qfQE#dL*ppebCPcuGjsuayp0Lfx6!T4AgJRHrFnA}6QW6(Q=t&h0bgJSOE(ibjst_ap>nn4~_7x-_ ziN~7uK$LISgn8G#z^9F8ampVx6ki^OzLSM9NCmLztO;(f>4A*qW^mQ6fz)wnsC=M_ zIny=Zp;;m9-co_R6Wbwdxjkx$hoM0FHRQc|90aPD;N<;RAW$tIhyRVihSeeXXlpu< zdwWu#4;h0zMDVM#$4oHMON<%xB8tospdZwr9YFN@)R)DkRAmcViiK-cC?*jv97JrXo=?Z&%6)!Ep)AdGmtN8t2}>&yk~ z$2e1Y*5(2ntG_?kKP&R^7I7k+9`(J zz0zpxz8W=40;%-;N^~r~0sr~5;g9YX)@oM+6&*%0T~dLa%oCV->C%7+Y? z{U96%99K}`lS`PBtU;Ztg*j%9HLV>@!t`(vy8bN|#r)RNf|)09cX#dVy`d<)-|=X0H67jUbr38r4T3^%p;pl|hSIBg@1o(Be* z$LPX*{H28N@8xrA);j2Ii$xjD8F0xV7mJ>++O65+B&=-b7)9E@bw}z ziaLh3egDAotzQ}9@qwYuIgIATU|es+k1wVfA+Pgw7@0Q@!YuiqGtvz;9-V`i-Wjls z>xH|WGzg|mlVIzejj(o3CR4k?0COxpfRINNBozg~+71qV8#2U%Fp}W#_&noxy$)>E zx5KRYf{=n+aZCSu5Q*`FaJ6!ndi)$My&R94Is{ACPQ!uNU;5isKQVTfC&8#g1de3> zfZsCj7^me@&q1f1w&hD9=8*>fLV6yA;hi@dNTP@N=^>cD&?68(X){D ziNVN*Mrd_=&3MfkVf1xHU^>@Z*UJ6}yJfF%Oi@=TQqu;9YopBZnQ3V2|BLbC=luSj zh2SKW1rsiM@L#?zsOAfSxQiC%35cQn(Qr`Rmj!#>Gcd@xgBcDk1~jGJT|U;}q9 z)Ymefmo$Ogq01m$Q4Z1X9)j7yk64^8hwZbXV5b`5<$wwOvy~IfweTut*>fHA>^OqA z-`r%1ZkB@R&6N-}J`;z&OQ7Iz37BbJ2FuYq&{bv*<=e8r`|En>ymgJ);yeQPFFjG(XuGszdi(ZfCaW0?g?zfGIatz|80E z)VAXS&YIN$XSScDk;}`ONj->@A6&$6{dNR}Rn)TMD&B6Mg#)j*gVS1D^!`$VquS0e zR?@);X_nw%!VxsA?gX#Y$s}kM2T%7cgu~@OnN1t=fmyN@=1Nber$yo%dryO0Lq~8x zM+apVe}O8AI()i`k1|jmnfT8TY+;O!7bXC&mO#0F2zO=^S?25j^8_EJ!<@_2O}j&K zS;465X$=htEsz$-3tzu~#~->0_%Vyqv!>B1tg&sGJ++5Y(B!Zb)Zsf>F7=!4NT z675&ydMcKq&z5NBhQmF4JT8j=xjY8u<0RBt8%(W|n_#%21G2*9!89=+#(eL=3M+5; z&iS1Fd5nYQ?R?1P*w`VPfz3YBj%`kWOONcsnHqB#er6+xJX`~&ky$wXX%#x#?1mS& zr=sZxcaE|62v7DtMhQn7j5L$Qg-+F|+0qTuCI^G@)^6z0MmYC50wY&SfMLJ}91Hx5 z&kr@ih$k;y%-W0dkA6T)7=V<~DWt!52%4QI)8ohPSRefaC#ijaO(h)|0)yD%tpS%D z(jnrJESBeH!K$~GFrIBg0|o*Yo8rmdGA zs%POfjahX2&1K4R+>7UH1hGRhAD+L=#D>iWaFEOG`bp{GC=G?DHGF9pGV~s_9)2Qg?taMYe*-P-b5QJo zImyg+r;46HQVBXu&u%Hw9T+4#H*GRl5ri6RJMgZ-8QiB+NI%;f;X%t1DmN73v?5V5 z^WDl;uboV{GrGy@@n59vIkc$Kn&hu?{zGvkngt)}ntd=zCfuZcr!n%|u7cwWx1-0K zBb;tMA2rS`!%WNXG=1VZ)zov`2@^Alx;}!cGcHhfU=Ic?T|xi7+-guiVanQME3#AS zj>>;$-nKzz@{?Rf>(faY@^uQQQ_>bDSb5DYC@uk zUsy@jkbT$tkCqrNS`>y z$(}iz$a8%->gC*{{d1SHA6gpeFFTbDpKn7U>|bnb$z>_826yPxl9x~$g>Gmh-|~K3 ze@2@e)KB83<6ZRReHRUJ`drw`yENLxXK<1008omYOsikrz&Ebelrf2i&FGirbnh*! zY0pA->*{CN?0u8+R%aM&eyV0r{_G>gfe-7k@*SMjSxdH>dFZb(gY~)9LxzEZ#13yE zJQ+)JR;q0L&b9386^d+~YCDb8{G)>+Rvd0LfgVQZk@WS+^g`E+{W7fqA2zvh{2G=u z5iXz}uQFEgiW$53gCqOYJ%QRJHP~5E9pv&ej>Y;a>QeV&Egt7m=d5bhWPUDNQhpmX zXGYLP4;5C!!;JJ=d+2jd~a9?5)I!Lfl1xoq5vYhcIw5H`#1qLQt8ka%D>e7{!9RDS&c$HcF4olaR? z4zC@p%Vwf_l0V3+$f77-qrQU8ISH4nUt-7DHMFI4`aZh=Ce9my?e7)%q+tcV^PK^qp35ozra5wE zDyWI;=h*owjM2gSAl6y|3+9^O!+=Z_YF>r+z88SioEfmzgzF9Tnu!ZP%z-Z|XBkEF zL#TLL0zqa9if_-x*t$i~6f(i=wEvH(U8ey-D}FMA&b(Aylg|tT&pwG<<(&K}f-jfzExcC|zT(cL9 z^SK`0N6+EQ`w^y)Z$IY7g;6QDQ@%4hqb-~65E{c#=a z*XG!zqR~*=GzvX0%JA6?Lp)rW0nT3lKPvJT%H8R5Bs5Y!Jb1f4%u@o<3$R%?BlxG~8V*@?LDT&( zkSUmoIa8c4|KSq!HxR{N4tNkRL9wdBsK)(W3omQp8tDPly1;b{ zDjWpp7lESrJ7Dnz26Ly?;)7r2c&B;{zBz=z*B92H`ALEP9ejh|%(CIqlBY14f+i`l1ZZV2|MEpaC2Wv}7_SZ-O66?dba58ujwlQGK&J2sOx| zqS-sVVEi2YoGS5KK{u4nS3}VUu}D(~Ao#iy=6KhG(msAzXm$cU_g;l}0gvE)e>zT^ z9nWdCTC~6KHTsoYL~)ZVkSh8D|0|h-+7b`&qk$yOOD)Cke?Ktar+1;2(+E0H0<*E; zB{!pUjQ;Gu5MntOYb~U3T$5w%#xJAe3pxLqcNVxT{Q&o+6R`TrHdG9_$5t=)BSBst zG7=VNl{_v%hxZ1WtuT+yDU8tNDXZ8DhfvarK1>o%xbt+)LRy@*hu(F1;)v5*XgJbE z?Wxo0_}e=uxGtVm`Vfe*|6}Mp+_8M4IBt}^B1#!WTPX3IbMDtlk)k0jEe$Fqg_3?P z*+Nz#5~3lSmR+exXe&gEhW1ige)k{Xx?Hd4^_=@Y-|y#R;D*7zRwyxkJH8*JfDP9+ zvdBfl@!vHSW^i7Y>A3CZPNoPv|6u~Vs-8*ve!fN%r52PbQlOJ_GVx|G&nZuzO&qK7W5ok3EgtT3kVCO+7;A4VyAP*)XqHMO?l=Z;I*vFk9CeUpx& zYx}U@`93i2Ch^V>$FX7u5l`Nwvmuk|x4tev6Zd2AFf&mE&)?7e8qPUQBD%ARGXi%U z#L<`U!M?Ukn$)|3B=pDN-qKxYaN;CR46dRDMas;{H-aR`%G1;l$H^xsljo1B@#TUp zTyr)Ml|NY0FV}gPnfMR`@;B1f*3ndar;`RM$5L8l45c{86AVfv<72H@@K}rW@=T`E z$rdWFnnR&RgV~V%hiF`^3*K0N7IiIUXl8#r&Xhyk6JX6=m2}ZqlW(j}+J(>Pb_H+xp{%97Jw8h}-Y)`DIm`nv3+v)G4 z4S0FjVa9e+=h(w5hw=+;TeGddK{#|CWc0#QSEU2T>2I# zm#9;@?;kuR+HF3e>ldH9joH$OH6ovto9IlOI{W7`ib-bKicWp?6J7d#fjz35#O`$x zHO7aqdxh<+XuLb+2hO9enfXk*;wB3ldxtvoCNnG;M0&HbsFaqloIf+!u^Zdy{+txi z^h1r0(h~A1Z`)qZV7+huUS+66KlX^*$YPPW# zXV0TC&rEFiy@-y+7Bj7z6PR;$Ecw45M2=qX>96&BcJa8DsJn2EDCXZ&G7QgSKSOlb z^F&EzHP4j&=Y4>}Dk9ixXB9T>k_XewloTyE(7>85e_@8vuUYKY`z$;qjCm#>WDn<@ zC&9IdY1iCjgTBa$Dx$}-X5k9UJYp`A{e6?>T;VJzy&Q_QI?duXo#XfX`68G6@gn=v z%gmKEdYKRxNH*cRqU|CXrYm_A-sNkt1r@v}R9TE`?T?VXa=j3e($KufAPdNTn*iHWiareuS3V3AB zv#@qkQJUY+tt>uA#pjFQWJ?e!ACRE|OLI~8+7z^K98QxSyu^>eiWFm~gz*7o7<$eK z7gs)n4R_M<%ZwnZ2`Paj$5I>UTMge9f6Q z-6rU5)Jqd@euKri&*8Q70`RLDflcYrIQ7&|SpM0G(njQ?%iUJ^EOrtn{5O{6a2|P_ zf-4^H{D#ISZVDe~-h!%_6qww)nI!m~L~nK#+^jamKQp)CvthN^s=A0KbV<@z-3*i( zT8(FxTO(hS;OaN7sA%X5b1M|cd29%*Qj0^COjVM->wx}?Mw7bz05bgg3lkj)yJPQQ zAT!60%6XJI=N8_Yr9~1?2cy%<<+Pz>8l`;R48yHWFg^1K{^owyZ3X2pKgETNPwUY} zyD99+6i@V$(!+|AmvH>$2zfBNV!=D>DZSo!DMNT;Tzy{i|?FemntxcVq*D$dyE!1#uGD#a0(}0d3QCI5| z#>RUwZ@rOh=sP8>vvVTx#aXy>3o!-v$E0p3P1B$FP|wsv3gMl>Esg&%c^MrhZ}W+U zOf+WYcDAH3G@VxSY}xbpi@a;yM!vCUFrX%ka#Dw~TYlLT>KV)qHfS=(FQ!aU|2jD| z-=&l-uW0BLZ)Tk#!7>Irvs0<@q+R-&ovq){$&+`B>*5dV7 zji_363YR<+;hDG&NFDYWu6OBS-J=xL<&Jk>pHShDSUp~KSp}y$Im>?5dwhGS0=n-E z#r>P|g*tzGXg(1Jf6i&s?a^~#?OO?&lUBvu=$$ZDd=qCShvR{ad1%s_2R9sKu+hl} z%Udi5!PjE!h=jF3~D)o ztNhGyZ|?})H{T8{G|Gj6aw+)kKL^;oHW=E(%y9a;@i>y-{l8IfgKN`upx9Rx`%^-& z{Ugu(!UHfL7)qWgQt&ZZ4?2>SVaKtPP-8I!GB1A;v|DV@`eqThp4tsM=1;)<0hbv0 z-o_2(gaHq>VwS~!!uw7G$bYjJA~uYp3nMx(Savx$h9<%Io9&!`J_Dsv$KmPl0XQy? zd;PAjMe947sCri&?R}3xN5C?8b-4tK)H~o-;$JAa5`;G+dLY+AgYw5K;Gp51Sa>D| z#x9FN3he<;*#O)uG(%w79hCpK8&)aA;2+PkXg~Uj5YF@ClUqIDSI`n%xWN@X-xT4P z{eHM)XAhlFkApv#SAh76;n;D8_sZ7iKw3#1Yf{d~e|91CZTwS;arT3v6?u5*`6VoP z^_}Q^DK&^o&>fc~Ji=#MU0*v|pAkdB;lpv;SyNcpSWJ79Jh5b-H=ff=p}%n%d>5mG zew|+2A?}Xb6_(>T=lv|pD~hwYHJQBSSqgf-g-rRmZ=A(Ss%y@pS(=U$Gw1(J~M$nAxfvD~=)N?l+4i6tq;q4kU%T0$kg%!^2+K(A|L*UNU27L9P3M+K? z;#K7mG&uE;W#cexc{UxD@794I-^Y9C7Q-6r^SCv)j2w5(K^^YDx#u{TX4^~>l_

^)5ng>p2qzdd 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