This paper argues for an accelerator development toolchain that takes into account the whole system containing the accelerator. With whole-system visibility, the toolchain can better assist accelerator scoping and composition in the context of the expected workloads and intended performance objectives. Despite being focused on the 'meta-level' of accelerators, this would build on existing and ongoing DSLs and toolchains for accelerator design. Basing this on our experience in programmable networking and reconfigurable-hardware programming, we propose an integrative approach that relies on three activities: (i) generalizing the focus of acceleration to offloading to accommodate a broader variety of non-functional needs -- such as security and power use -- while using similar implementation approaches, (ii) discovering what to offload, and to what hardware, through semi-automated analysis of a whole system that might compose different offload choices that changeover time, (iii) connecting with research and state-of-the-art approaches for using domain-specific languages (DSLs) and high-level synthesis (HLS) systems for custom offload development. We outline how this integration can drive new development tooling that accepts models of programs and resources to assist system designers through design-space exploration for the accelerated system.
翻译:本文主张建立一个加速器开发工具链,其中考虑到包含加速器的整个系统。有了整个系统的可见度,该工具链可以更好地帮助加速器在预期工作量和预期业绩目标的背景下进行范围界定和组成。尽管它侧重于加速器的“元水平”,但它将建立在现有的和正在进行的DSL和加速器设计的工具链之上。我们根据我们在可编程网络和可重新配置硬件程序制定方面的经验,建议采取一个综合方法,依靠三项活动:(一) 普遍注重加速卸载,以适应更广泛的非功能需求 -- -- 例如安全和电力使用 -- -- 同时使用类似的执行方法,(二) 通过半自动分析整个系统,发现卸载的是什么,以及硬件,这个系统可能会将不同的卸载选择组合成变化的时间,(三) 与研究和最新技术方法相结合,以便使用具体域语言(DSLs)和高级合成(HLS)综合系统,以便通过定制的系统设计模型,推动这一系统自动化的开发,从而帮助我们通过定制的系统集载新的设计工具系统,从而接受新的开发系统。