We are looking for software engineers with 3+ years of experience who want to work in an exciting and fast-paced environment profiling our high-performance CPU core and novel memory architecture.
You will be working on profiling Python and C / C++ applications to :
Identify classes applications that benefit most from our novel processor design
Assist our architecture and hardware teams to refine the design of our processor
Demonstrate our architecture’s performance benefits running customer applications
You will analyse how applications use memory to profile them and to help improve our novel hardware-based memory management. You will also be developing methods of dynamically profiling or statically analysing customer programs to understand if they will benefit from our hardware. You will develop tools to profile customer applications with and without our RISC-V processor extensions, to demonstrate the relative performance improvement.
An ideal candidate would offer many of the following :
Understanding of methods of profiling software on modern server-grade CPUs
Understanding of cache behaviours and properties of memory locality
Strong understanding of C / C++
Strong understanding of Python
Strong working knowledge of garbage collection algorithms (inc. reference counting)
Ability to ‘self-start’ and co-ordinate with members of the hardware and software
teams
Knowledge or experience in one or more of the following would be beneficial :
Understanding of managed language runtimes, in particular CPython
Profiling tools such as Scalene, perf and Valgrind
Working knowledge of processor pipelines (in-order and out-of-order
If you meet most but not all of the above, and feel you have something you could contribute
please