A Jungle Computing Approach to Large-Scale Online Forensic Analysis
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.
Kernel Tuner simplifies the development of efficient GPU programs, or kernels. It does so by making kernels written in C/C++, OpenCL, or CUDA accessible from Python, while taking care of the required synchronization between data kept in host memory and data kept in device memory.
This has a number of advantages. First, it simplifies auto-tuning of the kernel parameters. In fact, Kernel Tuner comes standard with a variety of strategies for efficiently searching the parameter space, leading to greatly improved performance of tuned kernels. Second, it allows for unit testing of GPU code from within Python.
Kernel Tuner does not add any additional dependencies to the kernel code, and does not require extensive code changes. Furthermore, it is noteworthy that kernels tuned by Kernel Tuner do not require any changes after tuning to make them production ready--tuned kernels can be used as-is from any host programming language.
November 25, 2021
April 12, 2018
With Kernel Tuner, we were able to accelerate our CUDA kernels by a factor of 10 in just a few weeks
Programming tools that simplify application development and deployment
The country below sea level
Studying subcellular structures and functions
Observing processes that are inaccessible to optical telescopes
Distributed radio astronomical computing
Boosting the performance of current and future programs
For future exascale climate and weather predictions