Research Positions

Overview

We are engaged in the design and development of parallel programming models that will make it possible for Computational Science and Big Data applications to execute on the fastest machines on the planet. We are looking for enthusiastic Computer Science and Applied Mathematics graduate students to join our research team and help create productive programming environments that will be deployed on future large computing systems.

The successful candidates will perform research within one or more funded research projects related to the development and use of novel parallel programming models in the Institute for Advanced Computational Science as members of Prof. Barbara Chapman’s research group.

How To Apply

Please email a letter of intent, including your résumé/CV, to Dr. Barbara Chapman (barbara.chapman at stonybrook.edu).


Graduate Student Position For “Ookami” ARM-based High Performance Computing Cluster

In 2020 SBU will install a High Performance Computing cluster (“Ookami”) based on the innovative Fujitsu ARM A64fx processor. There is an opportunity for a PhD student with a background and interest in computer- or computational science to pursue studies related to parallel programming models and environments for this new platform.

There is a variety of possible topics of study including the extensive vector support (SVE) in the processor; the interconnect for distributed programming; and enhancing the software stack to understand these hardware features, e.g. the behavior of loops and SIMD parallelism in OpenMP programs taking advantage of SVE.

The successful applicant will be expected to interact with local researchers and application developers in order to develop best programming practices for Ookami.

On-the-job training in these technologies, and in instruction, will be provided.

Start date: January, 2020

Graduate Student Position For Compilers for Machine Learning

Machine learning (ML), especially deep learning, is being deployed on increasingly large data sets. It is also being exploited in scenarios that require high performance. This has led to algorithmic innovation, including the incorporation of domain knowledge, as well as new implementation strategies, including several recent efforts to develop compilers for the translation of ML models. Our work in the DoD-funded “Center for Research and Education for Big Military Data Intelligence” (CREDIT) project explores the use of compilers to enhance the performance and scale of ML approaches, as well as to increase their interoperability with scientific computations.

The successful applicant will develop a “whole problem” translation to code that uses portable OpenMP directives to exploit available hardware. This person will also address runtime challenges, including the allocation of resources to different components of the parallel implementation

Start date: January, 2020

Graduate Student Position For Compiler-assisted Fault-Tolerance for Parallel Systems

Many of today’s compute clusters are large systems consisting of hundreds to thousands of compute nodes. Since nodes may fail while a job is still active, programs must be designed so that they are able to continue despite the occurrence of faults. In the NSF-funded “Cross-layer Application-Aware Resilience at Extreme Scale” (CAARES) project, we are developing resilience mechanisms and techniques for parallel applications that rely on the partitioned global address space (PGAS) programming library OpenSHMEM to map computations across the different nodes of a cluster. Our work relies upon the LLVM compiler infrastructure, which enables us to perform static correctness checks and safely insert calls to checkpointing libraries and other resilience techniques.

The successful applicant will build on top of our initial efforts to facilitate the development of resilient OpenSHMEM applications by creating a portable LLVM infrastructure for checkpointing.

Start date: January, 2020


General Qualifications

  • Current graduate student in Computer Science or Applied Mathematics, M.Sc. or Ph.D. level.

Responsibilities

  • Perform research to help in the design and development of new language features, compiler and runtime optimizations, benchmarks and applications
  • Development of publications, presentations, tutorials and other outreach

Preferred Skills

  • One or more of: C, C++, Fortran, Big Data programming paradigms
  • Understanding of parallel programming basics
  • Understanding of compilers
  • Understanding of big data analytics basics
  • Fluency in Linux environments
  • Good writing skills