Careers

Initiate. Innovate. Dedicate. Your next is now at Cray.
Browse Open Jobs Search Open Jobs Edit Your Profile View Submitted Applications


Job details

Requisition Number 19-0168
Title Performance Engineer
Location Remote/Work From Home
Position Type Full-Time
Description
Performance Engineer

Who is Cray?

Our business is supercomputing. Our primary aim is understanding the problems our customers are trying to solve and developing the technologies that enable them to make the discoveries that better our world. Cray combines computation and creativity so visionaries can keep asking questions that challenge the limits of possibility. Drawing on more than 45 years of experience, Cray develops the world’s most advanced supercomputers, pushing the boundaries of performance, efficiency and scalability. Cray continues to innovate today at the convergence of data and discovery, offering a comprehensive portfolio of supercomputers, high-performance storage, data analytics and artificial intelligence solutions. 

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 We Need

For those who ask what if, Cray is a partner that merges computation and creativity to extend the boundaries of what you can discover.  Our greatest achievements are realized when we face what seems impossible, and that’s why we invite those who believe anything is possible to join us and to keep asking what if, why not, and what’s next.

At Cray we’re always looking way down the road … years, even decades into the future. We’re not developing products for next quarter. We’re developing products for questions our customers might not even know they have yet. That’s how high-performance computing works. So as you can imagine, we pay very close attention to what’s coming … and that includes the next generation of computer scientists and engineers. These individuals are going to be the ones shouldering an awesome responsibility in the coming decades as big data gets bigger, artificial intelligence flexes its muscles more and more, and problems grow in complexity.  

Cray is seeking an exceptional senior applications performance engineer to do scientific application related code work with technical employees at Cray customers. This position on Cray’s Performance Team will be responsible for supporting the scientific user community of Cray systems being installed at the customer site and working with them on their various codes.  This individual will work closely with users of Cray systems to ensure (1) their scientific software programs execute efficiently, (2) they are able to get desired results, and (3) they are able to utilize the system optimally to advance their scientific work.  This person will need to interact with numerous people and respond to user’s inquiries about their programs running on Cray’s current and future systems.  This position will involve both short term projects and long term projects with scientific users of Cray’s existing systems, as well as work with users and their programs to understand applicability of users' codes to future Cray systems. To accomplish this work, strong high performance computing (HPC) applications knowledge, HPC performance expertise, and strong inter-personal skills are required. Cray’s business is dynamic and fast-paced. Cray seeks motivated engineers who will consistently deliver the high-quality results demanded by Cray’s customers. Clear, independent thinking and innovative approaches to address work activities and resolve issues is required. Cray emphasizes a constructive, collaborative, and results-oriented approach to work. 

The primary duties for this position are expected to include: 
•	Porting and optimization of various scientific application programs to Cray platforms; including analysis and work associated with customer programs to be run on future Cray systems. 
•	Addressing scientific user issues when they are encountered by users pursuing HPC results on Cray systems; including optimizing on-node performance, using directive-based programming models (such as OpenMP) or portability abstractions (such as Kokkos) to target GPUs, and scaling to large systems. 
•	Developing and maintaining working relationships with technical counterparts at customer sites. 
•	Collaborating with technical users of the HPC systems to understand their code performance characteristics and work with them to ensure their codes are able to execute efficiently on current and future Cray systems. 
•	Understanding HPC architectural components and features to be able to convey that technical information to users as well as utilize that knowledge in everyday work assignments. 
•	Responding to requests for specific technical information and assistance; relay customer requirements back to development and help drive necessary enhancements to software.
•	Completing performance benchmark tests associated with system acceptances in a timely manner. 
•	Troubleshooting, identify solutions, defining action plans, and helping coordinate and deliver optimal performance solutions. 
•	Collaborating closely with colleagues across Cray, as well as peers outside the company, to produce optimal performance results for programs run on Cray systems.

Requirements:
•	The ideal candidate will have an extensive background in scientific applications on HPC computer systems and be able to apply this technical expertise to enhance users experience with Cray systems. Candidates having a subset of the qualifications with a demonstrated propensity to learn will be considered.
•	A university degree in computer science, applied mathematics, engineering, physics, chemistry, or other technical field is required (MS or PhD preferred).
•	Multi-year experience with porting and optimizing highly parallel scientific applications on Linux-based systems. Experience with HPC systems; applicable course work, and internship experience are considered relevant.
•	Proficiency with running large scientific applications on large HPC systems • Proficiency with scientific/engineering languages [C++, C, modern Fortran, Python, MPI, OpenMP, etc.].
•	Proficiency with the use of performance analysis tools, compiler tools, and debuggers.
•	Proficiency with programming for GPUS.
•	An understanding of HPC systems architectures and interconnects.
•	Ability to work with scientific application code targeted for future processors (both CPUs and GPUs).
•	A good understanding of I/O and storage, and ability to optimize I/O performance on HPC systems.
•	Keen analytical skills and problem solving ability.
•	Ability to coordinate multiple tasks and adapt to change in a fast paced challenging environment.
•	Excellent verbal and written communication and interpersonal skills.
•	Ability to work within a team to complete tasks on schedule.
•	Ability to recognize and address issues encountered when working with leading edge technology.
•	Some off-hours work will be required.
•	Some travel may be required (10-20%).
•	Must have or be willing to obtain the appropriate security clearance. 
•	This position can be remote/work from home, or located at any of our Cray sites in Minnesota, Wisconsin, Washington, California, Colorado, Texas or Maryland.
 
*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.

Apply On-line