IEEE Transactions on Multi-Scale Computing Systems · 2017 · 20 citations · 62 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureHeterogeneous ComputingParallel ComputingHeterogeneous System ArchitectureParallel ArchitecturesParallel Computer ArchitectureParallel Runtime SystemsDataflow ProgrammingDataflow Programming ModelsHardware-software IntegrationHardware-software Interface DesignHeterogeneous Computing SystemsHeterogeneous Multicore ArchitectureHeterogeneous Multicore SystemsProgramming Models
Plenty of novel emerging technologies are being proposed and evaluated today, mostly at the device and circuit levels. It is unclear what the impact of different new technologies at the system level will be. What is clear, however, is that new technologies will make their way into systems and will increase the already high complexity of heterogeneous parallel computing platforms, making it ever so difficult to program them. This paper discusses a programming stack for heterogeneous systems that combines and adapts well-understood principles from different areas, including capability-based operating systems, adaptive application runtimes, dataflow programming models, and model checking. We argue why we think that these principles built into the stack and the interfaces among the layers will also be applicable to future systems that integrate heterogeneous technologies. The programming stack is evaluated on a tiled heterogeneous multicore.
62
Nathan Binkert, Bradford M. Beckmann, Gabriel Black et al. · ACM SIGARCH Computer Architecture News · 2011 · 4.9K citations
The Semantics of a Simple Language for Parallel Programming.
Gilles Kahn · IFIP Congress · 1974 · 2.1K citations
A Survey of General‐Purpose Computation on Graphics Hardware
John D. Owens, David Luebke, Naga K. Govindaraju et al. · Computer Graphics Forum · 2007 · 2K citations
Edward A. Lee, David G. Messerschmitt · Proceedings of the IEEE · 1987 · 1.8K citations