Siemens HPC Software Engineer in Cypress, California

HPC Software Engineer

Locations:Cypress, California

Job Family: Research & Development

New Search

Apply

English (US)

Job Description

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%

Division Description:

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

Job Description:

Position Overview

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.

Responsibilities

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.

Job tasks:

• 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.

In addition:

  • Fortran 2003 fluency

  • C++ proficiency

  • 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)

  • Team player

  • 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.

In addition:

  • 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.

#LI-AA1

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 .