GPU Programming (advanced)
Overview
The senior computer Vision Software Developer will work on Computer Vision projects turning Zebra's core algorithms from prototypes to high quality product ready code.
The developer will design and implement strategies for optimizing computer vision algorithms for different hardware architectures (e.
g. x86, GPU, multi-core ARM CPU, DSP) based on performance, power and size constraints.
Responsibilities
Development of turning prototyped computer vision algorithms into high quality product ready code
Design and recommend strategies for optimizing computer vision algorithms for different embedded system and mobile devices
Design and / or review architected modules and software systems supporting new technology or improving capability / performance of existing functionality
Take responsibility for communicating with different engineers (embedded systems, backend server, computer vision) to continuously improve and optimize implemented algorithms
Create automated software tests and provide support to trouble shoot software issues when needed
Documentation of software architecture
Provide recommendations and solutions to problems using experience in multiple technical areas
Receive little instruction on day-to-day work and general instructions on new assignments
May influence the activities of junior level personnel
Qualifications
Masters in Computer Engineering / Computer Science (preferably with specialization in computer vision and machine learning);
alternatively a comparable industry career, with significant experience in delivering products using state-of-the-art computer vision and / or machine learning systems
5+ years work experience
Broad understanding of computer vision; key areas of interest include object detection, tracking and recognition, multiple view geometry, OCR detection, camera calibrations, 3D data processing, SfM / SLAM, activity recognition
Optimization experience on embedded GPU and DSP platforms : Nvidia, ARM
Parallelized & vectorized computation
Solid GPU programming experience using CUDA or Open CL
Excellent C, C++11 and above programming skills
Experience in signal processing algorithms and implementation
Work is evaluated upon completion to ensure objectives have been met
Determines and develops approach to solutions