HPC Simulation Software Engineer

People are our most valuable asset.

Working as part of the HPC and Scientific Simulation team the successful candidate will be involved in many aspects of the development of dynamic reservoir modelling systems. This includes primarily developing numerical methods used in the solution of linear systems arising from complex physical model simulations. This requires high-performance computing technologies including GPU, MPI, and hardware accelerated algorithms to accelerate all aspects of the solution’s numerical calculations. As part of the team, the successful candidate will be involved in designing, implementing, analyzing, and optimizing software solutions and is expected to be a team player, with excellent communication skills.

Key Responsibilities

Knowledge, Skills & Experience

Graduate degree (PhD preferred) is required in one of the areas listed: Mathematics, Engineering, Physics, or Computer Science. A research background in high performance computing is preferred but not required.

Knowledge & Skills

  • Resourceful, creative with strong analytical skills
  • Interest in learning and result oriented
  • Enthusiastic friendly team player
  • Be customer focused, learn about the business to help bring value to our customers
  • Team focused with a positive attitude, must be self-motivated, and have very good time management and communication skills both in written and verbal English.


  • Minimum 3 years developing, debugging, and optimizing high-performance numerical applications
  • In-depth knowledge of numerical methods, especially, sparse linear algebra algorithms including sparse matrix solvers
  • Experience optimizing iterative solvers for sparse linear systems
  • Analysis and solution of numerical problems typically found in scientific computation problems
  • Understanding of CPU and GPU architectures and optimization techniques including vectorization
  • Strong background in high performance computing
  • Experience in scientific code development
  • Strong object-oriented programming background, C/C++ preferred, experience with Fortran language is a plus
  • Experience in using MPI and OpenMP libraries for high performance computing
  • Experience in GPU software development is a significant asset
  • Ability to write high quality code with a keen attention to detail
  • Experience with software development processes and tools such as debuggers, source code control systems and profilers are a plus
  • Effective communication and problem-solving skills

Apply Now

If you have the necessary qualifications, and are interested in a challenging career with us, please forward your resume in confidence to

No phone calls please. We thank all applicants for their interest in advance. Only those chosen for interviews will be contacted.

CMG’s total rewards program includes:

  • A competitive salary
  • A performance-based bonus program
  • Learning and development opportunities
  • Generous medical and dental benefits
  • 20 days of vacation per year plus flex days
  • Quarterly wellness days