Deep Learning Parallelisation Engineer

About The Position

AnyVision Research is a world leading team of scientists and engineers that creates AI for the Real 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 individual who will be responsible for development and deployment of AnyVision based algorithms onto Google’s Edge TPU. 


You are:

You are a highly motivated individual with a rigorous, meticulous, and scientific approach to life. You are also passionate about technology and software. You will have completed a degree in a scientific discipline, with some emphasis on programming. You may also have studied to a higher level (e,g, MSc or PhD, within a technical discipline). You should be comfortable working within a team when it suites the project at hand, but also be comfortable working on your own if needs be. You should have the drive and discpiline 

You will:

Your primary responsibilities will be to implement highly-optimised, portable deep learning software for computer vision and machine learning, targeting modern parallel heterogeneous platforms. This position requires solid working knowledge of modern C++11, GPGPU, (CUDA, OpenCL, SYCL) and understanding of generic programming and high-level C++ abstractions.

Main responsibilities will include designing, implementing and maintaining linear algebra and machine learning libraries in C++, implementing, optimising and parallelising deep learning algorithms with the focus on convolutional and recurrent neural networks. An understanding of parallel programming concepts is essential.

We deploy our algorithms everywhere from 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 and alternative implementations (e.g. Qualcomm SNPE, ARM NN).

Requirements

Must have skills/experience:

  • Strong knowledge and experience of C++11
  • Development of fast, scalable and correct concurrent programs
  • Knowledge and experience of software parallelization techniques
  • Profiling and minimisation of memory footprints, data movements, allocations and de-allocations
  • Performance profiling and optimization
  • Knowledge and experience of the GPGPU programming models like CUDA, OpenCL, SYCL
  • Ability to work with generic, heavily templated C++ code
  • Ability to debug code effectively
  • Working knowledge of version control systems
  • Ability to learn new technologies and development approaches on the job
  • Excellent communication skills, both verbal and written

Skills (beneficial):

  • Engineering knowledge of machine learning frameworks such as TensorFlow or Caffe
  • Knowledge of machine/deep learning
  • Cross-platform development

 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, New York, United Stated of America.


The closing date for applications:

31st October 2019

Apply for this position