rdicosmo / parmap

Parmap is a minimalistic library allowing to exploit multicore architecture for OCaml programs with minimal modifications.
http://rdicosmo.github.io/parmap/
Other
94 stars 20 forks source link

Running tests on 32bit arches #59

Closed aballier closed 5 years ago

aballier commented 7 years ago

While tests work really fine on amd64, I'm trying to run them on arm (I've also seen similar reports for x86), and they fail:

 # ./floatscale.native 
Fatal error: exception Invalid_argument("Array.make")

This one looks like a bug in ocaml itself:

# nData="100000" ./floatscale.native 
Test: normal parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.087256 seconds
Parmap failure: result mismatch!
Speedup with 8 cores (average on 1 iterations): 0.333858 (tseq=0.087256, tpar=0.261357)
Test: specialised array parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.083198 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 1 iterations): 0.885123 (tseq=0.083198, tpar=0.093996)
Test: specialised float array parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.028458 seconds
Segmentation fault

Reducing nData even more makes this one pass:

# nData="10000" ./floatscale.native 
Test: normal parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.011752 seconds
Parmap failure: result mismatch!
Speedup with 8 cores (average on 1 iterations): 0.162444 (tseq=0.011752, tpar=0.072344)
Test: specialised array parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.001987 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 1 iterations): 0.074017 (tseq=0.001987, tpar=0.026845)
Test: specialised float array parmap
Testing scalability with 1 iterations on 8 to 8 cores, step 1
Sequential execution takes 0.002054 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 1 iterations): 0.152427 (tseq=0.002054, tpar=0.013475)

This one seems to work but is quite heavy (1h 20 mins to run):

# time ./simplescale_array.native 
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 275.374505 seconds
Speedup with 1 cores (average on 2 iterations): 1.004610 (tseq=275.374505, tpar=274.110981)
Speedup with 2 cores (average on 2 iterations): 2.017963 (tseq=275.374505, tpar=136.461628)
Speedup with 3 cores (average on 2 iterations): 3.014285 (tseq=275.374505, tpar=91.356502)
Speedup with 4 cores (average on 2 iterations): 3.925457 (tseq=275.374505, tpar=70.150940)
Speedup with 5 cores (average on 2 iterations): 3.883548 (tseq=275.374505, tpar=70.907973)
Speedup with 6 cores (average on 2 iterations): 3.967147 (tseq=275.374505, tpar=69.413733)
Speedup with 7 cores (average on 2 iterations): 3.961677 (tseq=275.374505, tpar=69.509584)
Speedup with 8 cores (average on 2 iterations): 3.995084 (tseq=275.374505, tpar=68.928342)
Speedup with 9 cores (average on 2 iterations): 3.998568 (tseq=275.374505, tpar=68.868276)
Speedup with 10 cores (average on 2 iterations): 4.006729 (tseq=275.374505, tpar=68.728008)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 271.168359 seconds
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 1 cores (average on 2 iterations): 1.003275 (tseq=271.168359, tpar=270.283260)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 2 cores (average on 2 iterations): 1.974649 (tseq=271.168359, tpar=137.324849)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 3 cores (average on 2 iterations): 2.948170 (tseq=271.168359, tpar=91.978551)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 4 cores (average on 2 iterations): 3.832768 (tseq=271.168359, tpar=70.750011)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 5 cores (average on 2 iterations): 3.853020 (tseq=271.168359, tpar=70.378129)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 6 cores (average on 2 iterations): 3.891766 (tseq=271.168359, tpar=69.677466)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 7 cores (average on 2 iterations): 3.926030 (tseq=271.168359, tpar=69.069350)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 8 cores (average on 2 iterations): 3.934487 (tseq=271.168359, tpar=68.920886)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 9 cores (average on 2 iterations): 3.945327 (tseq=271.168359, tpar=68.731533)
Parmap failure: result order was expected to be preserved, and is not.
Parmap failure: result order was expected to be preserved, and is not.
Speedup with 10 cores (average on 2 iterations): 3.930145 (tseq=271.168359, tpar=68.997032)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 11.076638 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 1 cores (average on 2 iterations): 0.983674 (tseq=11.076638, tpar=11.260477)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 2 cores (average on 2 iterations): 1.968036 (tseq=11.076638, tpar=5.628270)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 3 cores (average on 2 iterations): 2.932193 (tseq=11.076638, tpar=3.777596)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 4 cores (average on 2 iterations): 3.877352 (tseq=11.076638, tpar=2.856753)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 5 cores (average on 2 iterations): 3.866129 (tseq=11.076638, tpar=2.865046)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 6 cores (average on 2 iterations): 3.840747 (tseq=11.076638, tpar=2.883980)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 7 cores (average on 2 iterations): 3.849689 (tseq=11.076638, tpar=2.877281)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 2 iterations): 3.854308 (tseq=11.076638, tpar=2.873833)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 9 cores (average on 2 iterations): 3.847798 (tseq=11.076638, tpar=2.878695)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 10 cores (average on 2 iterations): 3.818525 (tseq=11.076638, tpar=2.900764)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 11.086917 seconds
Speedup with 1 cores (average on 2 iterations): 0.990678 (tseq=11.086917, tpar=11.191242)
Speedup with 2 cores (average on 2 iterations): 1.966918 (tseq=11.086917, tpar=5.636696)
Speedup with 3 cores (average on 2 iterations): 2.941194 (tseq=11.086917, tpar=3.769529)
Speedup with 4 cores (average on 2 iterations): 3.848697 (tseq=11.086917, tpar=2.880694)
Speedup with 5 cores (average on 2 iterations): 3.449896 (tseq=11.086917, tpar=3.213696)
Speedup with 6 cores (average on 2 iterations): 3.789007 (tseq=11.086917, tpar=2.926074)
Speedup with 7 cores (average on 2 iterations): 3.824533 (tseq=11.086917, tpar=2.898895)
Speedup with 8 cores (average on 2 iterations): 3.865556 (tseq=11.086917, tpar=2.868130)
Speedup with 9 cores (average on 2 iterations): 3.891372 (tseq=11.086917, tpar=2.849102)
Speedup with 10 cores (average on 2 iterations): 3.871551 (tseq=11.086917, tpar=2.863689)

