Closed olafhering closed 3 years ago
Is this error due to the switch to dune?
Unlikely. The docs state the Array.make
size is limited, and with floats the size has to be even smaller. But if nProc
and nData
is reduced the tests fail anyway.
I was under the impression that OCaml code can not cause memory overflow. Apparently it can crash anyway, there is even an invalid free()
.
I will take this opportunityl to improve my OCaml skills and debug it myself.
What is the make target that allows to reproduce your problem?
What is the make target that allows to reproduce your problem?
make tests
probably?
make tests
./floatscale.native
Test: normal parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 1.625651 seconds
Speedup with 8 cores (average on 1 iterations): 0.237331 (tseq=1.625651, tpar=6.849722)
Test: specialised array parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.496369 seconds
Speedup with 8 cores (average on 1 iterations): 0.588940 (tseq=0.496369, tpar=0.842817)
Test: specialised float array parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.283572 seconds
Speedup with 8 cores (average on 1 iterations): 1.302353 (tseq=0.283572, tpar=0.217738)
No problems with 64 bits, at least. Good luck with the debugging.
This should now be solved with the release 1.2.1
dune runtest
fails on i586 devel:languages:ocaml/ocaml-parmap. The result of Array.make is too large. A quick change like that helps, but then it crashes with SIGSEGV: