30+ days ago - req15800

Computer Science Internship: off-loading a MATLAB algorithm to GPU for performance enhancing

Computer science & software engineering

In a nutshell


Veldhoven, Netherlands


No experience (Student)



Job Category

Computer science & software engineering


Are you a Master student in Computer Science with an interest in performance testing? Do you have experience with CUDA? Then this assignment is interesting for you.

Job Mission

The Metrology department at ASML develops algorithms that are driving most of the parts within lithography scanners.These algorithms are performing a number of heavy computational tasks, involving linear least squares problems, solving linear equations etc. To enhance the performance, we want to evaluate the off – load of these algorithms to GPU and explore the potential capabilities by fine – tuning specific parameters.

Job Description

The MATLAB Coder offers the possibility to generate C/C++ code which can be suitable to be deployed on a GPU. Linking to the CUDA library and benefitting from the heavily optimized numerical functions gives a huge potential to have faster numerical calculations. As it is known due to the different architecture (between CPU & GPU), use cases that are accelerated on GPU are not that fast on CPU (and vice versa). The project contains the following tasks:
1) Export a MATLAB model to GPU;
2) Measure CPU vs GPU performance;
3) Investigate the resources for data transferring;
4) Equivalence tests;
5) Potential optimizations;
6) Write thesis.


You are a Master student with a background in Computer Science or related. Experience with CUDA and C/C++ is required. You preferably have (some) experience with the Eclipse modelling framework (emf) and Python. Thereby, you have an interest in performance testing and you have good analytical skills and are driven to produce a new APIto the highest quality standards. The English language is required.

This is a Master graduation assignment with a duration of 6+ months for 4 days a week. The start date is in February 2021, however starting earlier is possible.

Please keep in mind that we can only consider students (who are enrolled at a school during the whole internship period) for our internships and graduation assignments.

Other information

What ASML offers
Your internship will be in one of the leading Dutch corporations, gaining valuable experience in a highly dynamic environment. You will receive a monthly internship allowance of 500 euro (maximum), plus a possible housing or travel allowance. In addition, you’ll get expert, practical guidance and the chance to work in and experience a dynamic, innovative team environment.

ASML: Be part of progress
We make machines that make chips – the hearts of the devices that keep us informed, entertained and safe; that improve our quality of life and help to tackle the world’s toughest problems.

We build some of the most amazing machines that you will ever see, and the software to run them. Never satisfied, we measure our performance in units that begin with pico or nano.

We believe we can always do better. We believe the winning idea can come from anyone. We love what we do – not because it’s easy, but because it’s hard.

Students: Getting ready for real-world R&D
Pushing technology further is teamwork, and our R&D team is more than 5,500 people strong, with major sites on three continents. Dozens of diverse, interdisciplinary teams work in parallel to meet a challenging development schedule.

In such an environment, your colleagues may be sitting next door, or they could be thousands of kilometers away in a different country, or even working for a different company.

An internship at ASML is your opportunity to get to know this world of industrial-strength R&D and get a feel for that excites you most. Will you design a part of the machine, or make sure it gets built to the tightest possible specifications? Will you write software that drives the system to its best performance, or work side-by-side with the engineers of our customers in a fab, optimizing a system to the requirements of the customer?

How will you be part of progress?