[CLOSED] Vacancy for a PhD in efficient deep learning

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. … Continue reading “[CLOSED] Vacancy for a PhD in efficient deep learning”

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 positions (mostly PhD students), who will work together with a variety of companies.

Within EDL, project P1: Deep Learning as a Service studies how to develop a service for EDL that makes the application of Deep Learning algorithms less cumbersome. From a scientific point of view, this project is a collaboration between Vrije Universiteit (VU), the University of Amsterdam (UvA), TU Eindhoven, and the Netherlands eScience Center (NLeSC). The techniques that will be developed in this project will be applied in various case studies at companies. The companies participating in P1 are: ING Bank NV, Semiotics Labs, Schiphol, Océ, SURFsara, and Mobiquity Inc.

Henri Bal and I are specifically looking for a PhD student to Study regime transitions and anomaly detection in the financial sector, including smart maintenance of ICT infrastructure and trading  & risk in financial markets.

You will work at VU, UvA, and ING bank.

Requirements
Candidates should have a MSc degree in Computer Science, Artificial Intelligence, Computational Science or closely related area and should be able to work well in teams. Candidates ideally have expertise in both High Performance Computing and Machine Learning/Deep Learning, but PhD-level courses are available if one such expertise is missing.
Successful candidates are expected to write scientific papers for international peer-reviewed journals, present his/her work in international conferences, and finalize the work in a PhD thesis.
The responsibilities of a PhD also include giving a limited amount of teaching.

Further particulars
The initial appointment will be for a period of 1 year. After a satisfactory evaluation of the initial appointment this will be extended for a total duration of 4 years. You may find information about our excellent fringe benefits at www.workingatvu.nl.

• Remuneration of 8.3% end-of-year bonus and 8% holiday allowance;
• participation in a solid pension scheme (ABP);
• a minimum of 29 holidays in case of full-time employment.

Salary
The salary will be in accordance with university regulations for academic personnel, and range from a minimum of € 2,222 gross per month in the first year up to a maximum of € 2,840 gross per month (salary scale 85.0-3) based on a full-time employment.

Application
Applicants are requested to write a letter in which they describe their abilities and motivation, accompanied by a curriculum vitae and two or three references (names and e-mail addresses).
Applications should be sent by email to informatica.secretariaat.few@vu.nl before 24 May 2018. Please mention the vacancy number in the e-mail header.

Information
For more information see:

https://www.vu.nl/nl/werken-bij-de-vu/vacatures/2018/18180ThreePhDpositionsInEfficientDeepLearning.aspx

For additional information please contact me at R.vanNieuwpoort@esciencecenter.nl

Note that there are other PhD positions available as well.

Any other correspondence in response to this advertisement will not be dealt with.

[FILLED] Vacancy for a PhD in reliable exascale computing

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 … Continue reading “[FILLED] Vacancy for a PhD in reliable exascale computing”

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-scale big data analysis and computation possible across multiple scientific disciplines in order to achieve scientific breakthroughs. In this way, we create an effective bridge between scientific research and state-of-the-art digital technologies.

We are looking for an enthusiastic:

PhD student

The position:

The candidate will work in the European funded project PROCESS. The goal is to narrow the gap between user communities and digital infrastructure. The research is driven by 5 concrete scientific and industrial use-cases ranging from astronomy to medical imaging and Big Data analysis for airlines. The PhD candidate will work on defining and developing reliable and scalable techniques for exascale computing.

The candidate is expected to publish his/her results in peer reviewed conferences and journals, which will form the basis of a PhD thesis to be obtained from the University of Amsterdam (promotor Rob van Nieuwpoort, co-promotor Jason Maassen). The candidate will be based at the Netherlands eScience Center in Amsterdam, but is expected to work at least one day a week at the University of Amsterdam.

We require:

  • Academic level;
  • Finished master degree in computer science or equivalent study;
  • Prior expertise in one or more of the following fields: high-performance computing, parallel and distributed programming, Big Data, scientific data processing;
  • Strong programming skills in C, C++, Java, Python;
  • Fluency in oral and written English is required as well as good presentation skills;
  • Capable of working in an interdisciplinary team of researchers and industrial partners.

