-
Notifications
You must be signed in to change notification settings - Fork 1
/
BUGS.txt
117 lines (82 loc) · 4.55 KB
/
BUGS.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
known bugs
----------
[0001] SOLVED arne:
When retrieving the magnetization from the GPU, e.g., to save output, a CUDA error may occasionally be thrown. The CUDA error report says nothing about the cuda_memcpy() that originally caused it. E.g.: a CUFFT error: "the user passed an invalid plan pointer" may be thrown because the plan was (probably) corrupted by the memcpy(). The problem is not 100% reproducible and seems to depend on the exact timing. It can be worked around by saving output at slightly different times or even in a different order (e.g., first save a table and then a png file instead of vice-versa).
Solution: runtime.LockOSThread(). Probably the go png encoder uses goroutines which causes the CUDA context be accessed by a thread that didn't create it.
[0002] SOLVED arne:
We can not handle big simulations yet:
make3dconf(), cufft() fail and we allocate to much memory as well.
[0003] SOLVED arne:
simulate crashes on empty input file (also when not really empty but no commands, only comments/whitespace) or on directory as input.
[0004] SOLVED arne:
include command does not work when included files with relative path not in working dir (e.g. problematic with -daemon).
also: load m state does not work with relative path.
try: setWD
[0005] SOLVED arne:
no default solver type is set
[0006] OPEN arne:
we should not crash on illegal input
[0007] SOLVED arne:
the simulation finishes immediately when no initial m is set (time step is infinite). should be illegal arg error.
[0008] OPEN arne:
the simulation state gets re-initialized too often.
-> already much improved by kernelwisdom, but could be better
[0009] OPEN arne:
crash reports are not redirected to output.log
[0010] SOLVED arne:
when no maxerror is specified, the time step is very small.
-> rk23 with maxerror = 1e-5 works nicely and fast, is now the default
[0011] SOLVED arne:
when more than one input file is specified the GPU gets initialized twice-> CUDA setGPU error
-> Backend now stored gpuid, SetDevice() is safe even if gpuid already set.
[0012] SOLVED arne:
png's are saved according to the left-hand-rule. the X,Y,Z axes lie very annoying (Z should be out-of-plane)
-> Input is now always: largest("user X"), large("user Y"), small ("user Z"), png's stored accordingly
[0013] OPEN arne:
.tensor format still saves in XYZ
[0014] OPEN arne:
simulation should crash on infinite/NaN time step,
[0015] SOLVED arne:
simulation should give error message when no initial magnetization is set (or when it is zero/contains zeros)
[0016] OPEN arne:
simulate daemon does not yet pass wisdom argument to child process (todo: also check other arguments while on it)
[0017] OPEN arne:
bad time steps are not undone, simulation does not crash when m=NaN
[0018] OPEN arne:
time evolution of non-normalized spins is (most probably) wrong: "Ms" term in LL is not 1 and should not be ignored.
for the moment, edge smoothness should not be turned on by default.
[0019] SOLVED arne:
should not crash on (slightly) too big imag parts, only warn.
[0020]
non-uniform normalization does not work correctly for 3D sims?
for thickness 4: normalization fails, simulations goes NaN, thickness 1,2,8 are OK though.
ok for uniform normalization...
[0021]
single-threaded CPU code does not speed up by using multiple threads, although it does occupy all processors.
[0022]
spin-torque term is not correct at the edge cells (both edge of the box and edge of the normmap)
[0023]
gpu_copy_unpad crashes on some geometries (e.g. 32^3 but not 64^3)
[0024]
Default rk23 error per step sometimes too small: timestep becomes 1e-17 ps for relaxing a simple 64x64x64 uniform sphere...
[0025]
average m also averages over cells with zero msat, so the saturated state does not have m=1. Perhaps calculate the correction factor ("volume of nonzero cells") once? and multiply only when data is saved? It should also be state in the manual
[0026] FIXED
setting the solver type causes nil pointer dereference
[0027] FIXED
setting a fixed-step solver causes nilpointer
[0028]
sim.RemoveExtension crashes on no extension
[0029]
anisotropy can crash rk23 rk4, but seems to depend on whether or not datatable is saved (?)
It does not seem to cause bad time steps, just a NaN field. Even on CPU (?)
[0030]
fixed step solvers do not work with only maxdm set, still need to set an initial dt. Also, it does not always get overriden by maxDm
[0031]
autosave PNG broken, saves noise.
[0032]
-l:lib....so does not work on old CentOS, should be -l...
(Thanks Mykola Dvornik)
[0033]
Space in path to input file breaks simulation
(Thanks Ajay Ganwar)