Open meton-robean opened 5 years ago
该论文专注于加速动态并行的应用
并且提到了task-centric 编程方式,这种方式可以随着程序执行动态生成要加速的任务,然后加速器执行这些任务,这似乎有点类似软件编程的感觉,而不是像现在GPU的多线程编程那样需要事先静态规划好所有任务
1. 显式的扩展传递 Continuation passing
spawn_next sum(k, x, y)相当于图中S后继任务,类似join 节点,参数的意思是 当前k的后继任务需要等待 x, y两个任务结束的返回值作为输入,执行加法merge操作。
spawn 后面跟的函数代表要入PE中的栈的任务。
tile内PEs有各自的task栈,PEs从栈中去任务去执行, 空闲的PE可以通过working stealing去窃取其他PE的任务来做
An Architectural Framework for Accelerating Dynamic Parallel Algorithms on Reconfigurable Hardware