Overslaan en naar de inhoud gaan

ASML

19000 werknemers

Graduation assignment: Develop a FPGA interface for the ASML Numerical Library

Deadline: 31-05-2019 12:00:00

Introduction
This is a graduation assignment for a master's student with a background in software engineering who is interested in further developing a numerical library used to optimize execution of software within ASML.

Job Mission
The software executed on ASML lithography scanners requires solving systems of linear equations, linear least squares problems and performing a number of related computational tasks. In order to optimize each execution, several components are using a common library known as the Numerical Library. This library is crucial because it takes care of the memory allocation and error handling and then it makes use of the well-known BLAS/LAPACK routines. Nowadays, many of the BLAS/LAPACK routines, can be deployed in an accelerator (in other words, an FPGA or a GPU board) This deployment will be selectable from the Numerical Library.

Job Description
The Numerical Library, needs to deploy calculations in the FPGA and/or into the GPU (when available)  through the NL API. The API acts further as a wrapper around the BAS/LAPACK routines which are, actually, running on the accelerator Its main purpose is to prepare the data and transfer (through PCI-e) to/from the accelerator. The assignment refers to:

1. Get familiar with the NL structure and ASML software WoW;
2. Continue the work on the API development;
3. Run specific tests to check the results;
4. Investigate the time spent during data transfer;
5. Write thesis report. 

The tasks are presented sequentially but will be developed in an agile/iterative way.  

Education
You are a master’s student with a background in Software engineering. You must know how to develop FPGA code or OpenCL/CUDA lik e library, preferably have experience with SoC FPGA’s, (basic) Linux knowledge. You preferably have (some) experience with programming an embedded system (e.g. Arduino, Raspberry Pi) in  C/C++. It is a pre if you have some performance testing experience.  
You have good analytical skills and are driven to produce a new solution to the highest quality standards.

This is a graduation assignment with a duration of 6 months, starting as soon as 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 from anyone. We love what they 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 7000 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?