Description
Julia crashes when executing a code at 100% CPU usage for more than a day straight.
I have a Finite Element simulation repository written in Julia called Femeko.jl. When I run my Hysteresis.jl
in Micromagnetics/FEM-BEM with meshSize::Float64 = 15.0
, the mesh is more refined and takes longer to finish the simulation (more than a day). I run the code in the terminal with julia -O3 Hysteresis.jl
.
My computer is running linux, but it also happens on windows. It has 128 Gb of RAM (but this code uses about 2.4) and 100% CPU usage with 16 cores (and just 16 threads at 100%). The code does a lot of small 3D vector allocations to update a column of a 3 by N matrix multiple times.
At some point the code seg faults with this output (not complete because using mobaxterm won't show the full warning):
main at /home/rkiefe/Documents/femeko.jl/Micromagnetics/FEM-BEM/Hysteresis.jl:109
unknown function (ip: 0x709b63192c3f)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_call at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:666
jl_interpret_toplevel_thunk at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/interpreter.c:824
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
include_string at ./loading.jl:2734
_include at ./loading.jl:2794
include at ./Base.jl:557
jfptr_include_46879 at /home/rkiefe/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
exec_options at ./client.jl:323
_start at ./client.jl:531
jfptr__start_73430 at /home/rkiefe/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
true_main at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/src/jlapi.c:1059
main at /cache/build/tester-amdci5-12/julialang/julia-release-1-dot-11/cli/loader_exe.c:58
unknown function (ip: 0x709b6a02a1c9)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 278855895847 (Pool: 278855894479; Big: 1368); GC: 421363
Segmentation fault (core dumped)