HPC Development Engineer
Main Responsibilities:
As a Hardware/Software Interaction Specialist in the HPC Development Group. This position is based in the San Francisco area.
Your main responsibilities will be:
-
Optimize NUMECA’s legacy and next-generation software suites for efficient execution on massively parallel, heterogeneous architectures.
-
Perform in-depth profiling and tracing studies to identify and resolve performance bottlenecks.
-
Implement new functionality for improved strong scalability and a streamlined end-user experience.
-
Port NUMECA software to new compilers and platforms.
-
Coordinate with other members of the HPC development group on bugfixes, research projects, and customer support.
To be able to assume this role, the minimum qualifications are:
-
BS in computer science, computer engineering, or a related field.
-
Proficiency with C/C++ and a Linux development environment.
-
Demonstrated ability to identify and resolve performance bottlenecks in large scientific applications.
-
Experience with one or more of the following
-
Distributed memory parallel programming with MPI
-
Shared memory parallel programming with OpenMP
-
GPU Programming with OpenACC, CUDA, or OpenCL
-
The additional qualifications are:
-
Knowledge of compiler optimization techniques.
-
Proficiency with Linux build tools such as make, cmake, and configure.
-
Experience with profiling and tracing tools such as Intel VTune, gprof, and HPCToolKit.
-
Experience optimizing code for modern CPU features such as advanced vectorization extensions.
You should be highly motivated and dynamic, have good communication and analytical skills, be a stress-resistant problem solver, be a team player, able to meet the highest quality standards, and ideally have a passion for programming.
Please send a motivation letter and resume plus relevant technical papers, reports, references, etc. to: HR Department, Numeca International at jobs@numeca.be.
Indicate clearly the reference job number: HPC20-01.