At the end of the day, all acceleration runtimes fundamentally perform three related tasks: memory allocation, memory migration, and sequencing of computation. Under that general umbrella hides a lot of capability! In this session we'll dive deep into the Xilinx runtime to investigate the nuances and expressive power of the "soft side" of hardware acceleration.