This job might no longer be available.
C/C++ Performance Engineer
2 years ago
The Research team is hiring a C/C++ performance engineer. The Research team brings together experienced researchers and software engineers from multiple disciplines interested in improving the performance, validity, richness and effectiveness of simulations of complex systems.
High performance computing is a vital enabler for everything that we aim to achieve: enabling us to build models of complex systems, to calibrate them using real-world data, to train AI that represents complex human behaviour, and to run these models for many combinations of uncertain variables to help identify robust strategies.
Producing fast and efficient software is core to our business and we collaborate with some of the leading academic research groups in the UK in our search for ways to increase the speed of processing (for example our support to the Royal Society’s RAMP initiative increased the speed of Covid 19 epidemiology models by 10,000 times).
Areas for Impact
- Collaborate with team members and colleagues across the business to identify the most important enhancements that high performance computing research could achieve
- Build open and collaborative relationships with academic and industrial research partners. Learn about and share novel ideas with the potential for delivering the enhancements you have identified, or for delivering other benefits to simulation.
- Pursue independent and collaborative research to investigate and demonstrate ways of delivering these enhancements. This requires translation of ambitious but often vague objectives into concrete research proposals, with a realistic assessment of the necessary resources and expected outcomes.
- Work with engineers and applied scientists from across the defence division, as well as our research partners and customers to trial and deliver prototype enhancements to Improbable’s platform.
- Share the knowledge you gain from both advances and failures of research initiatives to other researchers as well as non-technical audiences.
- Supervise the work of junior researchers, providing them with mentoring and enabling their development.
- Support your colleagues in their research in related fields, helping us deliver new insights through a multi-disciplinary approach to research.
- Care about maintaining and improving the status of our workplace as an inclusive, diverse working environment.
We'd like to hear from you if you identify with the following:
- You an experienced engineer who writes coherent, well-structured and efficient C/C++ code with a particular emphasis on performance.
- You are experienced with Python, in particular interop between Python and C/C++
- You have professional or academic experience with compilers, in particular compilation techniques for optimising performance, such as the use of Numba for Just-in-time (JIT) compilation in Python, or LLVM compiler development.
- You have professional or academic experience with kernel programming for optimising performance, e.g. GPUs (Graphical Processing Units) and CUDA.
- Experience with Numerical / scientific computing and related tools (e.g. NumPY) is also valued.
Nb. While we think the above experience could be important, we can’t predict the future and so we’re keen to hear from applicants that believe they have valuable experience. If you identify with the team & mission, but not all of the suggestions, then please still apply!!
#LI-EK1
About Us
Improbable is determined to foster an environment where people can do their best work and feel like they belong. We believe a healthy culture, strong values and contribution from a diverse range of individuals will help us to achieve success.
We do not discriminate based on race, ethnicity, gender, ancestry, national origin, religion, sex, sexual orientation, gender identity, age disability, veteran status, genetic information, marital status or any other legally protected status.
Create Your Profile — Game companies can contact you with their relevant job openings.