Software Engineer

Software Engineer (C++)

Location: London (Hybrid 2 days onsite a week)

Salary Range: Up to £140,000

Annapurna Recruitment is seeking a talented Software Engineer to join a pioneering team developing cutting-edge AI solutions for autonomous systems. This London-based role offers the opportunity to work on optimizing AI inference performance on embedded GPU platforms, contributing to the advancement of real-time decision-making in autonomous driving.

What to Expect

The successful candidate will focus on host-side software and hardware interactions to ensure optimal data transfer and resource management for efficient AI inference on GPUs. Key responsibilities include

  • Developing and optimizing C++ code for efficient data transfer and latency management between the host and GPUs across diverse vendor platforms.
  • Working with low-level system and memory management techniques to minimize latency and improve real-time inference performance.
  • Utilizing and implementing GPU programming APIs (e.g., CUDA, OpenCL) to ensure high efficiency and compatibility across GPUs.
  • Profiling and debugging system performance using tools like NVIDIA Nsight, Intel VTune, and vendor-specific profilers, identifying bottlenecks and implementing effective solutions.
  • Collaborating closely with software, hardware, and machine learning teams to ensure that data is managed, preprocessed, and made available to the GPU as quickly and efficiently as possible.
  • Staying current with advances in GPU hardware, optimization techniques, and multi-vendor GPU programming approaches.
  • Adhering to and promoting industry best practices for real-time, low-latency processing in autonomous systems.

Essential Requirements:

  • 3+ years of experience in C++ programming, with a strong grasp of modern C++ standards.
  • Proven experience in GPU programming and optimization, with proficiency in CUDA, OpenCL, or other GPU programming frameworks.
  • Strong knowledge of parallel computing concepts, including data locality, memory access patterns, and synchronization.
  • Proficiency with performance profiling tools and techniques for identifying and resolving system bottlenecks.
  • Experience in system-level programming, including memory management, data alignment, and hardware-software interfacing.
  • Bachelor’s or Master’s degree in Computer Science or a related field, or equivalent commercial experience.

Desirable:

  • Experience in real-time processing or embedded systems.
  • Familiarity with autonomous systems, robotics, or real-time AI inference.

Benefits

The company offers a comprehensive benefits package, including:

  • A hybrid working policy that combines in-office collaboration with remote flexibility.
  • Opportunities to work on groundbreaking AI technologies with real-world applications.
  • A supportive and inclusive work environment that values diversity and innovation.
  • Access to ongoing professional development and career growth opportunities.
Company
Annapurna
Location
Slough, Berkshire, UK
Hybrid / WFH Options
Employment Type
Full-time
Posted
Company
Annapurna
Location
Slough, Berkshire, UK
Hybrid / WFH Options
Employment Type
Full-time
Posted