Job Title : HPC Software Developer
Experience : 5 - 15 Years
Location : Bengaluru
Roles & Responsibilities
- Develop and integrate High-Performance Computing (HPC) applications for complex scientific and engineering workloads.
- Design, analyze, and optimize algorithms using parallel computing technologies such as MPI, OpenMP, CUDA, and GPU/CPU programming.
- Support development and modernization of scientific computing workflows and HPC software solutions.
- Perform performance engineering, code optimization, and scalability analysis for HPC applications.
- Port and optimize CPU-based applications for GPU environments.
- Collaborate with engineering, research, and technology teams to deliver scalable HPC solutions.
- Maintain and support a portfolio of HPC tools, frameworks, and software applications.
- Provide technical guidance on best practices for HPC software development and execution.
- Work closely with infrastructure teams on HPC environments, storage, networking, and cloud integration.
- Identify opportunities for automation, workflow optimization, and new HPC capabilities.
- Support adoption of modern technologies including cloud computing, AI/ML, and scientific computing platforms.
- Troubleshoot performance bottlenecks and improve reliability of HPC systems and applications.
Requisites
- Bachelor’s/Master’s degree in Computer Science, Engineering, Computational Science, or related field.
- Strong programming expertise in C/C++ and parallel computing technologies.
- Hands-on experience with MPI, OpenMP, CUDA, GPU programming, and HPC environments.
- Strong understanding of scientific computing, numerical methods, and large-scale computational systems.
- Experience with performance analysis, optimization, and scalability engineering.
- Familiarity with Linux operating systems and HPC infrastructure technologies.
- Knowledge of cloud computing platforms and cloud-based HPC solutions.
- Exposure to AI/ML frameworks such as PyTorch or TensorFlow is an advantage.
- Understanding of storage, networking, and distributed computing architectures.
- Ability to collaborate across cross-functional and global teams.