procedure main(argc, argv[]): declare constant my_lucky_number = random(0, 100) print("Process ", process_number, ": my lucky number is ", my_lucky_number) declare all_min := -1 declare all_max := -1 declare all_sum := -1 // Reduce the data value from all processes to a single result value that will // be available in all processes all_reduce(my_lucky_number, &all_min, 1, min) all_reduce(my_lucky_number, &all_max, 1, max) all_reduce(my_lucky_number, &all_sum, 1, sum) declare constant all_average = all_sum / process_count if my_lucky_number = all_min then print("Process ", process_number, ": my lucky number (", my_lucky_number , ") is the minimum (", all_min, ")") end if if my_lucky_number < all_average then print("Process ", process_number, ": my lucky number (", my_lucky_number , ") is less than the average (", all_average, ")") else if my_lucky_number > all_average then print("Process ", process_number, ": my lucky number (", my_lucky_number , ") is greater than the average (", all_average, ")") else print("Process ", process_number, ": my lucky number (", my_lucky_number , ") is equal to the average (", all_average, ")") end if if my_lucky_number = all_max then print("Process ", process_number, ": my lucky number (", my_lucky_number , ") is the maximum (", all_max, ")") end if end procedure