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.