The PSC3 focuses on solutions that can run on small standalone computer systems such as desktops, laptops or embedded systems; making supercomputing power available for almost all organizations.

Many organizations need to handle larger volumes of data, use more and more complex algorithms. Today's computers cannot always fulfill the computational requirements. Accelerators such as GPUs or FPGAs can offer a tremendous amount of computational power. But such power comes at the expense of the necessary reimplementation of your code and optimization of the code towards the underlying architecture.

GPU implementations are more complex than those for CPUs, it needs quite a big effort compared to CPU programming. Moreover, thorough optimizations are necessary for reaching peak performance, which will only be possible for 'niche' problems. For most problems, only a fraction of the peak performance can be attained. The additional complexity is due to the necessity to process the data in parallel whereas CPUs (at least single cores) are based on the processing of instructions in sequential order which is inherently easier to do.

When one considers employing GPUs, one first needs to examine whether exploiting GPUs can eliminate the computational bottlenecks. The PSC3 can help you assess whether it makes sense to run a certain algorithm/program on an accelerator (FEASIBILITY). Subsequently, the GPU application can be developed (IMPLEMENTATION) but most traditional programmers haven't yet learned the methodology to do so nor have they been provided with the necessary tools to get the job done. At the PSC3, intensive training programs are provided to teach traditional programmers how to program GPUs (TRAINING).