Accelerating spin dynamics computation with GPU

OData support
Supervisor:
Szántó Péter
Department of Measurement and Information Systems

Maybe the most well-known usage of magnetism are the data storage devices and spintronics. The future of the magnetic technology is very promising, resulting in an ever increasing demand to understand the characteristics of the magnetic solids. I would like to draw your attention to three major aspects of the un-going research in this field: (i) the increased significance of the numerical simulations, (ii) the expansion of the usage of nanostructured materials, which results in (iii) an increased need of atomistic modeling of materials.

The main drive of increasing the calculation performance in the PC processors became increasing parallelism instead of increasing the clock frequency. The main possibility to chip-level parallelisation lays in the graphics processors. From the beginning these were used for real-time computer grapical needs, that allows enormous possibilities for parallelisation.

Today there is the possibility to directly program graphics processors in a way that these processors act like massively parallel processors instead of graphics

accelerator. NVIDIA CUDA allows for easy usage. This programme is a simple extension of the widely known C and C++ programming languages for such purposes.

Constructing graphical chips is ideal to simulate in parallel data parallelism problems that are similar to the atomistic spin dinamics. Therefore the natural demand arose on BME to decrease the calculation time of the simulation of the program performing simulations of thin magnetic films through using graphical chips.

After gaining a deeper understanding of the problem and the CUDA software and hardware, I managed to successfully optimize the program simulation for graphical processor. First I transplanted the calculation to a code that can be run in graphical chip, and afterwards I optimized the calculation in line with the hardware’s structure and operation. Finally I tried to obtain better results by changing the algorhythm. During the optimisation of the simulation, I managed to reach higher speed on each of the various outcomes when compared to the original program.

Downloads

Please sign in to download the files of this thesis.