The high performance computing engineer is responsible for designing, implementing, and maintaining software used to perform transistor-level electrical circuit simulation in a parallel computation environment. Candidate should have an advanced degree (MS/PhD) in computer science, electrical, mechanical, or aerospace engineering, physics, or a similar field. Candidate should have demonstrated ability to work as part of a team developing large-scale numerical simulation codes (e.g. computational physics, fluid dynamics, finite element analysis, thermal analysis, etc.). Strong software engineering skills are a must.
Specific skills of interest include:
- Background in high performance computing (HPC) and performance critical applications
- Familiarity with modern high performance computing architectures and interconnect fabrics
- Experience with parallel programming, ideally using CUDA, MPI, OpenMP, OpenACC, pthreads
- Experience designing, developing, testing, maintaining, refactoring, and performing performance optimization of HPC software.
- Familiarity with modern software development design practices, languages (e.g. C++11), and testing methodologies.
- Ability to optimize and debug high performance software and familiarity with relevant software toolsets (e.g. hardware level profiling tools)
Candidate should have strong communications and interpersonal skills and be able to work as part of a geographically distributed development team.
Candidate should have the ability to work with an engineering and cross-functional team to deliver innovative technologies in a production environment. Familiarity with electrical circuit concepts and analysis, particularly VLSI circuit simulation, is a plus.
Experience in numerical analysis, especially numerical linear algebra, sparse matrix techniques, or numerical methods for solution of ordinary and partial differential equations is a plus.
Apply for job
To view the job application please visit cadence.wd1.myworkdayjobs.com.