High-Performance Computing (HPC) Engineer-
Position Overview:
We are seeking a highly skilled and motivated HPC Engineer to join our dynamic team. The successful candidate will play a crucial role in extending our HPC capabilities and driving new ventures within BQP. The ideal candidate will have a strong background in developing physics solvers, extensive experience with parallel computing techniques, and a solid understanding of HPC system and infrastructure.
Key Responsibilities:
- Develop and optimize physics solvers for high-performance computing environments.
- Design and implement efficient parallel algorithms using OpenMP and MPI.
- Collaborate with existing team members on C++, CUDA, and SYCL projects.
- Manage and optimize HPC systems and infrastructure, including scheduling systems like SLURM and PBS.
- Utilize Intel OneAPI and other parallelization directives (e.g., OpenACC) to enhance computational efficiency.
- Provide technical expertise and support for HPC-related issues and projects.
- Contribute to DevOps and automation efforts within the HPC environment.
- Stay up-to-date with advancements in HPC technologies and methodologies.
Must-Have Qualifications:
- Educational Background: Bachelors or masters degree in computer science, Physics, Engineering, or a related field.
- Experience: Proven experience in developing physics solvers, either through project work or previous industrial roles.
Technical Skills:
- Proficiency in C++ with hands-on experience in Object-Oriented Programming (OOP).
- Strong specialization in parallel computing with practical knowledge of OpenMP and MPI.
- Demonstrated ability to develop and optimize parallel algorithms for performance.
Good-to-Have Qualifications:
- HPC System and Infrastructure Expertise: Experience with HPC scheduling systems such as SLURM or PBS.
- Exposure to Intel One API: Practical experience or familiarity with Intel One API tools and libraries.
Programming Skills:
- Familiarity with Python for scripting and automation tasks.
- Experience with parallelization directives like Open ACC.
Optional (Cherry on the Top):
- DevOps and Automation: Experience in DevOps practices and automation for HPC environments.
- Knowledge of Rust: Understanding of Rust programming language or willingness to learn.
Personal Attributes:
- Excellent problem-solving skills and a proactive approach to addressing technical challenges.
- Strong communication skills and the ability to collaborate effectively with team members.
- Willingness to learn and adapt to new technologies and methodologies.