Senior Software Developer - CFD

The Senior Software Developer is responsible for the development the ANSYS CFD solver’s parallel capabilities and other high-performance computing infrastructure areas. The Senior Software Developer will help to define technical directions and develop products, working closely with other team members and ANSYS teams to ensure the capabilities meet ANSYS strategic needs and our customer requirements.

The position involves developing and maintaining functionality related to the ANSYS CFD solver’s parallel capabilities and other high-performance computing infrastructure areas. Responsibilities include:
  • Parallel implementation of CFD algorithms and physical models
  • Parallel implementation of mesh-related algorithms and partitioning methods
  • Development and maintenance of message-passing libraries
  • Development of algorithms suitable for computing on GPGPUs
  • Development and maintenance of parallel file I/O
  • Development of automatic error detection and recovery utilities

In addition, the incumbent will optimize the CFD application to achieve high performance for clusters running the Linux and Windows operating systems. Implementations will be optimized to support both shared and distributed memory platforms. It is expected that the incumbent will work with hardware vendor partners in tuning the application, as well as porting the application to new hardware including processors and interconnects, and software such as cluster tools and run-time systems. Part of this work will involve benchmarking and code profiling to assess the performance of the CFD application on high-performance hardware.

The incumbent should maintain a level of technical excellence in the area of parallel processing for CFD through the evaluation of current literature, participation in technical conferences, publications, and interaction with colleagues in the field. The incumbent may also be called upon to provide high-level support to product support and development staff in the area of parallel CFD.

  • Bachelor’s degree with a minimum of 8 years of experience, or a Master’s degree in engineering, computational science, or applied mathematics and a minimum of two years of experience.
  • Excellent and demonstrated programming skills in at least one computer language (preferably C/C++).
  • Willingness to learn, take initiative and work in a team-oriented environment

The following attributes are desirable:
  • An advanced degree (MS/MTech/PhD) in engineering or computational science is a plus
  • At least 2 years experience implementing algorithms on high-performance parallel distributed memory platforms.
  • Knowledge of message passing libraries including MPI
  • Experience with multi-threaded programming, e.g., OpenMP
  • Experience with computing on GPGPUs and/or Intel Xeon Phi
  • Knowledge of C/C++ programming language
  • Experience with Linux or Windows clusters
  • Experience with code tuning for massively parallel systems
  • Experience with Lattice-Boltzmann solver development

ANSYS is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, and other protected characteristics.

ANSYS does not accept unsolicited referrals for vacancies, and any unsolicited referral will become the property of ANSYS. Upon hire, no fee will be owed to the agency, person, or entity.