[llvm-dev] [Job Posting] LLVM at Cray

via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 2 10:17:18 PDT 2016

Hi all,

Cray just opened up a position for a compiler person to work on LLVM.
Details are below.  I've been working in this group for over a decade
now and it's a great team.  The environment is very collegial and
results-oriented.  Engineers get significant projects to work on and
have a direct impact in helping our customers tackle the largest and
most challenging scientific problems in the world.

While a lot of compiler work for high-performance computing overlaps
with general compiler improvements, there are definitely features we've
added that are pretty specific to supercomputing.  It's an interesting
space to work in, where the tradeoffs are sometimes much different than
they are for more general computing workloads.

In my time here I've done everything from developing new LLVM analysis
and transformation passes to writing backends for new targets.
Engineers have a lot of freedom and are encouraged to explore new ideas.
Most of those ideas come out of real customer problems so you get some
very real satisfaction that what you do makes a difference.

Note that while the listing is for St. Paul, MN we will soon be moving
our office a short distance away to the Mall of American in Bloomington,
MN.  So engineers will also be able to ride roller-coasters during our
lunch breaks!

Please feel free to e-mail me with questions.  I will answer what I can.

If you're interested in this position, please go to
http://www.cray.com/company/careers, search for keyword 16-0127 to find
this opportunity, and then click “Apply On-line” to create a profile and
submit a resume.

Best regards,



 Requisition Number 16-0127                                          
 Title              Software Engineer - Compiler Technology          
 Location           US-MN-St. Paul                                   
 Position Type      Full-Time                                        
 Description        Cray has an opening for a motivated and skilled  
                    software developer to join its Compiler          
                    development team. The Compiler Code Generation   
                    Engineer will work on improving the optimization 
                    and LLVM-based code generation phases of the     
                    Cray Fortran, C, and C++ compilers. This         
                    includes both significant research and product   
                    development activities, as Cray continues to     
                    advance the state of the art with automatic      
                    vectorization capabilities across a variety of   
                    architectures. This work includes the design and 
                    implementation of new compiler-based             
                    optimizations, enhancing the interface between   
                    the Cray optimizer and the LLVM-based code       
                    generator, adapting the compiler to new Cray     
                    architectures, and working to improve the        
                    overall quality of the compiler.                 
 Requirements       Qualifications:                                  
                    · At least 3 years of experience in compiler     
                    development or equivalent combination of         
                    education and experience, particularly with      
                    regards to compiler optimization.                
                    · Background in high performance computing (HPC) 
                    architectures, including multiprocessing and     
                    vectorization, is highly desired.                
                    · Experience with the LLVM ecosystem is highly   
                    · Proficiency writing in C++ and C is required.  
                    · Knowledge of Fortran is a plus.                
                    · B.S. Computer Science or similar discipline is 
                    required. Advanced degrees are welcome.          
                    · Experience in working with large projects, or  
                    an advanced thesis in an appropriate area.       
                    · Commitment to sound software engineering       
                    principles, outstanding problem solving skills,  
                    ability to work well in a cooperative            
                    development environment, and good written and    
                    verbal communications skills.                    

More information about the llvm-dev mailing list