Kernel Tuner
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.
Boosting the performance of current and future programs
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.
Consolidating and Future-proofing Kernel Tuner by developing Software Engineering Best Practices
Verified construction of correct and optimised parallel software
Supporting researchers to easily set-up benchmarks
Smart, secure container networks for trusted big data sharing
Providing computing solutions for exascale challenges
Programming tools that simplify application development and deployment
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.
Rocket is a framework for efficient execution of all-pair applications on heterogeneous platforms.
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.