Senior HPC / GPU Software Developer
Computer Modelling Group
About the role
Summary
We are seeking a Senior HPC / GPU Software Developer to join our team developing advanced reservoir simulation software. The successful candidate will contribute to the design and implementation of high‑performance, GPU‑based solutions that accelerate large‑scale numerical simulations used in subsurface modeling.
You will collaborate with scientists and engineers to enhance the performance and scalability of complex simulation systems, improve parallel processing capabilities, and support modern high‑performance computing environments. This role is ideal for someone with strong expertise in GPU programming, parallel computing, and scientific software development.
Essential Responsibilities
What You’ll Do
- Develop and optimize GPU‑accelerated components for large‑scale reservoir simulation models.
- Implement scalable parallel algorithms using NVIDIA GPU technologies within HPC environments.
- Optimize computational kernels for performance, memory efficiency, and scalability.
- Profile and optimize applications using tools such as NVIDIA Nsight, CUDA profiling tools, and other performance analysis tools.
- Collaborate with domain scientists and software engineers to improve simulation performance and scalability.
- Work with numerical methods used in large‑scale simulations, particularly sparse linear algebra algorithms and sparse matrix solvers.
- Contribute to architectural decisions related to GPU and HPC infrastructure.
- Maintain high standards for code quality, documentation, and scientific software development best practices.
Note: This description reflects the general nature of the role. It’s not a complete list of responsibilities—we believe in flexibility, initiative, and growing together.
Required Qualifications
- 5+ years of professional experience in HPC and GPU programming.
- Strong experience with NVIDIA GPU technologies (CUDA or similar).
- Experience with parallel computing frameworks such as MPI and/or OpenMP.
- Experience profiling and optimizing large scientific simulation codes.
- Proficiency in C/C++ and/or Fortran for scientific computing applications.
- Strong understanding of numerical methods used in scientific computing, particularly large‑scale numerical solvers, sparse linear algebra algorithms, sparse matrix solvers, and PDE‑based simulations.
- Experience working in Linux‑based HPC environments.
Preferred Qualifications
- Experience working with large‑scale simulation software.
- Experience with containerized development environments (e.g., Docker).
Education
A Master’s or PhD degree in Mathematics, Engineering, Physics, Computer Science, or a related field is highly preferred. A research background in high‑performance computing is preferred but not mandatory.
Location
Canada or South America
CMG Compensation and Benefits Overview – Canada
- A competitive salary
- A performance‑based bonus program
- Learning and development opportunities
- RRSP contributions
- Top‑of‑the‑line medical and dental benefits including a health spending account
- 20 days of vacation per year plus flex days
- Choice of transit pass or underground parking (Calgary)
- Car wash (Calgary)
- Cafeteria and complimentary barista‑style coffee and more (Calgary)
CMG Compensation and Benefits Overview – International
- A competitive salary
- Annual company bonus program
- Learning and development opportunities
- Retirement contributions
- Generous medical and dental benefits
- 20 days of vacation per year plus flex days
No need to call us about the status of your application. We promise—we’re reviewing every submission, and if your skills are a match, you’ll hear from us!
We kindly request that external recruiters and agencies refrain from submitting unsolicited resumes or candidate profiles. Submissions without a signed agreement in place will not be considered and will become the property of CMG.
About Us – Innovators in Simulation Technology
CMG (TSX:CMG) is a global software and consulting company that combines science and technology with deep industry expertise to solve complex subsurface and surface challenges for the new energy industry around the world. CMG is headquartered in Calgary, AB, with offices in Houston, London, Dubai, Bogota, Rio de Janeiro, Bengaluru, and Kuala Lumpur. For more information, please visit https://www.cmgl.ca
Requirements
- Strong experience with NVIDIA GPU technologies (CUDA or similar).
- Experience with parallel computing frameworks such as MPI and/or OpenMP.
- Experience profiling and optimizing large scientific simulation codes.
- Proficiency in C/C++ and/or Fortran for scientific computing applications.
- Strong understanding of numerical methods used in scientific computing, particularly large-scale numerical solvers, sparse linear algebra algorithms, sparse matrix solvers, and PDE-based simulations.
- Experience working in Linux-based HPC environments.
Responsibilities
- Develop and optimize GPU-accelerated components for large-scale reservoir simulation models.
- Implement scalable parallel algorithms using NVIDIA GPU technologies within HPC environments.
- Optimize computational kernels for performance, memory efficiency, and scalability.
- Profile and optimize applications using tools such as NVIDIA Nsight, CUDA profiling tools, and other performance analysis tools.
- Collaborate with domain scientists and software engineers to improve simulation performance and scalability.
- Work with numerical methods used in large-scale simulations, particularly sparse linear algebra algorithms and sparse matrix solvers.
- Contribute to architectural decisions related to GPU and HPC infrastructure.
- Maintain high standards for code quality, documentation, and scientific software development best practices.
Benefits
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free