Working conditions:

We offer a temporary position at the eScience Center for a fixed period of 4 years within the collective agreement for Dutch Research Institutes. The salary is based on the salary scales in the cao-OI, starting at € 2.246,- in the first year and growing to € 2.879,- in the fourth year of employment, with a 38-hour working week. Holiday pay amounts to 8% of gross salary and we also offer a 13th month of salary as an end-of-year payment.

Information:

The eScience Center offers an interesting and challenging position with (additional) options for personal development. You will work in an international team with an informal but creative and ambitious working environment. The main location is Amsterdam (Science Park). Due to the international nature of this project, travelling (mostly within Europe) is expected. The eScience Center has an active diversity policy and would like to hire persons with a background that is underrepresented at the eScience Center. We therefore encourage women and minorities to apply. For more information about this opportunity you can contact Rob van Nieuwpoort, director of technology of the Netherlands eScience Center, by emailing R.vanNieuwpoort@esciencecenter.nl, or by calling +31(0)20 460 4770. Please send your resume and application letter at the latest on January 5th 2018 to vacancy@esciencecenter.nl. Additional information may also be found at www.esciencecenter.nl.

Master project: Auto-tuning for GPU pipelines and fused kernels

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 … Continue reading “Master project: Auto-tuning for GPU pipelines and fused kernels”

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 isolation may not be the best strategy for all scenarios.

Imagine having a pipeline that is composed by a certain number of computational kernels. You can tune each of these kernels in isolation, and find the optimal configuration for each of them. Then you can use these configurations in the pipeline, and achieve some level of performance. But these kernels may depend on each other, and may also influence each other. What if the choice of a certain memory layout for one kernel causes performance degradation on another kernel?

One of the existing optimization strategies to deal with pipelines is to fuse kernels together, to simplify execution patterns and decrease overhead. In this project we aim to measure the performance of accelerated pipelines in three different tuning scenarios: (1) tuning each component in isolation, (2) tuning the pipeline as a whole, and (3) tuning the fused kernel. Measuring the performance of one or more pipelines in these scenarios we hope to, on one level, being able to determine which is the best strategy for the specific pipelines on different hardware platform, and on another level we hope to better understand which are the characteristics that influence this behavior.

Master project: Speeding up next generation sequencing of potatoes

Genotype and single nucleotide polymorphism calling (SNP) is a technique to find bases in next-generation sequencing data that differ from a reference genome. This technique is commonly used in (plant) genetic research. However, most algorithms focus on allowing calling in diploid heterozygous organisms (specifically human) only. Within the realm of plant breeding, many species are … Continue reading “Master project: Speeding up next generation sequencing of potatoes”

