Job Overview:
We are the CPU Technology team, part of Arm Central Technology Group. This diverse engineering centric group invents, defines and architects Technologies to be deployed in tomorrow's IP solutions from Arm.
The CPU Technology team tackles next-generation Arm CPUs, inventing new concepts that will fuel billions of devices worldwide!
Responsibilities:
Analyse benchmarks and workloads to identify software and hardware optimization opportunities, analyse CPU performance and understand limitations we need to break through.
Collaborate with various software teams, compiler, OS, applications to implement improvements.
Collaborate with CPU design teams to identify bottlenecks.
Write/Extract performance tests out of existing SW applications and run it on C/C++ models, emulators or real devices (Laptops, Smartphones, Servers…) on various operating systems.
Work alongside modelling engineers, CPU design teams and Arm Architecture group.
Drive technical activities.
Collaborate with Business teams and partners to present technical results.
Required Skills and Experience:
You graduated from a university or Engineering School, in Computer Science, Mathematics, Electronic / Electrical Engineering, or other related science.
You have a minimum of several years of either software, hardware, or mathematical experience.
You have proven experience in software programming alongside technical management.
You have a passion to innovate, think differently, explore new avenues.
You can work efficiently alone as well as in a team environment.
“Nice To Have” Skills and Experience:
Strong software development experience in one or several domains like HPC, machine learning, distributed applications, web technologies, mobile applications, databases, multi-media, etc.
Development skills in one or more high-level programming languages (C, C++, Java, Rust, etc.).
Software performance analysis experience in platforms like Android (big/LITTLE systems), Windows, Linux and the impact of operating system settings (power management, frequency governor, etc.), single-threaded vs multi-threaded.
Working experience in CPU performance analysis, methodology (PMU-based, TDA, etc.), tools (linux perf, Intel Vtune, android simpleperf/perfetto, etc.), aarch64 assembly language programming.
Knowledge of CPU architecture and micro-architecture performance techniques (branch prediction, prefetchers, etc.).
Experience in developing and adapting experimental application code to test new architectures.
Demonstrated passion, drive, and diligence.
Good written and verbal communication skills.
In Return:
We work directly with engineers across the company to drive next-generation hardware. Your work will have a direct impact on our bottom line and the ability to deliver improvements for our customers. You will be part of a growing and fast-paced initiative within a team with varied strengths and give direction to your own work.
#J-18808-Ljbffr