Support more than one output parameter for futhark functions
To have multiple output parameters it is necessary to heavily refactor fmpi_task
and fmpi_task_generic
.
Two cases need to taken into account:
- Single Futhark kernel call(e.g., sum of array)
- Multiple Futhark kernel call(e.g., cellular automaton) where output arguments are used as input for the next step.
Case 1) should be feasible without too much effort.
Case 2) needs a way to specify which output is connected to which input. Could be specified by the library user or could be imposed by fmpi
(e.g., 1st output to 1st input, 2nd output to 2nd input, etc.)