Genotype and single nucleotide polymorphism calling (SNP) is a technique to find bases in next-generation sequencing data that differ from a reference genome. This technique is commonly used in (plant) genetic research. However, most algorithms focus on allowing calling in diploid heterozygous organisms (specifically human) only. Within the realm of plant breeding, many species are of polyploid nature (e.g. potato with 4 copies, wheat with 6 copies and strawberry with eight copies). For genotype and SNP calling in these organisms, only a few algorithms exist, such as freebayes (https://github.com/ekg/freebayes). However, with the increasing amount of next generation sequencing data being generated, we are noticing limits to the scalability of this methodology, both in compute time and memory consumption (>100Gb).

 

We are looking for a student with a background in computer science, who will perform the following tasks:

  • Examine the current implementation of the freebayes algorithm
  • Identify bottlenecks in memory consumption and compute performance
  • Come up with an improved strategy to reduce memory consumption of the freebayes algorithm
  • Come up with an improved strategy to execute this algorithm on a cluster with multiple CPU’s or on GPU/s (using the memory of multiple compute nodes)
  • Implement an improved version of freebayes, according to the guidelines established above
  • Test the improved algorithm on real datasets of potato.

 

This is a challenging master thesis project on an important food crop (potato) on a problem which is relevant for both science and industry. As part of the thesis, you will be given the opportunity to present your progress/results to relevant industrial partners for the Dutch breeding industry.

Occasional traveling to Wageningen will be required.

Master project: Topic Models of large document collections

Humanities researchers and literary scholars commonly struggle to make sense of, and extract information from patterns in large document collections. Computational techniques for finding similarities between documents in such collections continue to be developed and are invaluable in understanding these collections as single entities. Topic modelling is a text processing tool widely used to identify … Continue reading “Master project: Topic Models of large document collections”

Humanities researchers and literary scholars commonly struggle to make sense of, and extract information from patterns in large document collections. Computational techniques for finding similarities between documents in such collections continue to be developed and are invaluable in understanding these collections as single entities.

Topic modelling is a text processing tool widely used to identify structure in document collections. It has been successfully used for a wide range of applications. However, it suffers from several weaknesses which make it difficult to use and may lead to unreliable results: It is dependent on preprocessing for removal of stop-words and other text features: this is a common first step on many NLP applications; results produced are highly dependent on the quality of the selection at this stage:

  • The number of topics typically needs to be determined a priori: ideally the number of topics could be inferred from the data itself.
  • Interpretation of resulting topics is difficult: topics are normally represented by a set of most representative words for the topic, but these words do not relate directly to human experience.
  • Visualization of produced topics is not intuitive: the optimal way of visualizing topics is current area of active research.
  • Incorporating additional dimensions to a model (e.g. evolution of topics over time) is a feature which is not easily incorporated.
  • Topic models scale poorly for large document collections: this is mainly due to the computational complexity of the algorithm.

There have been various efforts to overcome such limitations with varying degrees of success.

However solutions to these issues are not yet common practice and require additional knowledge and effort in order to take full advantage of them.

The aim of this project is to develop topic modelling tools which can help humanities researchers and literary scholars to make sense of large document collections without requiring extensive expertise in tuning model parameters.

 

Master project: Auto-Tuning for power efficiency

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 … Continue reading “Master project: Auto-Tuning for power efficiency”

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 algorithms, granularity, convergence heuristics, etc) or platform parameters (number of parallel threads used, compiler flags, etc).

For this project, we apply auto-tuning on GPUs. We have several GPU applications where the absolute performance is not the most important bottleneck for the application in the real world. Instead the power dissipation of the total system is critical. This can be due to the enormous scale of the application, or because the application must run in an embedded device. An example of the first is the Square Kilometre Array, a large radio telescope that currently is under construction. With current technology, it will need more power than all of the Netherlands combined. In embedded systems, power usage can be critical as well. For instance, we have GPU codes that make images for radar systems in drones. The weight and power limitations are an important bottleneck (batteries are heavy).

In this project, we use power dissipation as the evaluation function for the auto-tuning system. Earlier work by others investigated this, but only for a single compute-bound application. However, many realistic applications are memory-bound. This is a problem, because loading a value from the L1 cache can already take 7-15x more energy than an instruction that only performs a computation (e.g., multiply).

There also are interesting platform parameters than can be changed in this context. It is possible to change both core and memory clock frequencies, for instance. It will be interesting to if we can at runtime, achieve the optimal balance between these frequencies.

We want to perform auto-tuning on a set of GPU benchmark applications that we developed.

Master project: Fast data serialization and networking for Apache Spark

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 … Continue reading “Master project: Fast data serialization and networking for Apache Spark”

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 (www.cs.vu.nl/ibis), we have developed an alternative serialization mechanism for high-performance computing applications that relies on compile-time code generation and zero-copy networking for increased performance. Performance of JVM serialization can also be compared with benchmarks: https://github.com/eishay/jvm-serializers/wiki. However, we also want to evaluate if we can increase Spark performance at the application level by using out improved object serialization system. In addition, our Ibis implementation can use fast local networks such as Infiniband transparently. We also want to investigate if using specialized networks increases application performance. Therefore, this project involves extending Spark with our serialization and networking methods (based on existing libraries), and on analyzing the performance of several real-world Spark applications.

Master project: Applying and generalizing data locality abstractions for parallel programs

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 … Continue reading “Master project: Applying and generalizing data locality abstractions for parallel programs”

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 programming model.

