Siemens HPC Software Engineer in Cypress, California
HPC Software Engineer
Job Family: Research & Development
Division: Digital Factory
Business Unit: Product Lifecycle Management-PLM
Requisition Number: 224521
Primary Location: United States-California-Cypress
Assignment Category: Full-time regular
Experience Level: Mid level
Education Required Level: Bachelor's Degree
Travel Required: 10%
Siemens is a global technology powerhouse that has stood for engineering excellence, innovation, quality, reliability and internationality for more than 165 years. As a global technology company, Siemens is rigorously leveraging the advantages that this setup provides. To tap business opportunities in both new and established markets, the Company is organized in nine Divisions: Power and Gas, Wind Power and Renewables, Energy Management, Building Technologies, Mobility, Digital Factory, Process Industries and Drives, Healthineers and Financial Services.
The Siemens Digital Factory Division offers a comprehensive portfolio of seamlessly integrated hardware, software and technology-based services in order to support manufacturing companies worldwide in enhancing the flexibility and efficiency of their manufacturing processes and reducing the time to market of their products.
For more information, please visit: http://www.siemens.com/businesses/us/en/digital-factory.htm
In this position, you will act as a high performance computing (HPC) and computer science expert for NX Nastran developers throughout Siemens PL. You will be part of the Numerical Methods group, and report to the Software Engineering Manager for the Dynamics, Numerical Methods, and Development Operations Team. In this role, you will develop in-depth knowledge of the details of shared (SMP) and distributed (DMP) memory parallel processing in NX Nastran. You will become the expert regarding details of NX Nastran specific utilities that are critical to all of its functionality, including memory and I/O subsystems. The role involves maintaining the software packages and high-end hardware necessary for the Numerical Methods group to perform their role.
Your primary responsibilities will be to (1) consult with developers on parallel implementations of new features, improvements to existing parallel features, and fixes for problems in parallel computations; (2) consult on, and implement improvements to and extensions of, NX Nastran specific utilities, with specific attention to application performance, robustness, and maintainability; (3) maintain high-performance focused software packages and hardware deemed critical to application performance.
Specifically, as relates to item (3), you will help maintain an on-site, high performance Linux cluster. You will be responsible for the integration and testing of software packages related to graph partitioning and direct sparse linear solvers. Additionally, you will be expected to act as a vocal proponent of the use of proper programming practices in Modern Fortran, and to provide input on object-oriented design for future products.
• Build, compile, and debug complex Fortran code, both in-house and externally developed
• Provide guidance to developers on correct and efficient use of NX Nastran utilities in application code
• Provide guidance to developers on correct and efficient use of computational resources (memory, I/O buffering, threads, etc.) in application code
• Implement interfaces for new software packages deemed critical to NX Nastran performance, and maintain existing interfaces for same
• Maintenance, diagnostics, and Installation of necessary software packages on Linux Cluster hardware
Required Knowledge/Skills, Education, and Experience
B.Sc. in Computer Science or other computationally-focused area, with 2+ years of experience.
Fortran 2003 fluency
Performance testing and tuning of numerical software
Message Passing Interface (MPI)
Experience with legacy Fortran code
Knowledge of Software Development best practices
Linux Cluster administration
Numerical Linear Algebra (BLAS, LAPACK, sparse direct solvers)
Excellent English language communication skills
Preferred Knowledge/Skills, Education, and Experience
M.Sc. in Computer Science or other computationally-focused area, with 2+ years experience.
Graph partitioning software (e.g. Metis)
Linux Cluster hardware and software administration
Windows Cluster administration
Some travel (up to 10% time) may be required initially, for more focused interactions with team members in Milford, OH.
Qualified Applicants must be legally authorized for employment in the Unites States. Qualified Applicants will not require employer sponsored work authorization now or in the future for employment in the United States.
Equal Employment Opportunity Statement
Siemens is an Equal Opportunity and Affirmative Action Employer encouraging diversity in the workplace. All qualified applicants will receive consideration for employment without regard to their race, color, creed, religion, national origin, citizenship status, ancestry, sex, age, physical or mental disability, marital status, family responsibilities, pregnancy, genetic information, sexual orientation, gender expression, gender identity, transgender, sex stereotyping, protected veteran or military status, and other categories protected by federal, state or local law.
EEO is the Law
Applicants and employees are protected under Federal law from discrimination. To learn more, Click here at https://www.dol.gov/ofccp/regs/compliance/posters/ofccpost.htm .
Pay Transparency Non-Discrimination Provision
Siemens follows Executive Order 11246, including the Pay Transparency Nondiscrimination Provision. To learn more, Click here at https://www.dol.gov/ofccp/pdf/pay-transp_formattedESQA508c.pdf .