open Printf open Mpi (* comm_size, comm_rank *) let size = comm_size comm_world let myrank = comm_rank comm_world let print_array array = printf "myrank is %d:\n" myrank; for i=1 to (Array.length array) do print_int array.(i-1);print_string ";" done; print_newline () let print_farray array = printf "myrank is %d:\n" myrank; for i=1 to (Array.length array) do print_float array.(i-1);print_string ";" done; print_newline () let _ = printf "%d: comm_size = %d" myrank size; print_newline() let _ = print_array (gather 1 0 comm_world) let _ = let a = Array.make 3 0 in gather_int 1 a 0 comm_world; print_array a let _ = let a = Array.make 3 0.0 in gather_float 3.1 a 0 comm_world; print_farray a let _ = let a = Array.make 6 0 in gather_int_array [|1;2|] a 0 comm_world; if myrank=0 then print_array a let _ = let a = Array.make 6 0.0 in gather_float_array [|1.1;2.1|] a 0 comm_world; if myrank=0 then print_farray a