Job: GPGPU Real-Time Big Data Scientist

ASTRON, the Netherlands eScience Center, and the University of Amsterdam have started ALERT, the Apertif Lofar Exploration of the Radio Transient Sky. ALERT aims to identify the highly compact astrophysical explosions powering Fast Radio Bursts (FRBs). To accomplish this challenging goal, we recently built a dedicated GPU supercomputer of world Top 100 class. It reduces, in real-time, the staggering data rate of 4 Tbps. That is more than the entire internet in The Netherlands. Are you interested in the challenge to wrangle more data than an entire country?

Do you want to work at an international scientific institute that combines world-leading research in radio astronomy, with state-of-the art observational and supercomputing facilities, all in a single stimulating work enviroment? Would you like to be part of a dynamic team mixing astronomers, software developers, computer scientists and hardware engineers? If this description sounds interesting, we have an immediate opening for a Real-Time Big Data Scientist

Job description

You will become part of the ALERT team, based at ASTRON and The University of Amsterdam. We consist of 4 PhD students, 4 post-docs, 3 firmware engineers, 2 eScience research engineers, and a dozen instrumentation and astronomy staff members, led by Dr Joeri van Leeuwen. We work in close collaboration with the Netherlands eScience Center.

In this team, you will help set up the acceleration and/or access to the ALERT survey. For the Acceleration side, you could lead the effort to implement and further develop GPU-accelerated pulsar periodicity searches. On the Access side, you would establish the system that interfaces the real-time results from our survey to the outside world, through active alerts, and through public access to all survey data.

Specific tasks will include deployment and optimization of existing open-source code for GPU astronomy to the ALERT supercomputer; developing new software for the ALERT telescope data rate, which is almost unparalleled in the world; and/or setting up the high-level survey scheduling software required to run this multi-year program. This work will be done in close collaboration with a dedicated team of IT specialists, developers, computer scientists and astronomers.

Job requirements:

 

  • A PhD in astronomy or astrophysics, or an MSc degree in computer science (or related technical discipline)
  • Solid Python, C and/or C++ skills; experience with CUDA or OpenCL is a plus
  • Familiarity with parallel and distributed computing (clusters, Grid, cloud, etc.) or
  • Experience with radio astronomy and/or instrumentation, and publishing results.
  • Good planning and organizational skills
  • Good communications skills in English, and a team player

The offer

  • An initial contract for two years, plus a one-year extension given good performance
  • A position with instrumentation leadership potential, in a cutting-edge astronomy survey
  • Time and support for the pursuit of own, independent research in astronomy or computer science
  • The opportunity to co-supervise PhD students
  • A pleasant and challenging work environment, plus a generous package of benefits including collective health insurance, pension accrual, and several weeks of annual paid vacation.
  • Flexible conditions of employment, tailored to your personal situation
  • Generous relocation expenses and support with finding accommodation

 

The organization

ASTRON, the Netherlands Institute for Radio Astronomy, is located just outside Dwingeloo in Drenthe. Its mission is to make discoveries in radio astronomy happen via the development of novel and innovative technologies, the operation of world-class radio astronomy facilities, and the pursuit of fundamental astronomical research. ASTRON hosts a vibrant research environment with strong technical expertise and influence in the new generation of emerging radio facilities. ASTRON currently develops and operates LOFAR, a new generation low-frequency multi- field aperture array telescope. ASTRON also operates the Westerbork Synthesis Radio Telescope (WSRT) and is developing Apertif (APERture Tile in Focus), a phased array feed upgrade currently being commissioned at the WSRT that will significantly expand its field of view and enable ALERT, the new, deep pulsar/FRB survey of the northern hemisphere. As the NL national radio astronomy institute, ASTRON also plays a leading role in several of the consortia contributing to the scientific and technical design of the SKA. ASTRON also currently hosts JIVE, the Joint Institute for VLBI ERIC.

ALERT is funded by grants from the ERC, NWO, the Netherlands Research School for Astronomy (NOVA) and the Netherlands eScience Center (NLeSC). Both ASTRON and the University of Amsterdam are world-class institutes with many top-rated groups in related fields of astrophysics, such as radio and x-ray pulsar timing, gravitational-wave detection, and high-energy astrophysics. NLeSC is the Dutch national hub for the development and application of domain overarching software and methods for the scientific community. Its core expertise covers the fields of optimized data handling, efficient computing and big-data analytics.

Information

For more information about ASTRON look on our website www.astron.nl and www.jobsatastron.nl. More information about this vacancy please contact Erika Timmerman, phone: +31 521 595 100 or e-mail: personnel@astron.nl<mailto:personnel@astron.nl>. For more information on the content of this vacancy, please contact Dr. Joeri van Leeuwen, ALERT PI, e-mail: leeuwen@astron.nl

Reactions

You can apply directly for this job (reference number 2017-07-044, title “Radio Astronomy Postdoc / Software Engineer”) via our website www.jobsatastron.nl. Applications should include a curriculum vitae and, for astronomers, a description of research interests. Please also arrange for three letters of reference to be sent to personnel@astron.nl. The deadline for submission is 5 January 2018. Applications will be considered until the position is filled. Internal and external recruiting will be executed in parallel.

C to C++ kernel porting guidelines

This document is a set of guidelines for developers who know OpenCL C and plan to port their kernels to OpenCL C++, and therefore they need to know the main differences between those two kernel languages. The focus is not on highlighting all the differences, but rather on exposing and explaining those that are the most important, and those that may cause hard-to-detect bugs when porting from OpenCL C to OpenCL C++.

This text was initially published at https://github.com/OpenCL/OpenCLCXXPortingGuidelines/blob/master/OpenCLCToOpenCLCppPortingGuidelines.md

