Development of a GPU-based solver for numerical simulation - QC-230

Desired discipline(s): Engineering - computer / electrical, Engineering, Computer science, Mathematical Sciences, Mathematics
Company: Anonymous
Project Length: Longer than 1 year
Preferred start date: As soon as possible.
Language requirement: Bilingual
Location(s): Montreal, QC, Canada
No. of positions: 2
Preferred institutions: Concordia University, École de technologie supérieure, École Polytechnique de Montréal, McGill University, Université de Montréal, Université de Sherbrooke, Université du Québec à Montréal, Université Laval

About the company: 

We are a software company that develops, integrates, customizes and provides services in engineering simulation software. 

Please describe the project.: 

GPU computing has the potential to significantly reduce the engineering simulation calculating time. As a consequence, more and more high performance computing hardware includes GPU capabilities. However, those capabilities are not fully exploited by the current solvers.

A new approach is required for several engineering simulation solutions to maximize the use of GPU calculation in order to reduce the total simulation time.

The key challenges are the ability to:

  • Run simulation on GPU cores
  • Manage parallelization between CPU & GPU cores
  • Develop a GPU-based solver
  • Demonstrate its performances
  • Develop a protocol to interface with CPU-based solvers and workload distribution for numerical simulation
  • Demonstrate the performances of the new approach (simulation time reduction) for several different applications

Main objectives of the program:

  • Conduct a study/review of the state-of-the-art of GPU programming and GPU integration in calculation hardware
  • Identify of the most promissing GPU programming method & the most promising parallelization scheme
  • Develop the GPU solver & Parallelization manager
  • Compare the performance of the new approach on classic benchmark cases

Required expertise/skills: 

  • Computer science
  • Advanced programming
  • Numerical simulation
  • Knowledge of GPU programming
  • Knowledge of numerical solver programming
  • A PhD is prefered for this internship, but Master's & Post-Docs can apply.