SDK Workflow
This workflow illustrates how SDK manages an offloading process to the XCENA accelerator.
flowchart TD
subgraph PrepareOffloading[Prepare Offloading]
direction LR
OffloadingApplication[Offloading Application] --> |Build|ComputeKernel[Compute Kernel]
end
subgraph Accelerator
direction LR
Processor <--> |Process Kernel|CxlMemory[CXL Memory]
end
PrepareOffloading ==> |Load| HostApplication[Host Application]
HostApplication <--> |API Call| RuntimeLibrary
RuntimeLibrary <--> |Control| Processor
RuntimeLibrary <--> |Allocate| CxlMemory
HostApplication <--> |Data Access| CxlMemory
1. Prepare Offloading
- Build a Compute Kernel from source code of Offloading Application.
- Define and optimize specific computational tasks for accelerator execution.
2. Build Host Application
- Prepared Compute Kernel is loaded into the Host Application.
- Host Application interacts with Runtime Library through API calls, setting up and controlling the necessary resources.
- Runtime Library allocates CXL Memory and manages the Processor for executing the data processing tasks.
3. Offloading
- Host Application accesses CXL Memory to input the necessary data for processing.
- Execute the Compute Kernel on the Processor using data stored in CXL Memory.