Scientific Programming · 2010 · 244 citations · 113 references
ComputingComputer ScienceHigh-performance ComputingComputer ArchitectureField-programmable Gate ArraysHeterogeneous ComputingData ParallelismField-programmable Gate Array ArchitectureFpga ArchitectureGraphics Processing Unit ArchitectureGraphics Processing UnitsParallel ArchitecturesField-programmable Gate Arrays (Fpgas)Gpu ArchitectureHardware HeterogeneityHeterogeneous Computing ArchitectureHeterogeneous Computing SystemsHigh PerformanceHigh-performance Computing SystemsOverview
Node level heterogeneous architectures have become attractive during the last decade for several reasons: compared to traditional symmetric CPUs, they offer high peak performance and are energy and/or cost efficient. With the increase of fine-grained parallelism in high-performance computing, as well as the introduction of parallelism in workstations, there is an acute need for a good overview and understanding of these architectures. We give an overview of the state-of-the-art in heterogeneous computing, focusing on three commonly found architectures: the Cell Broadband Engine Architecture, graphics processing units (GPUs), and field programmable gate arrays (FPGAs). We present a review of hardware, available software tools, and an overview of state-of-the-art techniques and algorithms. Furthermore, we present a qualitative and quantitative comparison of the architectures, and give our view on the future of heterogeneous computing.
113
Cramming More Components Onto Integrated Circuits
Gordon E. Moore · Proceedings of the IEEE · 1998 · 5.8K citations
Makoto Matsumoto, Takuji Nishimura · ACM Transactions on Modeling and Computer Simulation · 1998 · 5.7K citations
Computer architecture: a quantitative approach
Martin Shute · Microelectronics Journal · 1993 · 3.4K citations