Principal Software Architect - High-Performance Computing
Summary
Principal Software Architect (12-18 yrs) in Chennai or Bengaluru to lead architecture of high-performance computing systems, designing scalable CPU/GPU workloads and optimizing performance-critical software hands-on with C/C++, CUDA, MPI/UCX, and distributed computing, while mentoring engineers.
Role : Principal Software Architect - High-Performance Computing (HPC)
Experience : 12 - 18 years
Location : Chennai / Bengaluru
Level : E4
Employment Type : Full-Time
Job Description :
Principal Software Architect - High-Performance Computing (HPC)
Role Overview :
We are looking for a Principal Software Architect with expertise in High-Performance Computing, CUDA/GPU programming, and parallel and distributed computing. The role involves designing scalable computing architectures and optimizing demanding workloads across CPU and GPU environments.
The ideal candidate will combine strong architectural capabilities with hands-on C/C++ development experience and a deep understanding of GPU infrastructure, parallel processing frameworks, and heterogeneous computing. This position will provide technical direction for building efficient, scalable, and performance-focused software systems.
Key Responsibilities :
- Lead the architecture and design of HPC software systems, translating computational requirements into scalable technical solutions.
- Define approaches for distributing workloads across CPUs, GPUs, and multiple compute nodes to improve throughput and resource utilization.
- Design, develop, and optimize GPU-accelerated applications and computational kernels using CUDA and C/C++.
- Architect parallel processing and communication mechanisms using MPI, UCX, or comparable frameworks.
- Evaluate application performance and identify bottlenecks in computation, memory access, data movement, synchronization, and communication.
- Optimize distributed applications to improve execution speed, scalability, latency, and overall system efficiency.
- Guide the design and integration of GPU infrastructure and heterogeneous computing environments.
- Establish architectural guidelines, coding practices, and performance benchmarking approaches for HPC development.
- Work closely with engineering and infrastructure teams to evaluate design trade-offs and support implementation.
- Conduct architecture and code reviews, resolve complex technical challenges, and mentor engineers working on HPC and GPU computing solutions.
Required Skills & Experience :
- 12 - 18 years of relevant software engineering experience, with strong expertise in HPC architecture and performance-critical systems.
- Strong hands-on proficiency in C/C++, including developing and optimizing computationally intensive applications.
- Expertise in CUDA and GPU programming, with an understanding of GPU execution models, memory hierarchy, and workload optimization.
- Experience with parallel programming frameworks such as MPI, UCX, or equivalent technologies.
- Strong understanding of distributed computing, including workload partitioning, inter-process communication, synchronization, and scalability.
- Experience in performance profiling, benchmarking, bottleneck analysis, and application optimization.
- Knowledge of GPU infrastructure and heterogeneous computing, including effective coordination of CPU and GPU resources.
- Ability to assess architectural trade-offs across performance, scalability, resource utilization, and maintainability.
- Strong problem-solving, technical communication, and engineering leadership capabilities.
Mandatory Skill Combination :
- HPC Architecture + CUDA/GPU Programming + Parallel Programming (MPI/UCX or equivalent) + C/C++ + Distributed Computing & Performance Optimization + GPU Infrastructure & Heterogeneous Computing.