mumax / 3

GPU-accelerated micromagnetic simulator
Other
454 stars 150 forks source link

Simulations failing to run: panic: CUDA_ERROR_INVALID_VALUE #284

Open askeyjw opened 3 years ago

askeyjw commented 3 years ago

Hello I am trying to run a test script in MuMax3 but keep getting the following error message:

`//Using cached kernel: C:\Users\josep\AppData\Local\Temp/mumax3kernel[1510 20 20][0 0 0]_[4e-09 4e-09 4e-09]6 //****// //Please cite the following references, relevant for your simulation. // //See bibtex file in output folder for justification. // //****// // * Vansteenkiste et al., AIP Adv. 4, 107133 (2014). panic: CUDA_ERROR_INVALID_VALUE

goroutine 1 [running, locked to thread]: github.com/mumax/3/cuda/cu.MemsetD32Async(0xb0b600000, 0x0, 0x49bb00, 0x0) C:/Users/jmulkers/GO/src/github.com/mumax/3/cuda/cu/memset.go:25 +0x8e github.com/mumax/3/cuda.zero1_async(0xc000080940) C:/Users/jmulkers/GO/src/github.com/mumax/3/cuda/conv_demag.go:91 +0x90 github.com/mumax/3/cuda.(DemagConvolution).fwFFT(0xc0011ae100, 0x0, 0xc0022772c0, 0xc00006cec0, 0xc00006d3c0, 0xc000085a90, 0x1, 0x1) C:/Users/jmulkers/GO/src/github.com/mumax/3/cuda/conv_demag.go:96 +0x60 github.com/mumax/3/cuda.(DemagConvolution).exec3D(0xc0011ae100, 0xc00006d380, 0xc0022772c0, 0xc00006cec0, 0xc00006d3c0, 0xc000085a90, 0x1, 0x1) C:/Users/jmulkers/GO/src/github.com/mumax/3/cuda/conv_demag.go:51 +0xa3 github.com/mumax/3/cuda.(DemagConvolution).Exec(0xc0011ae100, 0xc00006d380, 0xc0022772c0, 0xc00006cec0, 0xc00006d3c0, 0xc000085a90, 0x1, 0x1) C:/Users/jmulkers/GO/src/github.com/mumax/3/cuda/conv_demag.go:45 +0x221 github.com/mumax/3/engine.SetDemagField(0xc00006d380) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/demag.go:42 +0x147 github.com/mumax/3/engine.SetEffectiveField(0xc00006d380) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/effectivefield.go:13 +0x36 github.com/mumax/3/engine.SetLLTorque(0xc00006d380) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/torque.go:53 +0x36 github.com/mumax/3/engine.SetTorque(0xc00006d380) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/torque.go:46 +0x32 github.com/mumax/3/engine.torqueFn(0xc00006d380) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/run.go:97 +0x32 github.com/mumax/3/engine.(RK23).Step(0xc00018c120) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/rk23.go:39 +0x830 github.com/mumax/3/engine.step(0xc00018b900) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/run.go:201 +0x40 github.com/mumax/3/engine.runWhile(0xc0021fb958, 0xc0000ba600) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/run.go:186 +0x8f github.com/mumax/3/engine.relaxSteps(0x3) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/relax.go:109 +0x6a github.com/mumax/3/engine.Relax() C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/relax.go:53 +0xba reflect.Value.call(0x8d56c0, 0xcadff8, 0x13, 0x98f6ae, 0x4, 0x116cf38, 0x0, 0x0, 0x13, 0x8d56c0, ...) C:/Go/src/reflect/value.go:447 +0x45b reflect.Value.Call(0x8d56c0, 0xcadff8, 0x13, 0x116cf38, 0x0, 0x0, 0x0, 0x0, 0x0) C:/Go/src/reflect/value.go:308 +0xab github.com/mumax/3/script.(call).Eval(0xc00016fbf0, 0x0, 0x0) C:/Users/jmulkers/GO/src/github.com/mumax/3/script/call.go:61 +0x29b github.com/mumax/3/script.(BlockStmt).Eval(0xc00016f9e0, 0x8d6780, 0x85be61) C:/Users/jmulkers/GO/src/github.com/mumax/3/script/blockstmt.go:35 +0x68 github.com/mumax/3/script.(*forStmt).Eval(0xc0000ba5a0, 0x1, 0x1) C:/Users/jmulkers/GO/src/github.com/mumax/3/script/for.go:15 +0x57 github.com/mumax/3/engine.EvalFile(0xc00016e9c0) C:/Users/jmulkers/GO/src/github.com/mumax/3/engine/script.go:102 +0x52 main.runScript(0xc0000820c0, 0x1e) C:/Users/jmulkers/GO/src/github.com/mumax/3/cmd/mumax3/main.go:121 +0x106 main.runFileAndServe(0xc0000820c0, 0x1e) C:/Users/jmulkers/GO/src/github.com/mumax/3/cmd/mumax3/main.go:92 +0x6e main.main() C:/Users/jmulkers/GO/src/github.com/mumax/3/cmd/mumax3/main.go:59 +0x10b `

I have just updated my NVIDIA driver to 461.40 as well as delete MuMax3 from my system and re-installed it but still keep getting this error. Any ideas what's going on? Any help would be greatly appreciated.

Cheers, Joe

MathieuMoalic commented 3 years ago

I don't know if this is related but I encountered this same error. I can reproduce with :

Nx := 50
Ny := 501
Nz := 1
dx := 1e-9
dy := 1e-9
dz := 1e-9

setgridsize(Nx, Ny, Nz)
setcellsize(dx, dy, dz)

m = uniform(0, 0, 1)

Msat = 0.81e06
Aex = 1.3e-11
relax()

The key part here is the grid size. For example, for specific values of Ny this script will crash ( Ny = 501,502,503 but not for Ny = 500 or 504). I don't know if this is documented. One workaround I found is to stick to round number or powers of 2.