real    78m5.130s
user    197m51.870s
sys 0m3.320s

And this one fails:

# ./simplescale.native 
*** Checking corner cases: call on empty lists and arrays must not raise an exception
*   parmap []
*   parmap [| |]
*   pariter []
*   pariter [| |]
*** Checking the code for non tail recursive calls: an exception here indicates there are some left
Testing scalability with 1 iterations on 2 to 2 cores, step 1
Sequential execution takes 5.213010 seconds
Fatal error: exception Invalid_argument("Array.make")

If I reduce a bit the data used by changing the line to:

scale_test (fun x -> x) (L (initsegm 1000000)) 1 2 2;;

(remove one zero)

then it works but is also rather long (3 hours):

# time ./simplescale.native 
*** Checking corner cases: call on empty lists and arrays must not raise an exception
*   parmap []
*   parmap [| |]
*   pariter []
*   pariter [| |]
*** Checking the code for non tail recursive calls: an exception here indicates there are some left
Testing scalability with 1 iterations on 2 to 2 cores, step 1
Sequential execution takes 0.318109 seconds
Speedup with 2 cores (average on 1 iterations): 0.170100 (tseq=0.318109, tpar=1.870130)
*** Checking that we properly parallelise execution if we have less tasks than cores: if you do not see 5 processes, there is a problem
*   Simplemapper 8 cores, 5 elements
[Parmap]: mapper on 5 elements, on 5 cores
[Parmap]: simplemapper on 5 elements, on 5 cores, chunksize = 1
*   Simpleiter 8 cores, 5 elements
[Parmap]: geniter on 5 elements, on 5 cores
[Parmap]: simplemapper on 5 elements, on 5 cores, chunksize = 1
*** Checking that we properly handle bogus core numbers
*   Simplemapper 0 cores
[Parmap]: mapper on 5 elements, on 1 cores
[Parmap]: simplemapper on 5 elements, on 1 cores, chunksize = 5
*   Simpleiter 0 cores
[Parmap]: geniter on 5 elements, on 1 cores
[Parmap]: simplemapper on 5 elements, on 1 cores, chunksize = 5
*** Computations on integer lists
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 11.071200 seconds
Speedup with 1 cores (average on 2 iterations): 0.985225 (tseq=11.071200, tpar=11.237235)
Speedup with 2 cores (average on 2 iterations): 1.969637 (tseq=11.071200, tpar=5.620935)
Speedup with 3 cores (average on 2 iterations): 2.903535 (tseq=11.071200, tpar=3.813007)
Speedup with 4 cores (average on 2 iterations): 3.828603 (tseq=11.071200, tpar=2.891708)
Speedup with 5 cores (average on 2 iterations): 3.534386 (tseq=11.071200, tpar=3.132426)
Speedup with 6 cores (average on 2 iterations): 3.614958 (tseq=11.071200, tpar=3.062608)
Speedup with 7 cores (average on 2 iterations): 3.780064 (tseq=11.071200, tpar=2.928840)
Speedup with 8 cores (average on 2 iterations): 3.868722 (tseq=11.071200, tpar=2.861720)
Speedup with 9 cores (average on 2 iterations): 3.739794 (tseq=11.071200, tpar=2.960377)
Speedup with 10 cores (average on 2 iterations): 3.818951 (tseq=11.071200, tpar=2.899016)
*** Computations on integer lists (chunksize=100)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 11.144213 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 1 cores (average on 2 iterations): 0.996611 (tseq=11.144213, tpar=11.182109)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 2 cores (average on 2 iterations): 1.985630 (tseq=11.144213, tpar=5.612432)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 3 cores (average on 2 iterations): 2.942269 (tseq=11.144213, tpar=3.787625)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 4 cores (average on 2 iterations): 3.900890 (tseq=11.144213, tpar=2.856838)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 5 cores (average on 2 iterations): 3.883706 (tseq=11.144213, tpar=2.869479)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 6 cores (average on 2 iterations): 3.832544 (tseq=11.144213, tpar=2.907785)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 7 cores (average on 2 iterations): 3.868699 (tseq=11.144213, tpar=2.880610)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 2 iterations): 3.879886 (tseq=11.144213, tpar=2.872304)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 9 cores (average on 2 iterations): 3.823246 (tseq=11.144213, tpar=2.914856)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 10 cores (average on 2 iterations): 3.841000 (tseq=11.144213, tpar=2.901384)
*** Computations on integer arrays
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 11.231302 seconds
Speedup with 1 cores (average on 2 iterations): 1.003011 (tseq=11.231302, tpar=11.197590)
Speedup with 2 cores (average on 2 iterations): 1.995717 (tseq=11.231302, tpar=5.627703)
Speedup with 3 cores (average on 2 iterations): 2.980688 (tseq=11.231302, tpar=3.768024)
Speedup with 4 cores (average on 2 iterations): 3.942644 (tseq=11.231302, tpar=2.848673)
Speedup with 5 cores (average on 2 iterations): 3.613408 (tseq=11.231302, tpar=3.108230)
Speedup with 6 cores (average on 2 iterations): 3.796506 (tseq=11.231302, tpar=2.958326)
Speedup with 7 cores (average on 2 iterations): 3.766651 (tseq=11.231302, tpar=2.981774)
Speedup with 8 cores (average on 2 iterations): 3.901223 (tseq=11.231302, tpar=2.878918)
Speedup with 9 cores (average on 2 iterations): 3.833667 (tseq=11.231302, tpar=2.929650)
Speedup with 10 cores (average on 2 iterations): 3.860892 (tseq=11.231302, tpar=2.908991)
*** Computations on integer arrays (chunksize-100)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 11.145155 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 1 cores (average on 2 iterations): 0.990616 (tseq=11.145155, tpar=11.250728)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 2 cores (average on 2 iterations): 1.990085 (tseq=11.145155, tpar=5.600341)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 3 cores (average on 2 iterations): 2.920895 (tseq=11.145155, tpar=3.815665)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 4 cores (average on 2 iterations): 3.900096 (tseq=11.145155, tpar=2.857661)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 5 cores (average on 2 iterations): 3.844258 (tseq=11.145155, tpar=2.899170)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 6 cores (average on 2 iterations): 3.863045 (tseq=11.145155, tpar=2.885070)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 7 cores (average on 2 iterations): 3.838845 (tseq=11.145155, tpar=2.903257)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 2 iterations): 3.829774 (tseq=11.145155, tpar=2.910134)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 9 cores (average on 2 iterations): 3.817382 (tseq=11.145155, tpar=2.919581)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 10 cores (average on 2 iterations): 3.852729 (tseq=11.145155, tpar=2.892795)
*** Computations on lists of floats
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 266.002211 seconds
Speedup with 1 cores (average on 2 iterations): 0.996843 (tseq=266.002211, tpar=266.844535)
Speedup with 2 cores (average on 2 iterations): 1.947518 (tseq=266.002211, tpar=136.585236)
Speedup with 3 cores (average on 2 iterations): 2.912077 (tseq=266.002211, tpar=91.344489)
Speedup with 4 cores (average on 2 iterations): 3.812942 (tseq=266.002211, tpar=69.762977)
Speedup with 5 cores (average on 2 iterations): 3.852758 (tseq=266.002211, tpar=69.042026)
Speedup with 6 cores (average on 2 iterations): 3.871261 (tseq=266.002211, tpar=68.712037)
Speedup with 7 cores (average on 2 iterations): 3.869209 (tseq=266.002211, tpar=68.748471)
Speedup with 8 cores (average on 2 iterations): 3.921493 (tseq=266.002211, tpar=67.831877)
Speedup with 9 cores (average on 2 iterations): 3.895838 (tseq=266.002211, tpar=68.278555)
Speedup with 10 cores (average on 2 iterations): 3.907914 (tseq=266.002211, tpar=68.067569)
*** Computations on lists of floats (chunksize=100)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 267.217013 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 1 cores (average on 2 iterations): 0.998549 (tseq=267.217013, tpar=267.605340)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 2 cores (average on 2 iterations): 1.990431 (tseq=267.217013, tpar=134.250836)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 3 cores (average on 2 iterations): 2.965334 (tseq=267.217013, tpar=90.113622)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 4 cores (average on 2 iterations): 3.922953 (tseq=267.217013, tpar=68.116284)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 5 cores (average on 2 iterations): 3.356925 (tseq=267.217013, tpar=79.601733)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 6 cores (average on 2 iterations): 3.687274 (tseq=267.217013, tpar=72.470067)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 7 cores (average on 2 iterations): 3.522946 (tseq=267.217013, tpar=75.850436)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 2 iterations): 3.912715 (tseq=267.217013, tpar=68.294516)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 9 cores (average on 2 iterations): 3.460438 (tseq=267.217013, tpar=77.220567)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 10 cores (average on 2 iterations): 3.761283 (tseq=267.217013, tpar=71.044107)
*** Computations on arrays of floats
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 265.433520 seconds
Speedup with 1 cores (average on 2 iterations): 0.994272 (tseq=265.433520, tpar=266.962715)
Speedup with 2 cores (average on 2 iterations): 1.949320 (tseq=265.433520, tpar=136.167258)
Speedup with 3 cores (average on 2 iterations): 2.912681 (tseq=265.433520, tpar=91.130309)
Speedup with 4 cores (average on 2 iterations): 3.797807 (tseq=265.433520, tpar=69.891270)
Speedup with 5 cores (average on 2 iterations): 3.323223 (tseq=265.433520, tpar=79.872306)
Speedup with 6 cores (average on 2 iterations): 3.768237 (tseq=265.433520, tpar=70.439718)
Speedup with 7 cores (average on 2 iterations): 3.865783 (tseq=265.433520, tpar=68.662289)
Speedup with 8 cores (average on 2 iterations): 3.818341 (tseq=265.433520, tpar=69.515413)
Speedup with 9 cores (average on 2 iterations): 3.427148 (tseq=265.433520, tpar=77.450255)
Speedup with 10 cores (average on 2 iterations): 3.925661 (tseq=265.433520, tpar=67.614982)
*** Computations on arrays of floats (chunksize=100)
Testing scalability with 2 iterations on 1 to 10 cores, step 1
Sequential execution takes 269.548036 seconds
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 1 cores (average on 2 iterations): 1.008679 (tseq=269.548036, tpar=267.228713)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 2 cores (average on 2 iterations): 2.009827 (tseq=269.548036, tpar=134.115069)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 3 cores (average on 2 iterations): 2.994604 (tseq=269.548036, tpar=90.011240)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 4 cores (average on 2 iterations): 3.963357 (tseq=269.548036, tpar=68.010027)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 5 cores (average on 2 iterations): 3.909074 (tseq=269.548036, tpar=68.954439)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 6 cores (average on 2 iterations): 3.409723 (tseq=269.548036, tpar=79.052765)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 7 cores (average on 2 iterations): 3.970276 (tseq=269.548036, tpar=67.891507)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 8 cores (average on 2 iterations): 3.961305 (tseq=269.548036, tpar=68.045254)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 9 cores (average on 2 iterations): 3.936089 (tseq=269.548036, tpar=68.481176)
Parmap warning: result order is not preserved (it was not expected to be).
Parmap warning: result order is not preserved (it was not expected to be).
Speedup with 10 cores (average on 2 iterations): 3.914925 (tseq=269.548036, tpar=68.851392)

real    156m9.672s
user    390m24.870s
sys 0m10.400s

All the other tests not mentioned here pass properly.

Now, my question is: Is it possible to reduce a bit the data used by the tests like that? Do they remain meaningful ?

My goal by running the tests is to ensure that they provide a good coverage of parmap, ensuring that if they pass that means parmap will work properly. It seems to me that those tests are more about getting accurate speedup results. Can I skip some of those and keep the same level of safety wrt my goal ? If yes, which ones ?

UnixJunkie commented 5 years ago

Yes, we don't have a regression test suite for the moment. It would be nice though, and is tracked here: https://github.com/rdicosmo/parmap/issues/39 If you can show there is a bug on 32bits with some simple reproducible method, please open another issue.