Middle/Senior C++/Python Engineer (High Performance Computing)

extra holidays - work from anywhere - fully flexible
Work set-up: 
Full Remote
Contract: 
Experience: 
Senior (5-10 years)
Work from: 

Offer summary

Qualifications:

Bachelor's or Master's degree in Computer Science, Computational Physics, or related fields., At least 3 years of experience in HPC, parallel computing, or numerical simulations., Proficiency in C++ and Python programming languages., Hands-on experience with GPU programming (CUDA, HIP, or OpenCL) and CPU parallelism frameworks like OpenMP or MPI..

Key responsibilities:

  • Design and implement high-performance computation modules for grid operations.
  • Develop optimized algorithms for CPU and GPU architectures using modern frameworks.
  • Implement task-based parallelism and asynchronous workflows.
  • Collaborate with teams to integrate computation modules with the overall architecture.

N-iX logo
N-iX Large https://www.n-ix.com
1001 - 5000 Employees
See all jobs

Job description

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++/Python. 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

*not applicable for freelancers

Required profile

Experience

Level of experience: Senior (5-10 years)
Spoken language(s):
English
Check out the description to know which languages are mandatory.

Other Skills

  • Teamwork
  • Communication
  • Problem Solving

Field Engineer (Solutions) Related jobs