Job Description
Deep Learning Developer Jobs Montreal, QC, Most of the dominant Deep Learning frameworks are full C++, with Python and bindings for other languages on top. So in practice, it’s always compiled C++ running
Job Details
Hiring Organization | Algolux |
Post Name | Senior C++/Deep Learning Developer |
Qualification | Bachelor or Master’s degree in Computer Science, Software Engineering |
Industry | Private |
Employment Type | Full Time |
Work Hours | 8 Hours |
Salary | CAD 40 To CAD 50 Per Hour |
Location | Montreal, Québec, Canada P3A 5P3 |
Bachelor or Master’s degree in Computer Science, Software Engineering
Algolux is a globally recognized computer vision company addressing the critical issue of safety for advanced driver assistance systems and autonomous vehicles. Our machine-learning tools and embedded AI software products enable existing and new camera designs to achieve industry-leading performance across all driving conditions.
Founded on groundbreaking research at the intersection of deep learning, computer vision, and computational imaging, Algolux has been repeatedly recognized at industry and academic conferences and has been named to the 2021 CB Insights AI 100 List of the world’s most innovative artificial intelligence startups.
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++/Deep Learning 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 a proven ability to write production-quality code and who is comfortable collaborating with the R&D team.
- Key Responsibilities Implement or port Python-based computer vision, image processing, and machine learning algorithms to Modern C++ / CUDA for x86/GPU and ARM64/GPU embedded platforms.
- Perform model conversion and evaluation of TensorFlow CNNs to ONNX and TensorRT.
- Benchmark and characterize CNN model performance on different platforms and quantizations/precisions.
- Validation of target hardware inference accuracy against ground-truth models.
- Participate in the design of Computer Vision software infrastructure that:
- Supports deployable, maintainable code for highly critical software systems (e.g. automotive safety).
- Developing in Linux environments and Docker containers.
- Participate in peer design collaboration and code reviews.
- Participate in continuous improvement of group development practices and processes.
Requirements
- Strong C++ development skills:
- Mastery of modern C++ standards (C++14 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.
- Understand memory structures and storage.
- Experience with debugging and using tools such as gdb/lldb, valgrind, etc.
- Familiarity with cross-compiling and cross-platform build systems, like CMake.
- Excel at software library design, creating linkable libraries with well-designed and documented APIs
- Experience with image detector and classifier Network Architectures and related Machine Learning concepts.
- Adapting state-of-the-art CNN architectures to real-world problem spaces.
- Network quantization and layer normalization.
- Excellent understanding of parallel computing (GPGPU) and high-performance (HPC) concepts:
- Parallel programming and optimization of GPU kernels.
- Understanding of GPU architectures and how to optimize code for different GPU-based platforms.
- Understanding of multi-threaded programming and thread safety
- Excel at working in a highly collaborative environment:
- Familiarity with AGILE development practices.
- Comfortable using collaborative development tools such as Git and Jira.
- Ability to adhere to company coding standards.
- Bachelor or Master’s 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 to 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, and NPP.
- 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.
Apply Now
Related Jobs For You |
Lawyer Jobs in Toronto |
Security Agent Job in Toronto, Canada |
Best Data Entry Jobs in Toronto |
New Job Vacancies in Toronto |
Jobs in Toronto For Students |
21 thoughts on “Deep Learning Developer Jobs Montreal, QC”