Overview
HPC Software Developer
Job Description
The High-Performance Computing (HPC) team is responsible for providing application and infrastructure solutions that support complex, compute intensive workloads, parallel filesystems, low latency networks, artificial intelligence (AI), and machine learning (ML).
The successful candidate will partner with peers in HPC product, the IT R&D portfolio and individual research & development projects in functions that utilize HPC capabilities (geophysics, reservoir engineering, downstream technology & services, and others).
This position is accountable for software development to deliver HPC solutions that implement novel, proprietary algorithms and workflows as well as the analysis and performance engineering of existing workflows and applications. The successful candidate is expected to define and execute SW development projects, take ownership of HPC software products and projects and promote and consult on the use of best practices and tools for HPC software development.
Responsibilities
- Analysis, development and integration of codes that implement scientific/technical algorithms using appropriate HPC programming techniques, tools and languages including CPU/GPU, MPI, OpenMP, CUDA, and similar on HPC environment such as cluster compute systems.
- Maintain a portfolio of relevant HPC software tools and lead developers in various domain sciences in the appropriate use of these tools to build and run HPC applications.
- Advise users, other developers and HPC infrastructure SMEs on the correct and efficient execution of HPC codes at large scale and high performance.
- Collaboration with other groups, functions and platforms across Chevron on the adoption of common technologies and concepts (cloud computing, general software engineering, HPC infrastructure).
- Identification of unmet needs for capabilities in existing or emerging application areas of HPC.
- Performance engineering, cloud optimizations, and modernization of existing code bases.
- Porting of existing CPU-based algorithms for GPUs.
Selection Criteria
HPC expertise
Hands-on expertise in HPC software technologies, techniques and languages (C/C++, compilers, performance analysis tools, parallel programming using concepts such as MPI, OpenMP, CUDA, …) and their application in Chevron’s environment, including familiarity with HPC infrastructure technologies.
Scientific Computing
Ability to understand and apply scientific concepts and algorithms from various functional disciplines (e.g. Geophysics, Reservoir Simulation, Data Science) including familiarity with common numerical techniques and their implementation at large scale and high performance.
Align & Inspire
Ability to identify and understand technical business needs and align HPC technologies and capabilities to the needs. Ability to provide guidance and inspiration to customers across Chevron on the impact HPC and HPC software solutions can have on specific challenges.
Building Relationships
Demonstrated experience of working across functional and organizational boundaries and in teams with diverse set of skills and interests. Desire and ability to build effective relationships with individuals and groups previously unfamiliar with HPC.
Additional, Preferred Qualifications
- Experience in developing codes for compute accelerators or other emerging hardware technologies
- Experience with HPC system infrastructure (e.g. Storage, Networking, infrastructure software)
- Developer-level experience with Linux OS, particularly in HPC environments
- Familiarity with Data Science and Machine Learning concepts and technologies (CNNs, pyTorch, Tensorflow)
- Experience with cloud computing environments (esp. Microsoft Azure)
hevron ENGINE supports global operations, supporting business requirements across the world. Accordingly, the work hours for employees will be aligned to support business requirements. The standard work week will be Monday to Friday. Working hours are 8:00am to 5:00pm or 1.30pm to 10.30pm.