CuPyMag: GPU-Accelerated Finite-Element Micromagnetics with Magnetostriction
Hongyi Guan, Ananya Renuka Balakrishna
TL;DR
CuPyMag addresses the challenge of performing large-scale micromagnetic simulations with magnetoelastic coupling on realistic geometries by delivering a GPU-resident, tensorized FEM framework in Python. It combines magnetization, demagnetization, and elastic field solving with the ellipsoid theorem and Gauss-Seidel projection method to enable stable time integration on unstructured meshes. The approach yields substantial performance gains, resolving up to millions of nodes on a single H200 GPU in hours and offering orders of magnitude speedup over CPUs. The work provides an accessible, extensible, and physics-rich tool that broadens the capability to study defect-influenced micromagnetics and magnetoelastic effects in realistic materials.
Abstract
We introduce CuPyMag, an open-source, Python-based framework for large-scale micromagnetic simulations with magnetostriction. CuPyMag solves micromagnetics with finite elements in a GPU-resident workflow in which key operations, such as right-hand-side assembly, spatial derivatives, and volume averages, are tensorized using CuPy's BLAS-accelerated backend. Benchmark tests show that the GPU solvers in CuPyMag achieve a speedup of up to two orders of magnitude compared to the CPU codes. Its runtime grows linearly/sublinearly with problem size, demonstrating high efficiency. Additionally, CuPyMag uses the Gauss-Seidel projection method for time integration, which not only allows stable time steps (up to 11 ps) but also solves each governing equation with only 1-3 conjugate-gradient iterations without preconditioning. CuPyMag accounts for magnetoelastic coupling and far-field effects arising from the boundary of the magnetic body, both of which play an important role in magnetization reversal in the presence of local defects. CuPyMag solves these computationally intensive multiphysics simulations with a high-resolution mesh (up to 3M nodes) in under three hours on an NVIDIA H200 GPU. This acceleration enables micromagnetic simulations with non-trivial defect geometries and resolves nanoscale magnetic structures. It expands the scope of micromagnetic simulations towards realistic, large-scale problems that can guide experiments. More broadly, CuPyMag is developed using widely adopted Python libraries, which provide cross-platform compatibility, ease of installation, and accessibility for adaptations to diverse applications.
