README ¶
mumax3
GPU accelerated micromagnetic simulator.
Downloads and documentation
Paper
The Design and Verification of mumax3:
http://scitation.aip.org/content/aip/journal/adva/4/10/10.1063/1.4899186
Tools
https://godoc.org/github.com/mumax/3/cmd
Building from source
Consider downloading a pre-compiled binary. If you want to compile nevertheless:
- install the nvidia proprietary driver, if not yet present.
- if unsure, it's probably already there
- v340 recommended
- install Go
- https://golang.org/dl/
- set $GOPATH
- install CUDA
- https://developer.nvidia.com/cuda-downloads (pick default installation path)
- or
sudo apt-get install nvidia-cuda-toolkit
- install a C compiler
- Ubuntu:
sudo apt-get install gcc
- MacOSX: https://developer.apple.com/xcode/download/
- Windows: http://sourceforge.net/projects/mingw-w64/
- Ubuntu:
- if you have git installed:
go get github.com/mumax/3/cmd/mumax3
- if you don't have git:
- seriously, no git?
- get the source from https://github.com/mumax/3/releases
- unzip the source into $GOPATH/src/github.com/mumax/3
cd $GOPATH/src/github.com/mumax/3/cmd/mumax3
go install
- optional: install gnuplot if you want pretty graphs
- Ubuntu:
sudo apt-get install gnuplot
- Ubuntu:
Your binary is now at $GOPATH/bin/mumax3
To do all at once on Ubuntu:
sudo apt-get install git golang-go gcc nvidia-cuda-toolkit nvidia-cuda-dev nvidia-340 gnuplot
export GOPATH=$HOME go get -u -v github.com/mumax/3/cmd/mumax3
Contributing
Contributions are gratefully accepted. To contribute code, fork our repo on github and send a pull request.
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
mumax3
mumax3 main command
|
mumax3 main command |
mumax3-convert
mumax3-convert converts mumax3 output files to various formats and images.
|
mumax3-convert converts mumax3 output files to various formats and images. |
mumax3-fft
mumax3-fft performs a Fourier transform on mumax3 table output.
|
mumax3-fft performs a Fourier transform on mumax3 table output. |
mumax3-httpfsd
httpfs server, useful for debugging mumax3-server.
|
httpfs server, useful for debugging mumax3-server. |
mumax3-plot
The mumax3-plot utility uses gnuplot to automatically plot mumax3 data tables.
|
The mumax3-plot utility uses gnuplot to automatically plot mumax3 data tables. |
mumax3-script
Toy interpreter executes scripts or stdin.
|
Toy interpreter executes scripts or stdin. |
mumax3-server
Easy-to-use cluster management tool for mumax3, with auto-configuration and web interface.
|
Easy-to-use cluster management tool for mumax3, with auto-configuration and web interface. |
Package cuda provides GPU interaction
|
Package cuda provides GPU interaction |
cu
Go bindings for the CUDA driver API.
|
Go bindings for the CUDA driver API. |
cufft
Go bindings for the CUDA CUFFT API.
|
Go bindings for the CUDA CUFFT API. |
Package data provides structures to store arrays in a hardware-agnostic (GPU-CPU) way.
|
Package data provides structures to store arrays in a hardware-agnostic (GPU-CPU) way. |
Automatic generation of api.html based on template.
|
Automatic generation of api.html based on template. |
2D rendering of data slices.
|
2D rendering of data slices. |
legacy dump data format.
|
legacy dump data format. |
engine does the simulation bookkeeping, I/O and GUI.
|
engine does the simulation bookkeeping, I/O and GUI. |
freetype
|
|
raster
The raster package provides an anti-aliasing 2-D rasterizer.
|
The raster package provides an anti-aliasing 2-D rasterizer. |
Package httpfs provides a (userspace) file system API over http.
|
Package httpfs provides a (userspace) file system API over http. |
package mag provides magnetism-specific constants and the demag kernel.
|
package mag provides magnetism-specific constants and the demag kernel. |
package oommf provides the OVF data format as used by OOMMF.
|
package oommf provides the OVF data format as used by OOMMF. |
package prof provides run-time profiling.
|
package prof provides run-time profiling. |
package script provides a script interpreter for input files and GUI commands.
|
package script provides a script interpreter for input files and GUI commands. |
Package svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>).
|
Package svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>). |
Package test contains automated unit tests.
|
Package test contains automated unit tests. |
package util provides common utilities for all other packages.
|
package util provides common utilities for all other packages. |
Click to show internal directories.
Click to hide internal directories.