[llvm-dev] Postdoc Positions - LLVM for High-Performance Computing

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 21 16:42:19 PST 2016


Hi everyone,

I'm happy to report that I have two open postdoctoral research positions 
at Argonne National Laboratory focusing on LLVM-based compiler 
technology for high-performance computing. US citizenship is *not* 
required. If you've received your Ph.D. within the past several years, 
or are in the process of completing your degree requirements, and would 
like to join a team working to prepare LLVM for the exascale era, I hope 
you'll apply to one or both of these positions:

401877: http://bit.ly/2i7mVLl - 401878: http://bit.ly/2hShmQz

We'll be working with teams from several other laboratories and 
universities, as well as the wider LLVM community, on topics ranging 
from GPU register allocation to high-level optimizations of loops and 
parallelism constructs. If you have any questions, please send me an 
e-mail (hfinkel at anl.gov).

** Requisition 401877 - Optimization and Autotuning for Supercomputing 
Compilers **

http://bit.ly/2i7mVLl

Position Description

This is an exciting opportunity to work on the future of compiler 
technology for high-performance computing (HPC) with a particular focus 
on supporting the world's largest supercomputers as we head toward 
exascale. Theextremelevels of parallelism available on these machines 
combined with their complex memory hierarchiescreateuniqueoptimization 
challenges. This research will exploreenhancementsto LLVM enabling 
better modeling and exploration of the complex space of potential 
optimizations in addition toenhancingLLVM's optimization capabilities. 
One focus of this work will be to enable more-effective autotuning by 
strengthening the two-way communication between the autotuner and the 
optimizer.

A passion forimprovingcompiler technology, a keen interest in 
high-performance computing hardware, anda desireto advance scientific 
computing, will be rewarded in this position.

Position Requirements


We expect you to have:

  * Minimum education and experience or equivalent combination:
  * Doctorate + 0 years.
  * Experience with compiler and toolchain development, including
    intermediate representations, machine-independent and
    machine-dependent optimizations, and code generation; experience
    with LLVM and Clang is preferred.
  * Significant experience with C++, includingthe use oftemplates.
  * Demonstrated knowledge of instruction sets and computer
    architectures, including pipeline structure and hazards, and cache
    and memory hierarchies.
  * Experience with assembly languages, preferably at least one of
    x86_64, PowerPC, and PTX.
  * Demonstratedadvanced knowledge ofhigh-level compiler optimizations;
    experience with polyhedral loop optimizations is preferred.
  * Advanced knowledge ofthe language semantics of one of the following:
    C, C++, Fortran.
  * Advanced knowledge ofmathematical-optimization techniques,
    especially derivative-free optimization.
  * Experience with machine learning, especially supervised learning.
  * Experience with high-performance computing and scientific code
    development.
  * Experience with code optimization andthe use ofprofiling and
    performance-monitoring tools and techniques.
  * Experience with Linux environments and Python.Good software
    debugging skills.

In addition,candidatesshould show:

  * Effective analytical andproblem-solvingskills
    tocontributetocreativesolutions to complex problems.
  * Good communications skills, both verbal and written.
  * Goodcollaborativeskills, including the ability to work wellwith
    otherlabs, universities, computing centers, and industry.



** Requisition 401878 - Parallelism, Memory, and Programming Models for 
Supercomputing Compilers **

http://bit.ly/2hShmQz

Position Description

This is an exciting opportunity to work on the future of compiler 
technology for high-performance computing (HPC) with a particular focus 
on supporting the world's largest supercomputers as we head toward 
exascale. Theextremelevels of parallelism available on these machines 
combined with their complex memory 
hierarchiescreateuniqueprogramming-model and optimization challenges. 
This research will exploreenhancementsto LLVM enabling the explicit 
representation and optimization of parallelism and hierarchical-memory 
constructs.Enhancementsto programming models, including OpenMP, will be 
prototyped as we learn how to best provide performance portability 
across a range of future computing architectures.

A passion forimprovingcompiler technology, a keen interest in 
high-performance computing hardware, anda desireto advance scientific 
computing, will be rewarded in this position.

Position Requirements

We expect you to have:

  * Experience with compiler and toolchain development, including
    intermediate representations, machine-independent and
    machine-dependent optimizations, and code generation; experience
    with LLVM and Clang is preferred.
  * Significant experience with C++, includingthe use oftemplates.
  * Demonstrated knowledge of instruction sets and computer
    architectures, including pipeline structure and hazards, and cache
    and memory hierarchies.
  * Experience with assembly languages, preferably at least one of
    x86_64, PowerPC, and PTX.
  * Demonstratedadvanced knowledge ofhigh-level compiler optimizations;
    experience with polyhedral loop optimizations is preferred.
  * Advanced knowledge ofthe language semantics of one of the following:
    C, C++, Fortran.
  * Experience with the OpenMP programming model.
  * Experience with high-performance computing and scientific code
    development.
  * Experience with code optimization andthe use ofprofiling and
    performance-monitoring tools and techniques.
  * Experience with Linux environments and Python.
  * Good software debugging skills.


In addition,candidatesshould show:

  * Effective analytical andproblem-solvingskills
    tocontributetocreativesolutions to complex problems.
  * Good communications skills, both verbal and written.
  * Goodcollaborativeskills, including the ability to work wellwith
    otherlabs, universities, computing centers, and industry.


  -Hal

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161221/9f35bfce/attachment.html>


More information about the llvm-dev mailing list