Master Thesis MSTR-2026-09

BibliographyMorlock, Valentin: Toward Fortran Level AMICA in Julia: Block Based Learning and GPU Acceleration.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 9 (2026).
77 pages, english.
Abstract

Adaptive Mixture of Independent Component Analyzers (AMICA) is a power􀀚 ful maximum􀀚likelihood based method for Independent Component Analysis (ICA) and is widely used in EEG artifact removal. AMICA.jl is a promising re􀀚 implementation of the Fortran reference in the Julia programming language that improves the accessibility of the algorithm’s implementation but cannot yet match the convergence behavior, performance, and numerical stability of the reference. Our work examines whether AMICA.jl can be improved to match the Fortran reference in correctness and performance while still offering a more accessible and extensible code base. By exporting intermediate values from a modified Fortran implementation and comparing them against Julia, multiple implemen􀀚 tation differences were identified and corrected, resulting in closely matching outputs. Numerical stability was improved, allowing AMICA.jl to reliably work with 32􀀚bit precision. To improve performance and potentially outperform AMICA Fortran, we added GPU acceleration, introduced blockwise processing, and implemented multithreading in AMICA.jl. We performed an extensive benchmark series measuring memory use and runtime, and showed that our improved Julia implementation substantially improved both metrics. When compared to the Fortran reference, AMICA.jl is now competitive in terms of memory use and CPU runtime, and achieves faster runtimes when using GPU acceleration. Our work therefore positions AMICA.jl as a correct, practically viable and more accessible alternative to the Fortran reference implementation.

Department(s)University of Stuttgart, Institute of Visualisation and Interactive Systems, Visualisation and Interactive Systems
Superviser(s)Ehinger, Jun.-Prof. Benedikt
Entry dateJune 9, 2026
   Publ. Institute   Publ. Computer Science