A task descriptor contains all the relevant task descriptions.
To maximize accelerator performance, ALF employs a static memory
allocation model per task execution on the accelerator. This means that ALF
requires you to provide information about buffers, stack usage, and the number
of data transfer list entries ahead of time.
As well as accelerator memory usage information, the task descriptor also
contains information about the names of the different user-defined accelerator
functions and the data partition attribute.
The following information is used to define a task descriptor:
- Task context description
- Task context buffer size
- Task context entries: entry size, entry type
- Accelerator executable image that contains the computational kernel:
- The name of the accelerator computational kernel function
- Optionally, the name of the accelerator input data transfer list prepare
function
- Optionally, the name of the accelerator output data transfer list prepare
function
- Optionally, the name of the accelerator task context setup function
- Optionally, the name of the accelerator task context merge function
- Work block parameter context buffer size
- Work block input buffer size
- Work block output buffer size
- Work block overlapped buffer size
- Work block number of data transfer list entries
- Task data partition attribute:
- Partition on accelerator
- Partition on host
- Accelerator stack size
For more information about the compute task APIs, see Compute task API.