This projects aims to achieve several things and answer several research questions:

  • TIDA currently only works with up to 3D. In many applications we have, higher dimensionalities are needed. Can we generalize the model to N dimensions?
  • The model currently only supports a two-level hierarchy of data locality. However, modern memory systems often have many more levels, both on CPUs and GPUs (e.g., L1, L2 and L3 cache, main memory, memory banks coupled to a different core, etc). Can we generalize the model to support N-level memory hierarchies?
  • The current implementation only works on CPUs, can we generalize to GPUs as well?
  • Given the above generalizations, can we still implement the model efficiently? How should we perform the mapping from the abstract hierarchical model to a real physical memory system?

We want to test the new extended model on a real application. We have examples available in many domains. The student can pick one that is of interest to her/him.

First Light! … Again! Shiny new receivers for the Westerbork telescope.

Great news! The new and improved Westerbork telescope in the northeast of the Netherlands has seen first light! If you are into radio astronomy, or if you have visited the second world war nazi camp and monument at Westerbork, you may be familiar with this instrument, which was built in 1970. The telescope is situated … Continue reading “First Light! … Again! Shiny new receivers for the Westerbork telescope.”

Great news! The new and improved Westerbork telescope in the northeast of the Netherlands has seen first light! If you are into radio astronomy, or if you have visited the second world war nazi camp and monument at Westerbork, you may be familiar with this instrument, which was built in 1970. The telescope is situated right next to the former transit camp. During the Second World War, Romani and Dutch Jews were assembled there, for transport to other Nazi concentration camps. The famous Anne Frank (from the diary) was kept here for a while.

A rebuilt barrack at Dutch Nazi camp Westerbork. Anne Frank stayed in this barrack from August till early September 1944, before she was taken to Auschwitz and then Bergen-Belsen. Picture from Wikipedia, courtesy Blacknight.

Today, you can visit the remains of the camp, which now is a monument. From the site, you can see the telescope, or actually telescopes, because the instrument consists of 14 separate dishes, 25 meters in diameter each. The total distance between the dishes is 2.7 kilometers, or 1.7 miles if you insist on using archaic units. The telescope actually is pretty old already. In fact, it is older than I am (I was built in ‘75). Nevertheless, this instrument has helped doing great science, and has led to many remarkable discoveries.

The Westerbork synthesis radio telescope. And typical Dutch weather 🙂 Picture made by me on a day the telescope was open for the public. Normally, cars are not allowed here, because they cause interference.

Of course, technology does not stand still, and modern, more sensitive instruments were developed and built during the four decades (!) that this telescope has been operational. So, the beast was becoming a bit old and grumpy. Not to worry! We are Dutch, and don’t like to waste anything (some say we are cheapskates). So, recently, the receivers that are in the focal points of the dishes were upgraded with brand new ones. Originally, each dish contained only a single sensor, basically producing a single pixel. The new receiver, called APERTIF, actually is an array of sensors, called a Focal Plane Array (FPA). Compare it to a modern sensor in a camera, which produces several megapixels at once. So, this gives us more sensitivity, but especially a much larger window on the sky. We can see more at the same time. This is important if you want to make a survey, searching for objects that you don’t know yet, or which appear suddenly (like supernovae, pulsars, or signals from little green men).

Focal Plane arrays rock! Picture courtesy ASTRON.

So, why am I blogging about this? Well because it is cool, duh! And, because we at the Netherlands eScience Center develop software to process the data generated by this instrument. To be more precise, we are working on ARTS, the APERTIF radio transient system. We will, for instance, observe pulsars: neutron stars that are spinning quickly, emitting a beam like a light house. For some pulsars, the time between pulses is so constant that they are even more precise than an atomic clock! Pulsars are important for many reasons. One of them is that we hope to use them to detect gravitational waves, learning more about how the universe works.
It is a privilege for us to write software that will help make these scientific discoveries happen! At the same time, it is a strange but beautiful thing that a site where so many bad things happened to so many people in the past now is one of the pinnacles of science.