Implement parallel programming techniques including multi-threading, vectorization, and GPU acceleration. * Ensure solutions are portable across Linux (primary) and Windows environments. Performance ...
Implement parallel programming techniques including multi-threading, vectorization, and GPU acceleration. * Ensure solutions are portable across Linux (primary) and Windows environments. Performance ...
Software Developer
Toronto, ON · On-site
Knowledge of multi-threaded design principles and parallel programming * Experience delivering production quality software applications running on the Windows operating system * Strong user ...
Quick apply
Software Developer
Toronto, ON · On-site
Knowledge of multi-threaded design principles and parallel programming * Experience delivering production quality software applications running on the Windows operating system * Strong user ...
Knowledge of multi-threaded design principles and parallel programming * Experience delivering production quality software applications running on the Windows operating system * Strong user ...
Knowledge of multi-threaded design principles and parallel programming * Experience delivering production quality software applications running on the Windows operating system * Strong user ...
You would need strong C/C++ programming skills, as well as a deep understanding of parallel programming models. * Experience with compiler optimizations, especially working with LLVM infrastructure.
You would need strong C/C++ programming skills, as well as a deep understanding of parallel programming models. * Experience with compiler optimizations, especially working with LLVM infrastructure.
Understanding of parallel programming, ideally OpenCL, ROCm, CUDA, and OpenACC. * Understanding machine learning, artificial intelligence, computer vision technologies is a must. * Strong analysis ...
Understanding of parallel programming, ideally OpenCL, ROCm, CUDA, and OpenACC. * Understanding machine learning, artificial intelligence, computer vision technologies is a must. * Strong analysis ...
Understanding of parallel programming, ideally OpenCL, ROCm, CUDA, and OpenACC. * Understanding machine learning, artificial intelligence, computer vision technologies is a must. * Strong analysis ...
Understanding of parallel programming, ideally OpenCL, ROCm, CUDA, and OpenACC. * Understanding machine learning, artificial intelligence, computer vision technologies is a must. * Strong analysis ...
Senior / Lead Data Engineer
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Senior / Lead Data Engineer
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Senior / Lead Data Engineer
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Senior / Lead Data Engineer
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Strong programming skills in Python and C/C++; experience with Go or Rust is a plus; solid CS fundamentals: algorithms & data structures, operating systems, computer architecture, parallel ...
Strong programming skills in Python and C/C++; experience with Go or Rust is a plus; solid CS fundamentals: algorithms & data structures, operating systems, computer architecture, parallel ...
Background in parallel programming (e.g., CUDA, OpenMP) and experience reasoning about memory hierarchies, data movement, and compute utilization. * Demonstrated capability to collaborate directly ...
Background in parallel programming (e.g., CUDA, OpenMP) and experience reasoning about memory hierarchies, data movement, and compute utilization. * Demonstrated capability to collaborate directly ...
Business Analyst
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Business Analyst
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Business Analyst
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Business Analyst
Mississauga, ON · On-site +1
... parallel programming techniques. * Must be well versed in general infrastructure technology and understand public and private cloud concepts such as Software as a Service (SaaS), Platform as a ...
Software Engineer, Acceleration Kernel Development
Toronto, ON · Hybrid
CA$100K - CA$500K/yr
A developer who loves high performance code, parallel algorithms, wrangling bits, optimizing compute, and making hardware fly. * Great in C/C++ and able to build fast, efficient code from the ground ...
Software Engineer, Acceleration Kernel Development
Toronto, ON · Hybrid
CA$100K - CA$500K/yr
A developer who loves high performance code, parallel algorithms, wrangling bits, optimizing compute, and making hardware fly. * Great in C/C++ and able to build fast, efficient code from the ground ...
Implement advanced parallel and asynchronous programming patterns (TPL, Multi-threading) to process massive streams of real-time market data and execute complex pricing simulations Ensure Resilience:
Implement advanced parallel and asynchronous programming patterns (TPL, Multi-threading) to process massive streams of real-time market data and execute complex pricing simulations Ensure Resilience:
Senior / Staff Software Engineer, High-Performance Onboard Algorithms
Toronto, ON · On-site +1
CA$148K - CA$260K/yr
... parallel computing architectures (e.g., CPU, GPU, specialized accelerators) and low-level system programming. - Collaborate with Waabi's autonomy and hardware teams to ensure the efficiency and ...
Senior / Staff Software Engineer, High-Performance Onboard Algorithms
Toronto, ON · On-site +1
CA$148K - CA$260K/yr
... parallel computing architectures (e.g., CPU, GPU, specialized accelerators) and low-level system programming. - Collaborate with Waabi's autonomy and hardware teams to ensure the efficiency and ...
Your software will control millions of dollars of laboratory equipment, orchestrate parallel ... S. in Electrical Engineering, Computer Engineering, Computer Science, or related field * 4+ years ...
Your software will control millions of dollars of laboratory equipment, orchestrate parallel ... S. in Electrical Engineering, Computer Engineering, Computer Science, or related field * 4+ years ...
Experience with GPU hardware programming * Knowledge of GPU and CPU architectures. * Experience with parallel and asynchronous processing. * Experience with software performance analysis ...
Experience with GPU hardware programming * Knowledge of GPU and CPU architectures. * Experience with parallel and asynchronous processing. * Experience with software performance analysis ...
Data Engineer
Toronto, ON · Remote
CA$35 - CA$55/hr
Demonstrated work experience in the following with Big Data and distributed programming models and ... Active development of ETL processes using Spark or other highly parallel technologies, and ...
Quick apply
Data Engineer
Toronto, ON · Remote
CA$35 - CA$55/hr
Demonstrated work experience in the following with Big Data and distributed programming models and ... Active development of ETL processes using Spark or other highly parallel technologies, and ...
Staff Failure Analysis Engineer
CA$88K - CA$110K/yr
... parallel lapping, mechanical cross-sectioning and polishing. * Proficient in bench testing and ... Additional experience in the following engineering disciplines: Product Quality and Reliability ...
Staff Failure Analysis Engineer
CA$88K - CA$110K/yr
... parallel lapping, mechanical cross-sectioning and polishing. * Proficient in bench testing and ... Additional experience in the following engineering disciplines: Product Quality and Reliability ...
Infrastructure Engineer
Toronto, ON · Remote
CA$140K - CA$240K/yr
In parallel, this individual will help create the foundation for AI-enabled product capabilities by ensuring the underlying systems are dependable, observable, secure, and easy for engineers to use.
Infrastructure Engineer
Toronto, ON · Remote
CA$140K - CA$240K/yr
In parallel, this individual will help create the foundation for AI-enabled product capabilities by ensuring the underlying systems are dependable, observable, secure, and easy for engineers to use.
Parallel Programming information
See Toronto, ON salary details
$22.4K - $33.4K
5% of jobs
$33.4K - $44.4K
4% of jobs
$44.4K - $55.4K
5% of jobs
$55.4K - $66.3K
4% of jobs
$66.3K - $77.3K
3% of jobs
$87.4K is the 25th percentile. Wages below this are outliers.
$77.3K - $88.3K
3% of jobs
$88.3K - $99.3K
2% of jobs
$99.3K - $110.2K
3% of jobs
The median wage is $116.4K / yr.
$110.2K - $121.2K
35% of jobs
$130.4K is the 75th percentile. Wages above this are outliers.
$121.2K - $132.2K
12% of jobs
$132.2K - $143.2K
23% of jobs
$22.4K
$105.1K
$143.2K
How much do parallel programming jobs pay per year?
What is a Parallel Programming job?
A Parallel Programming job involves developing software that can execute multiple tasks or computations simultaneously to improve performance and efficiency. Professionals in this field work with multi-core processors, distributed systems, and GPU computing to optimize software for speed and scalability. They typically use programming models like MPI, OpenMP, or CUDA to implement parallelism. Industries such as high-performance computing, data science, and machine learning heavily rely on parallel programming to handle large-scale computations.
What are some typical challenges encountered in a Parallel Programming role?
Professionals in parallel programming often face challenges such as identifying code sections that can be effectively parallelized, managing data dependencies, and handling synchronization between parallel tasks. Debugging and optimizing performance in multi-threaded or distributed environments can also be complex, requiring patience and attention to detail. Collaboration with data scientists, hardware engineers, and other software developers is common, as projects frequently involve cross-functional teamwork. Overcoming these challenges is a rewarding part of the job, leading to faster, more efficient software solutions that can have a significant impact in fields like scientific computing, finance, and machine learning.
What are the key skills and qualifications needed to thrive in the Parallel Programming position, and why are they important?
To excel in Parallel Programming, you need a solid background in computer science, strong proficiency in languages such as C/C++, Python, or Java, and experience with parallel computing frameworks. Familiarity with tools like OpenMP, MPI, CUDA, or parallel processing libraries, as well as relevant certifications or coursework, is highly valuable. Analytical thinking, collaboration, and effective problem-solving are essential soft skills for success in this role. These competencies enable professionals to efficiently develop, debug, and optimize scalable applications in high-performance computing environments.

