Senior HPC / Computation Solid Mechanics Software Engineer
Business Unit: Product Lifecycle Management-PLM
Requisition Number: 235077
Primary Location: United States-Ohio-Milford
Assignment Category: Part-time regular
Experience Level: Mid level
Education Required Level: Bachelor's Degree
Travel Required: 5%
- Main objective is to develop new solution strategies for deployment in Simcenter 3D, Siemens’ flagship CAE software program.
- HPC (high performance computing) via GP-GPU, distributed memory parallel, share memory parallel, just to name a few.
- You will be a part of a team of about 40+ computational mechanics developers, and report to Simcenter Nastran core/architecture manager.
- Design, develop and deploy HPC strategies across a number of existing and new products related to but not limited to Simcenter Nastran.
- Work with Product Managers to understand customer performance requirements and bring those enhancements to market in a timely manner.
- Leverage new technological frontiers such AI and machine learning to accelerate solution times
- Work with QA, Technical Support and Technical Doc groups to verify implementation, develop examples, and documentation.
- Sample areas include direct solvers, iterative solvers, multi-frontal solvers, with an emphasis on scalability and architecture.
- MSc or PhD in Applied and/or Computational Mechanics, or Applied Mathematics, or Mechanical, Aerospace, Civil, or Bio/Biomedical Engineering, with a focus on computational aspects of development in solid mechanics and multi-physics.
- HPC (High Performance Computing) experience with MIC and GP-GPU hardware.
- Up to 5 years of experience in developing production commercial software. Exceptional entry level candidates will be considered as well.
Demonstrated ability to:
Design and implement algorithms/data structures for GP-GPU development via CUDA and/or OpenCl/ClMagma/Magma
Develop software programs in C++/Fortran/C
Planning and Communication abilities:
Excellent oral and written English communication skills,
Work collaboratively in an agile team by defining and planning the work of development, QA and Application engineers
Communicate a clear understanding of the technology to other teams and customers
- Python, PERL and other scripting languages.
- Agile development methods and tools.
- Comfortable developing on Windows and Linux operating systems.