-
Notifications
You must be signed in to change notification settings - Fork 5
Issues
-
Mapping process to task type -- tasks are ANY_TO_ONE MANY_TO_ONE ANY_TO_MANY etc etc (logic of scheduling). This must be inferred from process
-
Inferring graph shape from code -- beyond obvious cases (foldt -- or single processing task) can we be cleverer at inferring the shape of the task graph
-
Determining channel offsets; do we need to know the task graph for this?
-
Reset function -- we need to "reset" tasks by setting to zero any local variables (generate a void reset() function in the task class)
-
Ensure that send always happens before consume. User should be able to write consume(x) then send (x) but in C++ this is unsafe as consume essentially acts as a free
-
update calls to extend_scope_unsafe to actually mention the scope in which a symbol occurs.
-
batch the input and output channels into channel arrays. For example, rather than generating "Buffer & chan_receive_0" for separate channels, we need to encode all channels into two arrays, and input and output array, both of type "std::vector<Buffer &>*". (Nik update: have recently added way of specifying the bounds of channel arrays, for functions).
-
need way of declaring external constants, e.g. "TaskEvent::OUT_OF_DATA", to avoid generating dummy declarations "int32_t TaskEvent::OUT_OF_DATA;".
-
return type of process-style functions shouldn't be void, but should be "TaskEvent".
-
for MCD use-case: the dictionary datatype, its API, and translation.
-
Maybe give better interface in C++ to make foldt (could possibly ignore this) -- RGC
-
Syntactic sugar for send/consume -- needs adding to intermediate language.
-
Type checking for peek and peekAll