Senior C++/GPGPU Software Developer

Algolux

Montreal, CA
  • Job Type: Full-Time
  • Function: Engineering Software
  • Post Date: 12/26/2020
  • Website: algolux.com
  • Company Address: 1751 Richardson St. | Suite 5.200, MontrĂ©al, QC, H3K 1G5

About Algolux

Algolux is an AI software company empowering vision systems with the most robust perception technology, on any sensor, in all conditions.

Job Description

Algolux provides industry-leading technology at the intersection of AI, computer vision, and computational imaging. We address mission-critical requirements for the automotive, autonomous vehicle and robot, and surveillance markets that are moving at an incredible pace of innovation across the globe. 

You'll work on Artificial Intelligence projects involving Computer Vision for Automated Vehicles (AV), Advanced Driver Assistance Systems (ADAS), Autonomous Mobile Robots (AMR), and  IOT/Surveillance. You will be a key part of a team that is building breakthrough end-to-end perception stacks for driver assistance systems and autonomous vehicles. We are looking for candidates that are motivated to solve key imaging and computer vision problems that will enable robust robotics and sensing in adverse scenarios in the wild. The technology developed at Algolux is deployed at scale in vehicles and camera solutions.

We believe in interdisciplinary research at Algolux and candidates will be working with a diverse team of imaging, computer vision, optimization, physics, and optics experts. 

As a Senior C++/GPGPU Software Developer, you will contribute to Deep Learning based Computer Vision applications on a variety of software and hardware platforms. The ideal candidate is a Software Engineer with proven ability to write production-quality code and who is comfortable collaborating with the R&D team.

Key responsibilities:

  • Implement or port computer vision and image processing algorithms to GPU-based platforms, including NVIDIA Drive AGX.
  • Participate in the design of Computer Vision software infrastructure that:
    • Supports a variety of computing platforms and custom hardware accelerators (such as PCs, embedded devices, CPU, GPU, VPU)
    • Leverages the power of existing Neural Network inferencing frameworks like TensorRT, OpenVINO, TensorFlow, etc.

Requirements:

  • Excellent GPGPU programming skills in CUDA:
    • Parallel programming and optimization of GPU kernels.
    • Neural Network inference frameworks, such as TensorRT.
    • Understanding of GPU architectures and how to optimize code for different GPU-based platforms.
  • Strong C++ development skills:
    • Mastery of modern C++ standards (C++11 or more recent).
    • Familiarity with object-oriented software design patterns, and their implementation in C++.
    • Comfortable using language features like STL, smart pointers, move semantics, templates, etc.  
    • Experience with debugging and using tools such as gdb, lldb, valgrind, etc.
    • Familiarity with cross-platform build systems, like CMake.
  • Experience working in a collaborative environment:
    • Familiarity of AGILE development practices.
    • Comfortable using collaborative development tools such as Git and Jira.
    • Ability to adhere to company coding standards.
    • Willingness to participate in code review processes.
  • Bachelor or Master degree in Computer Science, Software Engineering (or in similar fields), and at least 5 years of industry work experience as a Software Developer.
  • Proven dedication for writing production-quality code that is robust, efficient, portable, maintainable, and bug-free.

Nice To Have Skills:

  • Experience with other relevant NVIDIA libraries and frameworks, such as CUBLAS, CuDNN, NCCL.
  • Deep Learning frameworks such as TensorFlow, PyTorch or Caffe.
  • Automotive or Embedded Platforms, such as NVIDIA Drive or NVIDIA Jetson.
  • Deep Learning and Computer Vision algorithms. 
  • Multi-GPU development and environments.
  • Datacenter GPUs for DL training and inference workloads.

Related Jobs

Computer Vision Researcher

Algolux - Montreal, CA

Senior Embedded Software Developer

Algolux - Montreal, CA

Senior C++/GPGPU Software Developer

Algolux - Montreal, CA

QA Developer

Algolux - Montreal, CA

Imaging Researcher

Algolux - Montreal, CA
Disclaimer: Local Candidates Only
This company does NOT accept candidates from outside recruiting firms. Agency contacts are not welcome.