package
0.0.0-20240913120853-ab6a133b82ab
Repository: https://github.com/mathieumoalic/amumax.git
Documentation: pkg.go.dev

# Packages

Go bindings for the CUDA driver API.

# Functions

Add: dst = src1 + src2.
Add uniaxial magnetocrystalline anisotropy field to Beff.
Add effective field of Dzyaloshinskii-Moriya interaction to Beff (Tesla).
Add effective field due to bulk Dzyaloshinskii-Moriya interaction to Beff.
dst += prefactor * dot(a, b), as used for energy density.
Add exchange field to Beff.
Add magneto-elasticit coupling field to the effective field.
Add Slonczewski ST torque to torque (Tesla).
Add uniaxial magnetocrystalline anisotropy field to Beff.
Add Zhang-Li ST torque (Tesla) to torque.
Returns a GPU slice for temporary use.
Crop stores in dst a rectangle cropped from src at given offset position.
No description provided by the author
divide: dst[i] = a[i] / b[i] divide-by-zero yields zero.
Finds the average exchange strength around each cell, for debugging.
Frees all buffers.
No description provided by the author
No description provided by the author
Calculate magneto-elasticit force density see magnetoelasticforce.cu.
Returns a copy of in, allocated on GPU.
Locks to an OS thread and initializes CUDA for that thread.
Landau-Lifshitz torque with precession disabled.
Landau-Lifshitz torque divided by gamma0: - 1/(1+α²) [ m x B + α m x (m x B) ] torque in Tesla m normalized B in Tesla see lltorque.cu.
multiply-add: dst[i] = src1[i] * factor1 + src2[i] * factor2.
multiply-add: dst[i] = src1[i] * factor1 + src2[i] * factor2 + src3[i] * factor3.
multiply-add: dst[i] = src1[i] * factor1 + src2[i] * factor2 + src3[i] * factor3 + src4[i] * factor4.
multiply-add: dst[i] = src1[i] * factor1 + src2[i] * factor2 + src3[i] * factor3 + src4[i] * factor4 + src5[i] * factor5.
multiply-add: dst[i] = src1[i] * factor1 + src2[i] * factor2 + src3[i] * factor3 + src4[i] * factor4 + src5[i] * factor5 + src6[i] * factor6.
multiply-add: dst[i] = src1[i] * factor1 + src2[i] * factor2 + src3[i] * factor3 + src4[i] * factor4 + src5[i] * factor5 + src6[i] * factor6 + src7[i] * factor7.
No description provided by the author
Wrapper for cu.MemAlloc, fatal exit on out of memory.
No description provided by the author
No description provided by the author
No description provided by the author
Memset sets the Slice's components to the specified values.
m = 1 / (4 + τ²(m x H)²) [{4 - τ²(m x H)²} m - 4τ(m x m x H)] note: torque from LLNoPrecess has negative sign.
multiply: dst[i] = a[i] * b[i] a and b must have the same number of components.
Construct new byte slice with given length, initialised to zeros.
Initializes a convolution to evaluate the demag field for the given mesh geometry.
Initializes a convolution to evaluate the demag field for the given mesh geometry.
Make a GPU Slice with nComp components each of size length.
Normalize vec to unit length, unless length or vol are zero.
Returns a buffer obtained from GetBuffer to the pool.
dst += LUT[region], for scalar.
dst += LUT[region], for vectors.
decode the regions+LUT pair into an uncompressed array.
select the part of src within the specified region, set 0's everywhere else.
Select and resize one layer for interactive output.
No description provided by the author
No description provided by the author
SetMaxAngle sets dst to the maximum angle of each cells magnetization with all of its neighbors, provided the exchange stiffness with that neighbor is nonzero.
No description provided by the author
Set Bth to thermal noise (Brown).
No description provided by the author
Set s to the toplogogical charge density s = m · (∂m/∂x ❌ ∂m/∂y) See topologicalcharge.cu.
Topological charge according to Berg and Lüscher.
Like Shift, but for bytes.
No description provided by the author
shift dst by shx cells (positive or negative) along X-axis.
No description provided by the author
No description provided by the author
Synchronize the global stream This is called before and after all memcopy operations between host and device.
No description provided by the author
Set all elements of all components to zero.
Sets vector dst to zero where mask != 0.

# Constants

CUDA Launch parameters.
Maximum tolerable error on demag convolution self-test.
Maximum tolerable imaginary/real part for demag kernel in Fourier space.
CUDA Launch parameters.
CUDA Launch parameters.
CUDA Launch parameters.
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

GPU name.
cuda driver version.
Human-readable GPU description.
for debug: synchronize stream0 at every kernel launch.
total GPU memory.
No description provided by the author

# Structs

3D byte slice, used for region lookup.
Stores the necessary state to perform FFT-accelerated convolution with magnetostatic kernel (or other kernel of same symmetry).
Stores the necessary state to perform FFT-accelerated convolution.
Slice + scalar multiplier.

# Type aliases

No description provided by the author
No description provided by the author
No description provided by the author