This can be split in several secitons.
- load the lib from the build-dir or the system pkg (the latter in this case)
- test file in inst/*: pararrayfun.m, pserver.m, parcellfun.m in our case
- checking C++ files
- run tests in debian/check.m
And that can be used like this then:
$ octave-cli
octave:1> pkg ('load', 'parallel');
octave:2> pararrayfun (2, @ (x, y) x * y, [1, 2, 3, 4], [2, 3, 4, 5], "ChunksPerProc", 2, "CumFunc", @ (a, b) a + b), 40
error: int32 scalar cannot be indexed with {
error: called from
parcellfun at line 206 column 25
chunk_parcellfun at line 47 column 25
parcellfun at line 142 column 28
pararrayfun at line 85 column 28
Even that can be more simplified:
Good:
octave:33> pararrayfun (1, @ (x, y) x * y, [1, 2], "ChunksPerProc", 1, "CumFunc", @ (a, b) a + b), 40
ans = 40
Bad:
octave:35> pararrayfun (1, @ (x, y) x * y, [1, 2], "ChunksPerProc", 2, "CumFunc", @ (a, b) a + b), 40
error: int32 scalar cannot be indexed with {
error: called from
parcellfun at line 206 column 25
pararrayfun at line 85 column 28
ChunksPerProc > 1 breaks it.
Might it be that we need at least 2 vcpus for the test?
Going into a 4 cpu env where things worked fine before.
But there it is also broken:
octave:1> pkg ('load', 'parallel');
octave:2> pararrayfun (1, @ (x, y) x * y, [1, 2], "ChunksPerProc", 2, "CumFunc", @ (a, b) a + b), 40
error: int32 scalar cannot be indexed with {
error: called from
parcellfun at line 206 column 25
pararrayfun at line 85 column 28
This can be split in several secitons.
- load the lib from the build-dir or the system pkg (the latter in this case)
- test file in inst/*: pararrayfun.m, pserver.m, parcellfun.m in our case
- checking C++ files
- run tests in debian/check.m
Knowing that we can simplify this to:
$ cat > foo << EOF pararrayfun. m", "verbose");
pkg ('load', 'parallel');
test ("inst/
EOF
$ xvfb-run -a octave-cli --no-history --silent --no-init-file --no-window-system foo
That is much better ...
That can be used in the interactive mode like:
And that can be used like this then: parcellfun at line 47 column 25
$ octave-cli
octave:1> pkg ('load', 'parallel');
octave:2> pararrayfun (2, @ (x, y) x * y, [1, 2, 3, 4], [2, 3, 4, 5], "ChunksPerProc", 2, "CumFunc", @ (a, b) a + b), 40
error: int32 scalar cannot be indexed with {
error: called from
parcellfun at line 206 column 25
chunk_
parcellfun at line 142 column 28
pararrayfun at line 85 column 28
Even that can be more simplified:
Good:
octave:33> pararrayfun (1, @ (x, y) x * y, [1, 2], "ChunksPerProc", 1, "CumFunc", @ (a, b) a + b), 40
ans = 40
Bad:
octave:35> pararrayfun (1, @ (x, y) x * y, [1, 2], "ChunksPerProc", 2, "CumFunc", @ (a, b) a + b), 40
error: int32 scalar cannot be indexed with {
error: called from
parcellfun at line 206 column 25
pararrayfun at line 85 column 28
ChunksPerProc > 1 breaks it.
Might it be that we need at least 2 vcpus for the test?
Going into a 4 cpu env where things worked fine before.
But there it is also broken:
octave:1> pkg ('load', 'parallel');
octave:2> pararrayfun (1, @ (x, y) x * y, [1, 2], "ChunksPerProc", 2, "CumFunc", @ (a, b) a + b), 40
error: int32 scalar cannot be indexed with {
error: called from
parcellfun at line 206 column 25
pararrayfun at line 85 column 28