Runtime Optimisation Engineer

AnyVision, Research · Full-time

About The Position

AnyVision Research is a world leading team of scientists and engineers that creates AI for theReal World. With deployments and clients spanning the globe, we are recognised as leaders in the fields of Face recognition, Object recognition, Object detection, and Visual Target Tracking.

AnyVision is dedicated to providing a diverse and flexible work environment so that we can recruit and retain the best talent. Working for AnyVision you will:

·        Be a part of a diverse, multinational and inclusive team

·        Receive challenging work and assignments

·        Receive world class training and experience on cutting edge systems and complex projects

·        Be supported by a flexible and supportive work environment

As we grow in scope and ambition in 2019, we are looking for a highly motivated Runtime Optimisation Engineer to join our research team.

You are:-

A highly motivated individual with a rigorous, meticulous, and scientific approach to life. You are also passionate about the impact that AI is having in the world and you want to be part of it. You should be comfortable working within a team when it suites the project at hand, but also be capable of working on your own if needs be. You are a person with creativity to tackle new problems and challenges never tested before in the field. You will be happy travelling occasionally.

You will:-

Your primary responsibilities will be to implement and improve runtime systems to target hardware such as standard CPUs and GPUs (Nvidia, Intel embedded) and mobile CPUs, GPUs and DSPs (e.g. Qualcomm). We deploy our algorithms everywhere from the cloud systems with enterprise GPUs (e.g. Nvidia T4) down to low-power edge devices (e.g. Nvidia Nano, Intel NUC) and smartphones. Writing, testing, debugging and maintaining code, whilst interacting closely with other team members and clients, is a central part of the job.

Working at AnyVision offers the opportunity to help deliver world-leading ‘A.I.’ technology. We offer unique opportunities and challenges to learn new technologies and be at the very bleeding edge of the computer vision and machine/deep learning industry. Within the optimisation team, projects include: creating tools and tool sets (custom kernels, APIs, test systems/suites, etc.) for state-of-the-art hardware; developing and optimizing machine/deep learning and computer vision applications; research and development into emerging heterogeneous languages (Halide, TVM, OpenCL); prototyping new hardware specific deep learning inference engines and pipelines (e.g. Qualcomm SNPE, ARM NN).

Requirements

Must have skills / experience:

  • Strong knowledge and experience of C++11 onwards
  • Development of robust, maintainable, efficient and testable code for secure and reliable systems
  • Minimisation of memory footprints, data movements, allocations and de-allocations
  • Development of fast, scalable and correct concurrent programs
  • Craft cross-platform (Linux, Android and/or Windows) solutions
  • Profiling and optimisation of performance and memory system usage
  • Ability to learn new technologies and development approaches on the job

Desirable skills / experience:

  • OpenCL/CUDA/C++AMP/other GPGPU frameworks
  • Experience of Clang/LLVM compiler projects
  • Prior experience in deep learning
  • Knowledge/experience of domain specific languages (e.g. Halide/TVM)
  • OpenVX

Benefits:

  • Highly competitive salary and regular salary reviews
  • Technical training
  • Contributory pension scheme
  • Private healthcare
  • Gym membership
  • Flexible working
  • Regular company social events and activities

Location:

Belfast, United Kingdom, London, United Kingdom, or New York, United States of America

The closing date for applications:

14th September 2019

Apply for this position