[LLVMdev] Cray is Hiring!

David Greene dag at cray.com
Tue May 25 13:07:05 PDT 2010


Cray is hiring!

Cray is looking for talented and motivated engineers to help develop
compilers and other programming tools for state-of-the-art
supercomputing platforms.  Cray is a leader in designing and
implementing supercomputers using future custom and commodity
architectures.  As system complexity grows, programming tools are a
critical part of the Cray ecosystem to provide excellent usability and
productivity to customers.  Our tools are used around the world to
help scientists and engineers solve the most challenging problems of
our time, including climate modeling, weather prediction, life/bio
sciences and atomic research.

The Cray compiler team is a friendly, collaborative environment and
individuals work in a self-directed fashion.  Candidates should be able
to deliver large projects and work with other team members toward
solutions.  Compiler experience is a big plus, but not strictly
required.

We are located in St. Paul, Minnesota in the heart of the Lowertown
business and entertainment district.

Interested candidates can browse job postings and submit an
application at http://cray.com/About/Careers.aspx.  Some specific
postings are copied below, with many more viewable at the above
website.  Feel free to contact me at dag at cray.com for more
information.

                        -Dave

---------------------
Software Engineer - Compiler Optimization 

Overview:

Cray has an opening for a motivated and skilled software developer to
join its Compiler group.


Responsibilities:

The Compiler Optimization Engineer will work on improving the
optimization and parallelization 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 parallelization capabilities across dissimilar
architectures. This work includes the design and implementation of new
compiler-based optimizations, enhancing existing optimizations, the
implementation of new high-level language features, adapting evolving
programming models to Cray architectures, and working to improve the
overall quality of the compiler.


Qualifications:

B.S. Computer Science or similar discipline is required. Advanced
degrees are welcome.

Experience in compiler development, particularly with regard to
optimization and code generation is highly desired, but not essential
for the right candidate. A good understanding of high performance
computing (HPC) architectures, including multiprocessors, distributed
memory systems, and GPU accelerators, is beneficial. Proficiency
writing in C is critical, and familiarity with C++ is
useful. Knowledge of Fortran is a plus, but not required.  Commitment
to sound software engineering principles, outstanding problem solving
skills, ability to work well in a cooperative development environment,
both within and across teams, and good written and verbal
communications skills.  Experience in working with large projects, or
an advanced thesis in an appropriate area.

---------------------
Performance Tools Development Engineer 

Overview:

Cray has an opening for a motivated and skilled software engineer to
join its team of performance analysis tools developers.


Responsibilities:

This position includes both significant research and product
development activities. The selected candidate will develop and
implement scalable data management techniques; combine analytic and
simulation modeling techniques with performance measurements to help
users identify problem areas; and help bring application optimization
knowledge to a wider set of users, as Cray continues to advance the
state of the art in performance analysis tools for Cray's current and
future supercomputers.


Qualifications:

 M.S. or Ph.D. in Computer Science or similar discipline. Three years
 experience in system software development or equivalent combination
 of education and experience, particularly with performance tools
 development. Background in high performance computing (HPC)
 architectures, including multiprocessors, distributed memory systems,
 and GPU accelerators, with understanding of scientific applications
 is highly desired. Proficiency in C, C++, or Java is
 required. Working knowledge of Fortran is a plus. Background in
 creating user-interfaces and data visualization is a plus. Experience
 with SQL query optimization is a plus. Experience with performance
 analysis of applications on large-scale systems is a plus. Experience
 in working with large projects, or an advanced thesis in an
 appropriate area is required. Commitment to sound software
 engineering principles, outstanding problem solving skills, ability
 to work well in a cooperative development environment, both within
 and across teams, and good written and verbal communications
 skills. Must be motivated to have an impact on our products, our
 company, and the state of the art.

---------------------
Software Engineer - Compiler Test Writer

Overview:

Cray has an opening for a motivated and skilled software engineer to
join its Programming Environments team of testers and performance
engineers


Responsibilities:

Responsibilities include writing Fortran, C, C++ and hybrid programs
to tests optimization and functionality of the Cray compilers;
maintaining and updating existing tests, and reviewing compiler
features requirements and design documents.


Qualifications:

B.S. in Computer Science or equivalent degree. Advanced degree is
preferred. At least 5years experience writing test programs that find
faults and deficiencies in the compilers and libraries. Strong
knowledge of C, C++, and Fortran programming languages is
required. Familiarity with CUDA, assembly language and compiler
standards is a plus. Background in high performance computing (HPC)
architectures, including multiprocessors, distributed memory systems,
and GPU accelerators, including working knowledge of parallel
programming -- MPT, OpenMP, and PGAS languages, is highly
desired. understand compiler architecture (frontend, optimizer, code
generator, etc) and understanding of test harnesses and automated test
systems is needed. 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, both within and
across teams, and good written and verbal.  Flexible work schedule.




More information about the llvm-dev mailing list