Skip to content

Releases: marinerhemant/MIDAS

Version 9

12 Feb 05:17

Choose a tag to compare

MIDAS v9 Release Notes

We are proud to announce the release of MIDAS v9, a major leap forward in performance, portability, and usability for High Energy Diffraction Microscopy (HEDM) analysis. This release represents over a year of development since v8, focusing on massive speedups, GPU acceleration, and streamlined workflows.

Key Highlights

1. Massive Performance Optimizations

Significant effort has been placed on optimizing critical analysis kernels, resulting in dramatic speedups:

  • Peak Fitting (~30x Faster): The fit2DPeaks engine has been completely refactored. By implementing moment-based initialization and refined convergence tolerances (ftol_rel=1e-5), processing times for complex peak regions have dropped from ~34s to ~1.2s while conserving total intensity.
  • Orientation Fitting (~5x Faster): FitPosOrStrains algorithms have been optimized for faster convergence.
  • Near-Field Fitting (~10x Faster): FitOrientation in the NF pipeline sees an order-of-magnitude speedup.
  • Technical Detail: Extensive usage of OpenMP parallelism and algorithmic improvements (e.g., specific optimization of Nelder-Mead parameters) drive these gains.

2. GPU Acceleration & Special Hardware Support

MIDAS v9 introduces native support for GPU acceleration in computationally intensive steps:

  • CUDA Integration: New modules such as IntegratorFitPeaksGPUStream.cu and IndexerScanningCUDA.cu leverage NVIDIA GPUs for massive parallel processing.
  • Sparse Matrix Operations: Implementation of Compressed Sparse Row (CSR) formats (DetectorMapperCSR.c, IntegratorFitPeaksGPUStreamCSR.cu) significantly reduces memory footprint and increases throughput for large datasets.

3. Workflow Modernization & Cleanup

The codebase has undergone a rigorous cleanup to improve portability and maintainability:

  • Path Independence: Hardcoded paths (e.g., ~/opt/MIDAS) have been removed. The system now robustly uses the MIDAS_ROOT environment variable, making installation in custom locations seamless.
  • Unified Workflows: Legacy v7 directories have been retired. All production workflows are now consolidated in FF_HEDM/workflows and NF_HEDM/workflows.
  • Configuration Management: A new midas_config Python module centralizes path resolution for scripts and GUIs.

4. Standardized Build System (CMake)

Installation is now standardized across platforms (Linux, macOS, Windows) using CMake:

  • Simplifies dependency management (e.g., FFTW, NLopt).
  • consistent build configuration for both CPU (OpenMP) and GPU (CUDA) backends.

5. Advanced Data Format Support

  • Zarr Integration: Native support for Zarr format (PeaksFittingOMPZarrRefactor.c, IntegratorZarr.c) enables efficient chunked I/O for large-scale HEDM data, facilitating cloud-native and HPC workflows.
  • Compressed Simulation: New ForwardSimulationCompressed.c handles larger simulation volumes with reduced I/O overhead.

6. Documentation

  • Comprehensive Manual Updates: All documentation has been updated to reflect the new path structures and workflow locations.
  • Interactive Plotting: Enhanced documentation for FF_Interactive_Plotting helps users leverage new visualization tools.

Getting Started with v9

Installation

# Clone the repository
git clone https://github.com/AdvancedPhotonSource/MIDAS.git
cd MIDAS
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/opt/MIDAS
make install

Environment Setup

Add the following to your .bashrc or .zshrc:

export MIDAS_ROOT=$HOME/opt/MIDAS
export PATH=$MIDAS_ROOT/FF_HEDM/bin:$MIDAS_ROOT/NF_HEDM/bin:$PATH
export PYTHONPATH=$MIDAS_ROOT/utils:$PYTHONPATH

Release Date: February 2026

Version 8

27 May 22:54

Choose a tag to compare

Can now install on MACOS. See README.md for details.

Version 7

22 May 19:14

Choose a tag to compare

cmake support with parsl parallelism. No need for swift anymore.