{"id":21086,"library":"cuequivariance-ops-torch-cu12","title":"cuequivariance-ops-torch (CUDA 12)","description":"GPU-accelerated PyTorch extensions for equivariant primitives using CUDA 12. Part of the cuEquivariance ecosystem, providing high-performance implementations for e3nn and similar libraries. Version 0.10.0, actively developed.","status":"active","version":"0.10.0","language":"python","source_language":"en","source_url":"https://github.com/Open-Catalyst-Project/cuequivariance","tags":["equivariance","neural-networks","cuda","torch","e3nn"],"install":[{"cmd":"pip install cuequivariance-ops-torch-cu12","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required runtime dependency","package":"torch","optional":false},{"reason":"Core library for equivariance definitions","package":"cuequivariance","optional":false}],"imports":[{"note":"Package name includes '_torch' suffix","wrong":"from cuequivariance_ops import cuEquivarOps","symbol":"cuEquivarOps","correct":"from cuequivariance_ops_torch import cuEquivarOps"},{"note":"Direct import from ops module","wrong":null,"symbol":"set_irreps","correct":"from cuequivariance_ops_torch import set_irreps"}],"quickstart":{"code":"import torch\nfrom cuequivariance_ops_torch import cuEquivarOps\n\n# Define a simple irreducible representation\nirreps = '0e + 1o'\nops = cuEquivarOps(irreps, math_dtype=torch.float32)\n\n# Create random input signal\nx = torch.randn(4, 3)  # batch=4, vector size 3\noutput = ops.forward(x)\nprint(output.shape)","lang":"python","description":"Initialize cuEquivarOps for given irreps and apply forward pass."},"warnings":[{"fix":"Review changelog; update imports and method calls accordingly.","message":"Version 0.10.0 may have breaking changes from 0.9.x. Check migration guide for changes in API signatures (e.g., renaming of 'set_irreps' to 'cuEquivarOps' constructor argument).","severity":"breaking","affected_versions":"<0.10.0"},{"fix":"Match package name to your CUDA version: pip install cuequivariance-ops-torch-cu12 for CUDA 12.","message":"The package is specific to CUDA 12. Install the correct variant: cuequivariance-ops-torch-cu12 (CUDA 12), cuequivariance-ops-torch-cu11 (CUDA 11), or CPU-only version (cuEquivariance-ops-torch). Mixing versions leads to runtime errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Install PyTorch with CUDA support: pip install torch --index-url https://download.pytorch.org/whl/cu121 (adjust CUDA version).","message":"Requires PyTorch compiled with CUDA. If PyTorch was installed from CPU-only wheel, cuEquivariance ops will fail at runtime.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Change import to: from cuequivariance_ops_torch import cuEquivarOps","cause":"Typo or wrong package import path. The correct import is from 'cuequivariance_ops_torch', not 'cuequivariance_ops'.","error":"ModuleNotFoundError: No module named 'cuequivariance_ops_torch'"},{"fix":"Ensure CUDA 12 compatible versions of all libraries: pip install torch==2.1.0+cu121 cuequivariance-ops-torch-cu12","cause":"CUDA version mismatch between PyTorch, cuEquivariance ops, and GPU driver.","error":"RuntimeError: CUDA error: no kernel image is available for execution on the device"},{"fix":"Use: ops = cuEquivarOps(irreps) instead of ops = set_irreps(irreps)","cause":"API changed in version 0.10.0; 'set_irreps' function replaced by 'cuEquivarOps' class constructor.","error":"ImportError: cannot import name 'set_irreps' from 'cuequivariance_ops_torch'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}