A methodology and ecosystem for many-core programming

Boosting the performance of current and future programs

Image by: Robert Howie

Computers are going through a radical redesign process, leading to novel architectures with large numbers of small cores. Examples of such “many-cores” are Graphics Processing Units and the Intel Xeon Phi, which are used by about 65% of the top 50 fastest supercomputers. Many-cores can give spectacular performance results, but their programming model is totally different from traditional CPUs. It currently takes an unacceptable amount of time for application programmers to obtain sufficient performance on these devices. The key problem is the lack of methodology to easily develop efficient many-core kernels.

We will therefore develop a programming methodology and compiler ecosystem that guide application developers to effectively write efficient scientific programs for many-cores, starting with a methodology and compiler that we have developed recently. We will apply this methodology to two highly diverse applications for which performance currently is key: Bioinformatics and Natural Language Processing (NLP).

We will extend our compiler ecosystem to address the applications’ requirements in three directions: kernel fusion, distributed execution, and generation of human-readable target code. The project should provide applications and eScientists with a sound methodology and the relevant understanding to enable practical use of these game-changing many-cores, boosting the performance of current and future programs.

Participating organisations

Netherlands eScience Center
Vrije Universiteit Amsterdam

Team

Contact person

Stijn Heldens

Stijn Heldens

Netherlands eScience Center
Mail Stijn
AS
Alessio Sclocco
eScience Research Engineer
Netherlands eScience Center
Ben van Werkhoven
Ben van Werkhoven
Senior eScience Research Engineer
Netherlands eScience Center
HB
Henri Bal
Principal investigator
Vrije Universiteit Amsterdam
Stijn Heldens
Stijn Heldens
PhD student
Netherlands eScience Center

Related projects

CHEOPS

Verified construction of correct and optimised parallel software

Updated 2 months ago
Running

Enhance Your Research Alliance (EYRA) Benchmark Platform

Supporting researchers to easily set-up benchmarks

Updated 2 months ago
Finished

SecConNet Smart

Smart, secure container networks for trusted big data sharing

Updated 1 week ago
Finished

PROCESS

Providing computing solutions for exascale challenges

Updated 2 months ago
Finished

Related tools

Kernel Tuner

KE

Kernel Tuner greatly simplifies the development of highly-optimized and auto-tuned CUDA, OpenCL, and C code, supporting many advanced use-cases and optimization strategies that speed up the auto-tuning process.

Updated 3 weeks ago
30 mentions, 13 contributors

Rocket

RO

Rocket is a framework for efficient execution of all-pair applications on heterogeneous platforms.

Updated 2 months ago
1 contributor

Xenon

XE

If you are using remote machines to do your computations, and don’t feel like learning and implementing many different APIs, Xenon is the tool for you.

Updated 2 weeks ago
13 mentions, 11 contributors