Tags give the ability to mark specific points in history as being important
-
v3.2.0
Release: v3.2.0b68aa983 · ·## [3.2.0] - 2026-02-10 ### Changed - Rename `NumpySolver` to `NumPySolver` - OpenCL kernels profiling with OpenCL events instead of timeit. - Update documentation with new profiling and efficiency results. ### Added - Add a `verbosity` parameter to control logging levels. - An option to compare performance between two CSV files with `llg3d.bench.efficiency`. ### Optimized - Major optimization of `OpenCLSolver._xyz_average` by implementing deferred data transfer. Results are accumulated in a GPU buffer and transferred to RAM in a single batch at the end of simulation, eliminating synchronization overhead at each step. - OpenCL kernels are now asynchronous for a great performance improvement - Removed unnecessary barrier/wait in `OpenCLSolver._compute_R_random` to allow better overlap.
-
v3.1.1
Release: v3.1.15ee6a874 · ·## [3.1.1] - 2026-02-03 ### Fixed - Missing run.npz file in postprocess documentation example (#15) - Missing image files in domain wall documentation example (#15) - Target the OpenCL runner in the CI pipeline to avoid missing OpenCL platforms (#17) ### Added - A `--fail-on-warning` flag to the sphinx-build command in the CI pipeline to catch documentation warnings. ### Remove - Remove `sphinx-last-updated-by-git` from documentation dependencies and configuration (#18)
-
v3.1.0
Release: v3.1.088a63469 · ·## [3.1.0] - 2026-02-03 ### Added - References to the GitLab repository in the documentation. ## Changed - Some reorganization of the documentation home page. - Postprocess documentation moved to module-level documentation. ### Removed - Remove nbsphinx from the documentation dependencies.
-
v3.0.0
Release: v3.0.01b3f414d · ·## [3.0.0] - 2026-02-03 > Note: This is a major release with significant (and breaking) changes and improvements. ### Added - OpenCL solver: support cubic anisotropy. - an initilization option for domain walls (`--init dw`). - Post-processing package `src/llg3d/post/` for dumping info, extracting scalar values, and plotting. - Export x-profiles of magnetization (#11) - New benchmarking utility in `src/llg3d/benchmarks/`: support for repeats, mean/std calculation, CSV metadata and std columns, plotting functions, performance regression comparison. - Profiling support with internal profiler and cProfile (with MPI support). ### Changed - `RunParameters` is now used to load `run_params` objects and create the CLI parser. - Result files are now `npz` files containing `run_params` and results dicts (json serialization is dropped). - `solver` module renamed to `solvers` - Solvers are now described in data classes (e.g., `NumpySolver`, `MPISolver`, `OpenCLSolver`) instead of functions. - Solver classes inherit from `RunParameters` to access run parameters directly as attributes. - use `tqdm` for progress bar (better performance and compatibility) - Major test refactor and reorganization (`tests/solvers/*`, `tests/post/*`) for improved structure and coverage. - Internal renames and API tidying (examples: `self.g -> self.grid`, `self.e -> self.elem`, etc.). - Refactoring and improvements in post-processing modules (`src/llg3d/post/*`). #### Docs - Many documentation improvements (execution guide, SLURM instructions, performance and profiling pages) and new performance pages (`docs/source/performance/*`). #### Performance - OpenCL improvements: buffer preallocation, merge kernels for optimizations, new kernel for averaging, - NumPY and MPI optimizations: reduce temporary arrays, optimize laplacian computation. - Performance as been significantly improved for both NumPy, MPI and OpenCL solvers. #### CI / Tools / Misc - `uv` is now the preferred tool for installing deps, packaging and publishing to PyPI. - CI improvements (`.gitlab-ci.yml` fixes). - Updated utilities and scripts (`utils/temperatures/*`, `utils/slurm/*`, performance pages). ### Fixed - Multiple test fixes (tolerances, fixture scopes, conditional skips for MPI/OpenCL environments). - Bug fixes in solvers (MPI laplacian boundaries, dtypes issues, final `m1_average` computation (#8)). ### Removed - JAX solver is moved to `experimental/` and exclude from tests (to limit maintenance burden). - Cleanup of deprecated/unused code and modules. - Removed `bench_laplacian.ipynb` notebook. - Removed support for old json result files.
-
v2.0.0
Release: v2.0.0a65d1313 · ·## [2.0.0] - 2025-07-30 ### Added - Add an input argument to set the random number generator seed - Add an OpenCL solver (#13) - Handle single precision (#12) - Add a JAX solver - Fix the seed from the CLI (#10) ### Changed - Major refactoring for better isolation - The sequential version of the solver is now in the solver.numpy module - The run dict is simplified - Use -- in CLI options - Use uv in the CI pipeline - The CI pipeline now uses a DinD runner ### Removed - References to old code in the documentation