Page 11/09/2017 11:06:18

Project 29: Taskification of Scalable Solvers

Suitable Majors

Applied Mathematics, Computer Science

Research Area

Algorithms and software for solvers for linear and nonlinear algebraic systems on large-scale hybrid systems (distributed memory between nodes and shared memory within a node)​

Internship Description

The intern will participate in the implementation and scalability testing of one or more solvers being developed in the ECRC for the Hierarchical Computations on Manycore Architectures (HiCMA) library. The target architectures include Intel Multicore, such as Shaheen nodes, and accelerators such as Intel Xeon Phi Knights Landing, and NVIDIA GPU, such as Pascal 100. The solvers of interest include nonlinear pre-conditioners for Newton methods and linear pre-conditioners of multigrid, multipole, or hierarchically low rank type.
This internship requires coding in C or C++ complemented by some tools to take advantage of the emerging hardware, such as CUDA for the GPUs or OpenMP for the manycore accelerators, and a dynamic runtime system, such as OmpSs or StarPU. The intern may learn most of these tools on the job, but should be comfortable in C or C++ and the Unix environment prior to starting on this project.


​​Familiarity with differential equations and linear algebra will help the intern understand the application and communicate effectively with other team members. Programming facility in C or C++ and familiarity with the Unix operating system. Experience with MPI, OpenMP, CUDA, and/or a dynamic runtime is a plus, but can be learned on the job. Applications come from differential equations and statistics, such as petroleum reservoir models or weather prediction. However, it is not necessary to have domain knowledge in such fields to succeed in the project. 


The outcome of the 8-week internship (not counting the Eid al Adha break) is expected to include a working code (which may start from an existing working code, which is extended to one or more programming environments), and a test harness to demonstrate the performance of the code on a contemporary computer system of interest to which KAUST has access on a model problem or a real application from PDEs, statistics, etc. It is expected that co-authorship of a paper should emerge from the summer effort. (Note: all codes developed under ECRC support are expected ultimately to be open-sourced and distributed through the HiCMA library.)

Other Comments

Internship dates: 23 June to 29 August​​


Computer, Electrical and Mathematical Sciences and Engineering

Faculty Name

David Keyes