Rob V. van Nieuwpoort

Picture of Rob             Vu

VU University Amsterdam

Dr. Rob V. van Nieuwpoort
Assistant professor
Faculty of Sciences
Dept. of Computer Science
Vrije Universiteit
De Boelelaan 1081
1081 HV Amsterdam
The Netherlands

Room: U4.21
Tel: (+31) (0)20 598 5849
Fax: (+31) (0)20 598 7653


Astron, the Netherlands Institute for
Radio Astronomy

Dr. Rob V. van Nieuwpoort
R&D division
Oude Hoogeveensedijk 4
7991 PD Dwingeloo
The Netherlands

Room: PW 14
Tel: (+31) (0)521595100
Fax: (+31) (0)521595101

I am assistant professor in the Computer Systems group at the Vrije Universiteit of Amsterdam. I also work as a researcher at Astron, the Netherlands foundation for radio astronomy. I currently perform multi-disciplinary research, on the boundaries of radio astronomy and computer science. At Astron, I work on the LOFAR telescope and the SKA, and on applying many-core technology to the field of radio astronomy.



If you are looking for an interesting masters project, please go here.

VU University Amsterdam selected as a CUDA Teaching Center

            CUDA Teaching Centers

I teach many-core programming in the computer science master program.
For now, the theory is a part of the parallel programming course.

Here are my slides:
class 1: Introduction, performance metrics & analysis.
class 2: Many-core hardware.
class 3: Cuda basics.
class 4: Advanced Cuda.
class 5: Many-core processing for the LOFAR telescope.

Also, we teach hands-on experience with CUDA and/or OpenCL in the parallel programming practical.

For ASCI PhD students, I teach the A24 course Architecture and Programming of Many-Core Processors.

I also co-organised the multi-core programming summerschool MultiMoore in cooperation with the University of Amsterdam.

At the IPA Lentedagen, I gave a presentation about LOFAR and many-core computing.

Get a masters degree in computer systems at the VU in our international top master program!

Video about PDCS masters in Amsterdam


All software we write is available as open source. I feel that this is our duty, as we are (partially) funded by public money.
  • Download example radio astronomy correlator code on different many-core platforms here.
    In zip format or tgz format.
  • Ibis 2.2 is available for download now. See the Ibis page.
  • Satin 2.1 is available for download now. See the Ibis page.
  • MPJ 2.2 (The Java MPI implementation) is available for download now. See the Ibis page.
  • JavaGAT 2.0.5 is available for download now. See the JavaGAT page.


My current research interests focus on developing radio astronomy algorithms on multi- and many-core architectures (such as the Cell processor and graphics processors from NVIDIA and ATI). For instance, I developed a software correlator on five different architectures with multiple cores. Per chip, the implementations on NVIDIA GPUs and the Cell are more than 20 times faster than the LOFAR production correlator on our IBM Blue Gene/P supercomputer. Also, the power efficiency of the many-core architectures is much better.

My research interests also include parallel programming with Java, in particular on distributed systems, such as grids, clouds and clusters. I am currently working on the Vl-e project. I am a member of the CoreGrid network of excellence. Previously, I worked on the GridLab project. In the GridLab project, I worked on adaptive grid middleware, such as Delphoi. This is an information system that can give information about the grid. It can also predict future information, such as anticipated network load.

I have developed the Java implementation of the Grid Application Toolkit (JavaGAT). The JavaGAT offers a set of coordinated, generic and flexible APIs for accessing grid services from application codes, portals, data managements systems. The JavaGAT sits between grid applications and numerous types of grid middleware, such as Globus, Unicore, SSH or Zorilla. JavaGAT lifts the burden of grid application programmers by providing them with a uniform interface that provides file access, job submission, monitoring, and access to information services. As a result, grid application programmers need only learn a single API to obtain access to the entire grid. Due to its modular design, the JavaGAT can easily be extended with support for other grid middleware layers. The JavaGAT is now standardized within the Open Grid Forum (OGF), and is now called SAGA (Simple Api for Grid Applications). The Java reference implementation for SAGA is built by our group, on top of the JavaGAT software.

Together with our group here at the VU, I designed and implemented Ibis. Ibis consists of a communication library for communication on the grid, and a set of high-level programming models that can be used to write parallel and distributed (grid) applications. These models include Satin (divide-and-conquer and master-worker), MPJ (Java's MPI specification), GMI (Group Method Invocation, an object-oriented MPI-like model), and a highly efficient RMI implementation that can be up to ten times faster than the standard implementation.

For my PhD I designed and developed Satin. Satin is one of the programming models of Ibis. With Satin, you can write divide-and-conquer programs in Java. These applications recursively divide a problem into smaller pieces. Next, the application can be deployed on an SMP, cluster or a grid. The programming model is extremely high-level: the programs are essentially sequential, they do not contain any communication code, and there is no concept of remote machines. Still, the programs work highly efficiently on a grid, and support transparent fault-tolerant and malleability.

Program Committees

Rob van Nieuwpoort /