Other
Posted 10 days ago
Job description
The Role
Reporting to the Director, Software Development (or delegate), we are seeking an experienced Senior Software Developer - Numerical to join our geoscience software development team. This role is based in Toronto, ON, operating under a hybrid work model.
This position focuses on transforming early-stage research prototypes into high-quality, production-ready numerical software. You will design, implement, and optimize high-performance numerical libraries and compute kernels using C++, Python, and CUDA, ensuring scalability, robustness, and performance.
Working closely with researchers and domain experts, this role bridges scientific research and software engineering, requiring strong numerical expertise, performance-focused thinking, and effective cross-functional collaboration.
In this role, you will have the opportunity to
Numerical Software Development
- Develop and optimize high-performance numerical software in C++, Python, and CUDA.
- Re-engineer research prototypes into scalable, production-ready solutions.
- Implement parallel programming techniques including multi-threading, vectorization, and GPU acceleration.
- Ensure solutions are portable across Linux (primary) and Windows environments.
Performance & Quality
- Profile, benchmark, and optimize numerical workflows using tools such as Nsight and VTune.
- Improve runtime efficiency, memory usage, and algorithmic scalability.
- Design automated testing and verification frameworks to ensure numerical correctness and reliability.
Collaboration & Engineering Excellence
- Work closely with researchers, engineers, and product teams to translate research concepts into stable implementations.
- Participate in design reviews, technical planning, and peer code reviews.
- Produce clear technical documentation and apply modern engineering practices, including CI/CD (GitHub Actions) and version control.
Essential Knowledge, Skills, and Experience
- Bachelor's degree in Computer Science, Applied Mathematics, Physics, or a related STEM field.
- 7+ years of experience in software development or engineering roles.
- Strong experience in numerical computing with C++ and Python.
- Hands-on experience with CUDA, GPU programming, and parallel computing.
- Knowledge of numerical libraries such as Eigen or BLAS.
- Experience developing on Linux and supporting cross-platform environments.
- Familiarity with performance profiling tools and CI/CD pipelines.
Assets
- Experience with OpenMP, Rust, Fortran, cloud computing (GCP), containerization, or distributed systems.
#LI-KV2