Software Engineer – HPC Performance Applications
Make Your Mark, Join the team today!
At Hewlett Packard Enterprise (HPE), we bring together the brightest minds to create breakthrough technology solutions that advance the way people live and work. Our legacy inspires us as we forge ahead dedicated to helping our customers make their mark on the world.
We are seeking a motivated and skilled Software Engineer – HPC Performance Applications with expertise in High Performance Computing (HPC) and Distributed Algorithms to join its Performance Engineering team in the HPE Cray Programming Environment organization. This team is responsible for designing, implementing, testing, debugging, tuning, scaling, and maintaining the HPE Cray software development environment for HPE’s current and future large scale, high performance, parallel computer systems. The ideal candidate should have background with HPC applications, as well as supercomputer software and hardware; and be able to apply this technical expertise to help the Programming Environment developers with their needs for performance related analysis on HPE’s current and future systems.
In this position, you will interact with application developers and will be responsible for analyzing application and benchmark performance to identify and understand performance bottlenecks and to help engineering to make performance aware design decisions. Also in this position, you will be working with directive-based GPU applications, both OpenACC and OpenMP.
Education and Experience Required:
Degree in a technical field such as Engineering, Science, Applied Mathematics, Computer Science, etc. Ph.D. or Master’s degree is welcome.
A software engineer with 7 or more years of experience.
Knowledge and Skills:
Background with HPC applications and their programming models/languages, including distributed memory MPI and shared memory OpenMP. Proficiency in FORTRAN, C, C++, and familiarity with Linux.
Programming experience with directive-based GPU applications, both OpenACC and OpenMP.
Understanding of HPC architectures, including multiprocessors, distributed memory systems, and GPU accelerators, is highly desired
A good understanding of the capabilities available in X86 processors and accelerators targeted for the HPC industry is preferred. Knowledge of X86 assembly is a plus.
Experience developing, debugging, maintaining, supporting, optimizing, and/or using scientific application software, and experience with performance profiling tools and debuggers
Experience with benchmarking or performance analysis of applications on large-scale systems is a plus
Strong written, verbal, and interpersonal communication and presentation skills for internal and external interactions and presentations, with effective organizational skills and attention to details
Outstanding problem solving skills, ability to work well in a cooperative development environment, both within and across teams.
Success working in a fast-paced, changing environment; strong sense of urgency
To apply for this job please visit careers.hpe.com.