Lead impactful projects at a cutting-edge technology company, advancing machine learning applications. Collaborate with talented professionals in a hybrid work environment. Enhance your expertise in high-performance systems.
Senior Machine Learning Engineer
in Information Technology PermanentJob Detail
Job Description
Overview
- Develop and optimize high-performance C++ software for real-time computer vision and tracking algorithms on edge devices.
- Collaborate with engineers to integrate machine learning models into production pipelines, enhancing system orchestration and data processing.
- Design multithreaded and parallel processing pipelines for synchronized data handling from networked camera systems.
- Implement and optimize GPU-accelerated components using CUDA kernels to improve throughput and reduce latency.
- Develop robust data structures and memory management strategies for handling extensive video and sensor metadata streams.
- Profile and optimize code using advanced tools to enhance CPU and GPU utilization.
- Contribute to system-level architecture decisions, ensuring efficient inter-process communication and resource allocation.
- Collaborate with simulation teams to deploy and evaluate algorithms in realistic scenarios, ensuring fault handling and performance monitoring.
Key Responsibilities & Duties
- Design and implement high-performance C++ software for real-time computer vision applications on edge devices.
- Collaborate with ML engineers to integrate models into production pipelines, optimizing pre/post-processing workflows.
- Develop multithreaded pipelines for synchronized data processing from networked camera systems.
- Optimize GPU-accelerated components using CUDA kernels to enhance inference and tracking performance.
- Design efficient data structures and memory management strategies for handling large-scale video and sensor data.
- Utilize profiling tools to identify bottlenecks and improve system performance.
- Contribute to architectural decisions for edge platform deployment and resource scheduling.
- Collaborate with teams to deploy algorithms in test scenarios, ensuring robust fault handling and monitoring.
Job Requirements
- Bachelor's degree in Computer Science, Engineering, or related field.
- 5+ years of experience in modern C++ development, including object-oriented and generic programming.
- Proficiency in multithreading and concurrency for robust system development.
- Experience with parallel processing frameworks for real-time applications.
- Strong knowledge of data structures, algorithms, and memory management optimization.
- Hands-on experience with CUDA and GPU programming frameworks.
- Familiarity with integrating ML inference engines into production systems.
- Expertise in Linux-based development, including build systems and cross-compilation.
- ShareAustin: