The following pseudo-code shows the structure of the file I/O when writing data
to file. Data held in array data
on each process is written to a single file
by process 0. Process 0 opens the file, saves its data, and then sequentially
receives and saves data from other processes.
get_my_process_id(proc_id)
get_number_of_processes(n_proc)
if proc_id == 0
filename = "file.txt"
open_file(filename)
write_ascii_data_to_file(data, filename)
for proc = 1, n_proc-1
receive_data(data, proc)
write_ascii_data_to_file(data, filename)
end for
close_file(filename)
else
send_data(data, 0)
end if
The process is reversed when reading data from file, as follows.
get_my_process_id(proc_id)
get_number_of_processes(n_proc)
if proc_id == 0
filename = "file.txt"
open_file(filename)
read_ascii_data_from_file(data, filename)
for proc = 1, n_proc-1
read_ascii_data_from_file(data, filename)
send_data(data, proc)
end for
close_file(filename)
else
receive_data(data, 0)
end if