Job Search and Career Advice Platform

Enable job alerts via email!

Researcher - Heterogeneous Optimization Solver (HPC/NLA Specialization)

Huawei Technologies Canada Co., Ltd.

Burnaby

On-site

CAD 121,000 - 230,000

Full time

Today
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading technology company in Canada seeks a Researcher to innovate high-performance computing solutions. Candidates should possess an advanced degree in a relevant field and strong expertise in modern C++. Responsibilities include designing algorithms, developing solver infrastructure, and optimizing computations. The position offers a competitive salary ranging from $121,000 to $230,000 based on experience and qualifications. Join a forward-thinking team to tackle challenging computational problems.

Qualifications

  • Advanced degree (PhD or Master’s) with focus on optimization or HPC.
  • Proficiency in modern C++ and strong software engineering skills.
  • Expertise in designing algorithms for numerical stability and efficiency.

Responsibilities

  • Design and implement parallel core algorithms for optimization.
  • Develop HPC-ready solver infrastructure focusing on efficiency.
  • Optimize performance using advanced parallelization strategies.

Skills

Modern C++ (C++17)
Numerical Linear Algebra (NLA)
Parallel programming models (MPI, OpenMP, TBB)
Algorithm design for scalability and efficiency

Education

PhD or Master’s degree in Computational Mathematics, Numerical Analysis, Operations Research, or Computer Science

Tools

GPU programming libraries (CUDA, OpenACC, OpenCL, HIP)
High-performance numerical libraries (cuSPARSE, PETSc, Trilinos)
Job description

Huawei Canada has an immediate permanent opening for a Researcher.

About the team:

The Intelligent Cloud Infrastructure Lab aims to innovate technologies, algorithms, systems, and platforms for next‑generation cloud infrastructure. The lab addresses scalability, performance, and resource utilization challenges in existing cloud services while preparing for future challenges with appropriate technologies and architectures. Additionally, the lab aims to understand industry dynamics and technology trends to create a robust ecosystem.

About the job:
  • Design and implement parallel core algorithms for optimization, with a specific focus on developing, optimizing, and integrating high‑performance sparse linear solvers (e.g., factorization, preconditioning) for large symmetric linear systems.
  • Develop and design HPC‑ready solver infrastructure, focusing on efficient memory management, cache utilization, NUMA‑aware programming, and cross‑platform portability for heterogeneous systems.
  • Optimize performance across multiple fronts (cutting‑edge parallelization strategies for distributed memory/shared memory), with a strong emphasis on profiling and accelerating key computational bottlenecks on heterogeneous architectures (CUDA/CANN/OpenCL/HIP).

The base salary for this position ranges from $121,000 to $230,000 depending on education, experience and demonstrated expertise.


About the ideal candidate:
  • Advanced degree (PhD or Master’s degree) in Computational Mathematics, Numerical Analysis, Operations Research, or Computer Science with a focus on large‑scale optimization or HPC.
  • Proficiency in modern C++ (C++17) with exceptional software engineering skills and expertise in low‑level performance tuning, data layout optimization, and memory management for parallel architectures.
  • Deep expertise in Numerical Linear Algebra (NLA), specifically sparse matrix computations and the design/implementation of direct and iterative solvers for symmetric indefinite and symmetric positive definite systems.
  • Ability to design algorithms with attention to algorithmic scalability, numerical stability (e.g., pivot selection/reordering), and high computational efficiency on parallel/heterogeneous hardware.
  • Direct experience with parallel programming models such as MPI, OpenMP, and/or TBB for shared and distributed memory systems.
Nice to have:
  • Experience contributing to or deeply utilizing the core NLA components of major open‑source or commercial solvers. (e.g., Gurobi, CPLEX, SCIP, HiGHS, OR‑Tools, IPOPT).
  • Hands‑on experience developing or extending optimization algorithms (e.g., simplex, interior‑point, branch‑and‑bound, constraint propagation, heuristics, local search, nonlinear solvers).
  • Proven experience with GPU programming (CUDA, OpenACC, OpenCL, or HIP) and utilizing high‑performance numerical libraries (e.g., cuSPARSE, cuSOLVER, PETSc, Trilinos, or similar HPC NLA packages).
  • Contributions to open‑source optimization or numerical computing libraries.
  • Track record of publications in top venues relevant to optimization, large‑scale numerical analysis, or high‑performance computing (HPC) (e.g., SIAM, ACM TOMS, Supercomputing conferences).
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.