JIT Compiler Engineer
Who Is Cray?
Our business is supercomputing. We’ve been developing, building and supporting highly advanced computing solutions for the world’s most complex science, engineering and analytics challenges since 1976. We pride ourselves on understanding the problems our customers are trying to solve and developing the technologies that enable them to make the discoveries that better our world.
We are proud to be an Equal Opportunity Employer including women, minorities, protected veterans, and individuals with disabilities. CRAY Inc. is an Affirmative Action, Equal Opportunity Employer.
Who You Are?
You are a dynamic, driven professional with a passion for success – yours, your company’s and your customer’s.
Who We Need?
Cray has an opening for a motivated and skilled compiler engineer to join its team of software developers in the programming environment group, which is responsible for the design and development of the software development environment which is shipped on Cray supercomputers. This position includes both significant research and product development activities, as Cray continues to advance the state of the art of its programming environment capabilities across a variety of architectures, as well as programming models.
In this position, you will be responsible for designing, implementing, testing, debugging, tuning, and maintaining an optimization framework to be developed for application tuning and optimization. In addition, you will work closely with developers from the compiler, libraries, and message passing software groups to create complete solutions for large-scale parallel systems.
Key Qualifications include:
• BS in Computer Science, Computer Engineering, or related field. Advanced degrees preferred
• At least 3 years’ experience in compiler or runtime development in industry, or equivalent combination of education and experience
• Experience with LLVM
• Experience with just in time (JIT) technology is desirable
• Knowledge of type inference and introspection is a plus
• Experience designing and developing interfaces is a plus
• Proficiency writing in C is critical, and familiarity with C++ and Linux or Unix software development expertise
• Background in high performance computing (HPC) architectures, including multiprocessors, distributed memory systems, and GPU accelerators, is highly desired
• Excellent organizational and collaborative skills, with strong verbal and written communication
• Success working in a fast-paced, changing environment; strong sense of urgency
*Please note that Cray does not use Google Hangouts for any interviews.
As part of our standard hiring process for new employees, employment with CRAY will be contingent upon successful completion of a comprehensive background check.