Graphics Processing Units (GPUs)
The Graphics Processing Unit (GPU) is designed as a co-processor to accelerate CPUs for general purpose scientific and engineering computing. Generally consisting of hundreds to thousands of smaller cores, the GPU is specialized for compute intensive and highly parallel computation tasks. The GPU accelerates applications running on the CPU by distributing the computation load of time-consuming tasks across a vast number of cores. This massively parallel architecture enables the high-performance computing capabilities of GPUs.
Field Programmable Gate Arrays (FPGAs)
The Field Programmable Gate Array (FPGA) is a massively parallel architecture that implements computation by using hundreds of thousands of tiny programmable computing elements. The continuous developments in transistor integration levels make it possible to implement a considerable number of floating-point arithmetic units on modern FPGAs. The array of programmable blocks enabled FPGAs to be reconfigured to any of a variety of computation functions. FPGAs offer the high performance of dedicated hardware solutions to specific applications, due to its custom-hardware and low-power characteristics, as well as the software programmability of general-purpose processors. FPGAs, promise another major step in energy efficiency, constituting a middle ground between fixed hardware architectures and custom-built ASICs.
Access to Computing Resources
Add list here..
Online Courses and Tutorials
Johannes de Fine Licht and Torsten Hoefler, Productive Parallel Programming for FPGA with High-Level Synthesis, ETH Zürich
Podcasts and Videos
Applications in Remote Sensing
List of publications that participate to the competition organized by HDRCS. The winners provide also a video.