Dataset for "Fmmgen: Automatic Code Generation of Operators for Cartesian Fast Multipole and Barnes-Hut Methods"
收藏资源简介:
This repository provides the dataset, build and run scripts for the paper "Fmmgen: Automatic Code Generation of Cartesian Fast Multipole and Barnes-Hut Operators", by Ryan Alexander Pepper and Hans Fangohr. <br> <strong>Organisation</strong><br> The repository is organised as follows: <strong><em>sim-scripts</em></strong> sim-scripts/ contains the source code, build and run scripts for running the FMM calculations described in the paper. To reproduce the results from the paper, you need as prerequisites:<br> * An installation and license of the Intel Compiler (Parallel Studio 2019 Update 3 was used for the paper).<br> * An installation of the GNU compiler suite.<br> * GNU Make<br> * Python 3.6<br> * A copy of fmmgen v1.0 (available at https://github.com/rpep/fmmgen or https://zenodo.org/record/3842591)<br> * An installation of Fidimag v3.0 (available at http://github.com/computationalmodelling/fidimag or http://dx.doi.org/10.5281/zenodo.3841935) With these prerequisites, simply run from the sim-scripts directory:<br> ```<br> # To build the executables<br> make build<br> # To run the studies<br> make run<br> ``` The four scripts are:<br> * run-harmonic-cse-comparison.sh - Runs the Fast Multipole Method for 50000 Coulomb particles, varying the order of expansion, and evaluating the performance benefits of various optimisation strategies introduced in the code generation stage. * run-scaling-comparison.sh - Runs comparisons between the Barnes-Hut and Fast Multipole Methods for different expansion orders and values of theta, the 'opening angle' parameter. * run-error-comparison.sh - Runs the FMM and Barnes-Hut calculations, saving the fields and performing the direct calculation, allowing evaluation of the errors for the two methods. * run-fidimag-tests.sh - Runs the Fidimag scaling tests for a series of magnetic dipoles placed on a lattice. <strong><em>results</em></strong> results contains the output data from the sim-scripts scripts. Note: running the scripts will overwrite this data! <br> <strong><em>figure-scripts</em></strong> This contains Python scripts needed to reproduce the figures from the paper. These generated figures are included in the repository for convenience. To run these scripts, you require: * Python >= 3.6<br> * Matplotlib >= 3.1.1<br> * Seaborn >= 0.9.1<br> * NumPy >= 1.17.1 <strong><em>figures</em></strong> This contains the output figures included in the paper.<br>