Comments, suggestions for improvements, and contributions are most welcome. Continue reading “C to C++ kernel porting guidelines”

What do the online media say about the new OpenCL 2.2 and SPIR-V 1.2?

You’ve seen the news everywhere. OpenCL 2.2 and SPIR-V are out there! See below what the online media had to say about it.

PC Perspective | Khronos Group Published Finalized OpenCL 2.2 & SPIR-V 1.2

“Aligning with the start of the International Workshop on OpenCL (IWOCL) 2017 in Toronto, Ontario, Canada, The Khronos Group has published the finalized specification for OpenCL 2.2 and SPIR-V 1.2.”

Phoronix | Khronos Unveils OpenCL 2.2, SPIR-V 1.2, OpenCL CTS Open-Sourced

“There are some exciting Khronos announcements this morning, including more open-source greatness!

First up, Khronos has officially released OpenCL 2.2. OpenCL 2.2 is firmed up and ready to go for your cross-vendor, GPGPU computing needs.”

Tom’s Hardware | Khronos Group Finalizes OpenCL 2.2 Specs, Releases Source On GitHub

“The Khronos Group finalized the specifications for the OpenCL 2.2 standard that allows developers to handle compute-heavy tasks by leveraging a system’s CPU and GPU together.”

Gamedev | Khronos Releases OpenCL 2.2 with SPIR-V 1.2

“The Khronos™ Group announced the immediate availability of the finalized OpenCL™ 2.2 specification, incorporating industry feedback received from developers during the provisional specification review period.”

Embedded Vision | Khronos Releases OpenCL 2.2 With SPIR-V 1.2

“OpenCL 2.2 brings the most developer-requested feature into core — the new OpenCL C++ kernel language for significantly enhanced parallel programming productivity.”

Stream | Khronos Releases OpenCL 2.2 With SPIR-V 1.2

“A static subset of the C++14 standard as a kernel language. The OpenCL C++ kernel language includes classes, templates, lambda expressions, function overloads and many other constructs to increase parallel programming productivity through generic and meta-programming.”

Geeks3D Forums | OpenCL 2.2 + SPIR-V 1.2 Specifications Released

“The conformance tests for OpenCL versions 1.2, 2.0 and 2.1 have also been released on GitHub with more open-source releases to follow.”

What do you think about the release? Share in the comments.

The GEGL-OpenCL has been restarted today!

With StreamHPC’s Anton porting 4 kernels to OpenCL we’ve restarted the GEGL porting project! Only 64 filters to go.

We’re happy this initiative has been restarted, as it did not get off the ground last year. Biggest change is that it’s now fully a community project and labeled “OpenCL.org’s GEGL Port”

We’ll be doing our best to celebrate the work of each individual member by naming all contributors on the project page.

Follow the examples

The project’s README.md gives an overview on how to get started, but does not show how to do the OpenCL-part.

The four ported filters are noise-hsv, gaussian-blur-selective, motion-blur-circular,  and diffraction-patterns. These are meant as examples on how to do port to OpenCL. Here are the commits, so you see what changed:

Let’s do your own port

Have you read the project’s README.md and understood from the above examples how to do such port? Let’s get started then.

All to-be-ported filters are on the issue-list. If you want to keep it easy at start, you can first choose to pick or a simple example or one that is similar to the above examples. There is always help on the Slack-chat! Also when you’re new to this Github-thing.

After you did a port yourself, submitted it on Github and got an accepted PR, then you can add your name to the list of contributors together with the filter(s) you ported. Then it’s just time for GEGL-maintainers to do their own tests and merge with the main repository.

Modern OpenCL is for all languages

We started with a setup of a list with wrappers, libraries and frameworks.  This is how I presented it first in the beginning of 2013, but it does not align with modern OpenCL anymore.

Modern OpenCL is not just for C, but with SPIRV as its building block, it is for all languages. The new “coding” menu is therefore focused on languages from now on. We start with Julia and C++, adding more by request.

Hello world!

It’s 12 April. This website has now officially been launched! We hope you like what is offered and help the community improve the most important problems of OpenCL:

  • Lack of convenience code, resulting in many, many wrappers and libraries that are incompatible with each other.
  • Lack of projects to practise OpenCL.
  • Lack of overview on what’s available, like tools, boards and drivers.

This website has several sections. Most contain information taken from the StreamComputing website and therefore could be familiar for who still knows that website’s developer-section. If you encounter an empty page, it will be added over the coming time.

One section I’d like to discuss specifically, as it is very important for what this website stands for.

Projects

The most important part of this website are the projects.

One of the projects is OpenCL.org website itself.  Each page is editable on Github, so you can send your pull request to make changes. The other projects are alike. As of today we have the GEGL porting project (restart) and the developer manual. There is more to come – watch the social media channels as mentioned at the end of this post.

Porting GEGL to OpenCL we started before, but while it was a community effort, StreamComputing got the credits. Now it will be the actual developers who get the credits.

The Developer Manual now is equal to the OpenCL specifications, but in about a year will be a practical place to learn how OpenCL functions can be used.

Donations

Do you want your project to be part of OpenCL.org? Just like StreamComputing you can donate material (text and code) to the community. You will be mentioned as beneficiary.

If you’d like to financially support this initiative, get in contact with StreamComputing – email and phone are further below.

What’s coming up?

In the beginning we (StreamComputing) will mostly steer where it is going to prevent anarchy. If you want us to hear your say,  get in contact on LinkedIn, Twitter or Github.

I’m personally very happy that this finally happens and I’m looking forward for a fruitful period of an organised OpenCL community.

Kind regards,

Vincent Hindriksen