N-iX Logo

N-iX

Senior C++ Engineer (High Performance Computing)

Sorry, this job was removed at 05:58 p.m. (GMT) on Wednesday, Feb 19, 2025
Be an Early Applicant
Remote
28 Locations
Remote
28 Locations

About our customer:

Our client is a global company specializing in software development and consulting who combines science and technology with deep industry expertise to solve complex subsurface and surface challenges in the evolving energy sector.
The client headquartered is located in Canada, with offices around the world. The company serves organizations globally, providing cutting-edge software technology and unparalleled customer support.
Key Software Solutions:
Our client offers a range of reservoir simulation software, including:

  • IMEX – A black oil simulator for primary, secondary, and tertiary recovery processes.
  • GEM – An advanced simulator for compositional, chemical, and unconventional reservoir modeling.
  • STARS – The industry standard for thermal and advanced recovery processes.
  • CMOST – An intelligent optimization and analysis tool that integrates statistical analysis, machine learning, and unbiased data interpretation to determine optimal reservoir solutions.

The company invests in research and development, continuously improving its products and delivering state-of-the-art solutions for energy modeling and optimization.

About the Role:

We are seeking a skilled and motivated HPC Developer to join our team and contribute to the development of the computational core for digital twin modelling software. This module will perform high-performance grid calculations and advanced operations on GPUs and CPUs using state-of-the-art parallel computing techniques. You will play a critical role in designing, implementing, and optimizing asynchronous workflows with load balancing, memory allocation, and cross-platform execution capabilities.

Key Responsibilities:

  • Design and implement high-performance computation modules for grid operations.
  • Develop algorithms optimized for both CPU and GPU architectures using modern frameworks like CUDA, OpenCL, OpenMP, SYCL, or MPI.
  • Implement task-based parallelism and asynchronous execution strategies.
  • Collaborate with the orchestration team to integrate task scheduling and resource management systems.
  • Profile and optimize memory allocation, load balancing, and data movement across CPU and GPU.
  • Ensure efficient communication between distributed processes using MPI or similar frameworks.
  • Develop portable code that supports multiple hardware configurations (NVIDIA GPUs, AMD GPUs, CPUs).
  • Leverage frameworks like SYCL, Kokkos, or OpenCL for cross-platform compatibility.
  • Work closely with the backend and visualization teams to integrate the computation module with the overall Odin architecture.
  • Implement APIs for seamless interaction between the computation module and other components.
  • Develop unit tests, benchmarks, and validation procedures for computational accuracy and performance.
  • Troubleshoot and debug issues across heterogeneous systems.
  • Document code, algorithms, and design decisions to ensure maintainability and knowledge sharing.

Experience and Qualification:

  • 3+ years of experience in HPC, parallel computing, or numerical simulations.
  • Proven experience in GPU programming (CUDA, HIP, or OpenCL).
  • Hands-on experience with CPU parallelism using OpenMP, MPI, or similar frameworks.
  • Familiarity with asynchronous workflows and task orchestration frameworks
  • Bachelor’s or Master’s degree in Computer Science, Computational Physics, Applied Mathematics, or related fields.
  • Programming Languages: Proficiency in C++. Rust or Julia experience is a plus.
  • Parallel Computing: Strong understanding of GPU programming (CUDA, HIP, or SYCL) and multi-threaded CPU programming (OpenMP, MPI).
  • Memory Management: Expertise in optimizing memory allocation, data movement, and unified memory (e.g., CUDA UVM).
  • Load Balancing: Experience with dynamic and static load-balancing techniques in HPC systems.
  • Experience with orchestration tools
  • Strong problem-solving skills and ability to work in a multidisciplinary team.
  • Excellent communication skills for cross-team collaboration and documentation.
  • Passion for innovation and a drive to push technological boundaries.

Preferred Qualifications:

  • Experience in developing simulation or visualization software for oil and gas or similar industries.
  • Familiarity with modern containerization technologies (e.g., Docker, Kubernetes).
  • Knowledge of advanced numerical methods like finite element/volume methods, deep learning or deep neural operators.


We offer:

  • Flexible working format - remote, office-based or flexible
  • A competitive salary and good compensation package
  • Personalized career growth
  • Professional development tools (mentorship program, tech talks and trainings, centers of excellence, and more)
  • Active tech communities with regular knowledge sharing
  • Education reimbursement
  • Memorable anniversary presents
  • Corporate events and team buildings
  • Other location-specific benefits

Similar Jobs

16 Hours Ago
Easy Apply
Remote
35 Locations
Easy Apply
Senior level
Senior level
Cloud • Security • Software • Cybersecurity • Automation
This role involves leading the design and evolution of GitLab’s multi-tenant platform, ensuring high availability and performance while mentoring team members. Responsibilities include backend API design and fostering a collaborative engineering culture.
Top Skills: Cloud ComputingGoRuby
Yesterday
Easy Apply
Remote
28 Locations
Easy Apply
Entry level
Entry level
Cloud • Security • Software • Cybersecurity • Automation
The Business Development Representative will engage enterprise accounts, conduct outreach, generate meetings, and collaborate across teams while leveraging Salesforce and marketing tactics.
Top Skills: Linkedin Sales NavigatorSalesforce
Yesterday
Easy Apply
Remote
28 Locations
Easy Apply
Senior level
Senior level
Artificial Intelligence • Machine Learning • Natural Language Processing • Conversational AI
As a Senior ML Engineer, you will enhance the translation capabilities of Smartcat's platform using machine learning techniques like LLM tuning and inference optimization, while developing benchmarks and improving translation quality.
Top Skills: Amazon AwsApache KafkaElasticsearchElkGrafanaLabel-StudioMongoDBPostgresPrometheusPythonPyTorchTransformersWeights & Biases

What you need to know about the Belfast Tech Scene

If asked to name the birthplace of the RMS Titanic, you might not say Belfast. Similarly, if asked to name Europe's leading destination for foreign direct investment in new software development, Belfast might not come to mind. Yet, both are true. The city has emerged as a tech powerhouse, recently ranked among the best in the U.K. for tech careers — especially for software developers. It also leads the U.K. with the highest percentage of software development jobs advertised.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account