“…The only way developers can answer these questions today is by porting the code to the accelerator, writing representative tests, and benchmarking it-a process that ranges from tedious to impossible. In the best case, this takes several person-months [48,51,52] since each accelerator exposes a different Application Programming Interface (API) and Software Development Kit (SDK). In other cases, such as during the system design stage when no code has yet been written, or when the accelerator is built by a manufacturer without access to the code that would be offloaded, it is downright impossible [23].…”