Index of values


A
abort [Mspml]
(abort error msg) prints the message msg and aborts the computation with exit code error.
apply [Mspml]
apply vf vv where vf is a parallel vector of functions <f0,...,fp-1> and vv a parallel vector of values <v0,...,vp-1>.
apply2 [Mspmlbase]
apply3 [Mspmlbase]
apply4 [Mspmlbase]
Same thing as apply but with aa function of arity 2, 3 or 4.
applyat [Mspmlbase]
applyat n f1 f2 applies the function f1 at the data held at process n and f2 at the datas helds at the other processes.
applyif [Mspmlbase]
applyif p f1 f2 applies the function f1 at the data held at process i if (p i) is true and applies f2 otherwise.
argv [Mspml]
In the parallel version of MSPML, Sys.argv should not be used because mspmlrun adds arguments to the command line.
at [Mspml]
at must be only used in a if then else expression.

B
bcast_direct [Mspmlcomm]
bcast_direct root v0,...,vp-1=vn,...,vn.
bcast_totex [Mspmlcomm]
bcast_totex root vec marshals the values of vec then uses bcast_totex_string to broadcast the string and then unmarshalls it.
bcast_totex_string [Mspmlcomm]

F
finalize [Mspml]
initialize() initiates a parallel computation.
fold_direct [Mspmlcomm]
fold_direct op neutral <v0, ...

G
g [Mspml]
g() returns the BSP parameter g of the parallel machine.
generic_bcast_totex [Mspmlcomm]
generic_bcast_totex part noth gather root vec scatters the value held by process root in vector vec.
generic_scan [Mspmlcomm]
generic_scan operates on a parallel vector of collections of indexed elements.
generic_wide_fold [Mspmlcomm]
generice_wide_fold sfold fold op neutral vec does a parallel fold on a parallel vector of collection using the sequential fold sfold, the parallel fold fold with operator op with neutral neutral.
get [Mspml]
get <v0,...,vp-1> <i0,...,ip-1> evaluates to <vi_0,...,vi_p-1>.
get_array [Mspml]
Same thing but with arrays.
get_array_bool [Mspml]
get_array_bool <v0,...,vp-1> <a0,...,ap-1> evaluates to <w0,...,wp-1> where wi = Array.init (p()) (fun j->if ai.(j) then Some vj else None).
get_cost [Mspml]
start_timing() starts the timing.
get_list [Mspml]
get_list <v0,...,vp-1> <[i0,0;..;in_0,0], ...

I
initialize [Mspml]

L
l [Mspml]
l() returns the BSP parameter l of the parallel machine.
last [Mspmlbase]
last()=p-1

M
mget [Mspml]
mget_array [Mspml]
Similar to get_array with messages give by functions as in the previous function.
mget_array_bool [Mspml]
Similar to get_array_bool.
mget_list [Mspml]
Similar to mget_array but with lists instead of arrays in the previous function.
mkpar [Mspml]
mkpar f evaluates to the parallel vector <v0,...,vp-1> where vi=(f i).

P
p [Mspml]
p() returns the number p of processes of the parallel machine.
parfun [Mspmlbase]
parfun f <x0,...,x(p-1)> = <f x0,...,f x(p-1)>
parfun2 [Mspmlbase]
parfun3 [Mspmlbase]
parfun4 [Mspmlbase]
Same thing as parfun but with a function of arity 2, 3 or 4.
parprint [Mspmlbase]
parprint print v print the parallel vector v using the printer print, one line per process, each line beginning with the number of the process.
prescan_direct [Mspmlcomm]
pscan_direct op e <v1,...,vp> = <e,v1, ...
print [Mspmlbase]
print print_element pid element prints the value of element at process pid using the printer print_element
procs [Mspmlbase]
procs() returns the list of the process numbers

R
replicate [Mspmlbase]
replicate x gives a parallel vector with the value x on each process.

S
scatter [Mspmlcomm]
scatter partition nothing root vec applies the function partition at the data held at process root to create a function which indicates which part of the initial data will be send to the processe which will request it.
set_verbose [Mspml]
shift [Mspmlcomm]
shift_left [Mspmlcomm]
Shifts the values from processes to processes.
shift_right [Mspmlcomm]
start_timing [Mspml]
stop_timing [Mspml]

T
this [Mspmlbase]
this() returns the parallel vector such as each process hold its number
totex [Mspmlcomm]
totex_array [Mspmlcomm]
totex <v0,...,vp-1> evaluates to <f0,...,fp-1> such as (fi j)=vj.
totex_list [Mspmlcomm]

U
unsafe_proj [Mspml]
unsafe_proj <v,...,v> = v.

W
wide_fold_array_direct [Mspmlcomm]
Instantiations for lists and arrays with direct parallel fold.
wide_fold_list_direct [Mspmlcomm]
within_bounds [Mspmlbase]
within_bounds n is true is n is between 0 and p-1, false otherwise.