Parallel Computation with Fast Algorithms for Micromagnetic Simulations on GPUs
Micromagnetics is a field of study considering the magnetization behavior in magnetic materials and devices accounting for a wide set of interactions and describing the magnetization phenomena from the atomistic scale to several hundreds of microns. Micromagnetic simulations are essential in understanding the behavior of many magnetic systems. Modeling complex structures can require a significant computational time and in some cases, the system complexity can make simulations prohibitively long or require a prohibitively large memory.
In this thesis, we present a set of methods and their implementations that resulted in high-performance numerical micromagnetic tools for modeling highly complex magnetic materials and devices. The focus of the dissertation is on solving Landau-Lifshitz-Gilbert (LLG) equation efficiently, both with numerical methods and advanced hardware acceleration.
To understand the numerical problem to be solved, the introduction Chapter 1 addresses the LLG equation and the governing interactions involved as well as numerical modeling basics on the Finite Difference Method (FDM) and the Finite Element Method (FEM). Chapter 1 also presents a versatile micromagnetic framework, referred to as FastMag, which implements some of these methods.
Chapter 2 provides a detailed description of computing based on Graphics Processing Units (GPUs). The history of GPU programming model and the programming tips serve as the basis for understanding parallel computing on GPUs. It presents applications of GPUs on various platforms to demonstrate the current mainstream usage of GPUs and their promising future development direction. Chapter 2 also summarizes applications of GPUs in micromagnetics.
Chapters 3 and 4 address two essential aspects of micromagnetic solvers: fast algorithms for computing the key interaction components and efficient time integration methods. Chapter 3 introduces a non-uniform Fourier transform (NUFFT) method, a scalar potential method, and sparse matrix-vector multiplication (SpMVM) algorithms implemented on GPUs to accelerate the magnetostatic and exchange interactions. Chapter 4 addresses basics of the time integration methods used in FastMag as well as a preconditioner to further accelerate the time integration process.
Chapter 5 presents a numerical model for the current state-of-art magnetic recording system using advanced algorithms and GPU implementations described in Chapters 2-4.