Software Engineer C
Software Engineer C++ – GPU Acceleration
Overview
We are seeking a skilled C++ Engineer with strong GPU acceleration expertise to work on cutting-edge, high-performance systems used across entertainment, engineering, and scientific applications. This role focuses on maximising GPU-based processing performance, including real-time data handling, image processing, and machine learning workloads.
You will join a collaborative software engineering team and work closely with machine learning and research specialists in an environment that values technical excellence, innovation, and a healthy work–life balance.
Key Responsibilities
- Design and implement high-performance algorithms using CUDA
- Manage host–device interactions, including memory management, data transfer optimisation, and multi-GPU support
- Deploy and optimise machine learning models using TensorRT within C++ applications
- Profile and optimise GPU workloads using NVIDIA Nsight Systems and Nsight Compute
- Configure GPU hardware and software stacks to maximise runtime performance
- Evaluate and recommend appropriate GPU hardware for specific workloads
- Clearly communicate GPU-related opportunities and constraints to non-technical stakeholders
Required Skills, Knowledge & Experience
- Strong modern C++ development skills
- Proven experience with CUDA and CUDA libraries
- Solid understanding of software optimisation and performance tuning
- Experience developing and profiling GPU-accelerated applications
- Confidence working in performance-critical, real-time systems
Desirable (Not Essential)
- Knowledge of networking, streaming, or video compression
- Experience with real-time data pipelines or image processing systems
Working Environment
- Collaborative, cross-disciplinary engineering culture
- Close interaction with machine learning and research teams
- Informal and supportive workplace with an emphasis on sustainable workloads