This position is funded by the new NWO-TTW program Efficient Deep Learning, which combines Dutch experts from the Machine Learning and the Computing communities. The position is shared between the University of Amsterdam and the Vrije Universiteit Amsterdam. Project The NWO-TTW program Efficient Deep Learning (EDL) combines Dutch experts from the Machine Learning and the Computing communities. The program starts mid 2018 and funds about 25 new research...More
The Netherlands eScience Center has a vacant PhD position on “reliable exascale computing”The Netherlands eScience Center supports and reinforces multidisciplinary, data and computational intensive research through creative and innovative use of digital technologies in all its manifestations. We stimulate enhanced Science (eScience) by focusing on collaboration with universities, research institutions and industry. We aim to change scientific practice by making large...
Achieving high performance on many-core accelerators is a complex task, even for experienced programmers. This task is made even more challenging by the fact that, to achieve high performance, code optimization is not enough, and auto-tuning is often necessary. The reason for this is that computational kernels running on many-core accelerators need ad-hoc configurations that are a function of kernel, input, and accelerator characteristics to achieve high performance. However, tuning kernels in i...More
Auto-tuning is a well-known optimization technique in computer science. It has been used to ease the manual optimization process that is traditionally performed by programmers, and to maximize the performance portability. Auto-tuning works by just executing the code that has to be tuned many times on a small problem set, with different tuning parameters. The best performing version is than subsequently used for the real problems. Tuning can be done with application-specific parameters (different...More
Apache Spark is a system for large-scale data processing used for Big Data applications business applications, but also in many scientific applications. Spark uses Java (or Scala) object serialization to transfer data over the network. Especially if data fits in memory, the performance of serialization is the most important bottleneck in Spark applications. Spark currently offers two mechanisms for serialization: Standard Java object serialization and Kryo serialization. In the Ibis project (...More
TIDA is a library for high-level programming of parallel applications, focusing on data locality. TIDA has been shown to work well for grid-based operations, like stencils and convolutions. These are in an important building block for many simulations in astrophysics, climate simulations and water management, for instance. The TIDA paper gives more details on the...More