Job Overview:As a developer of power-efficient processor technology, Arm is ideally positioned to solve challenges facing a wide variety of markets, including Automotive, IoT, Mobile, and Servers. Effective solutions require a "system" mindset and your innovative ideas will support Central Technology to develop system architectures and influence industry-leading IP that underpin each solution.
This diverse role will largely focus on providing software enablement for our next generation CPU and accelerator based technologies on target use-cases. Typical activities would include application and system analysis, technology research, hands-on software prototyping to understand how software and hardware behaves, experimental investigations, and performance analysis. Recent projects have included technologies related to AI Video Camera, Video encode/decode, and LLM (Large Language Model) applications.
Responsibilities:- Application bring-up on/porting to Arm silicon and modelling platforms
- Analyzing software stacks both statically (code structure) and dynamically (runtime performance profiling) to characterize the workloads/algorithms and determine a baseline performance from which to start optimization
- Accelerating algorithms with hand-optimized Arm assembly using the latest Arm technologies such as SVE (Scalable Vector Extensions) and SME (Scalable Matrix Extensions)
- Projecting and measuring gains at the application level
- Evaluating workload sensitivity to micro-architecture features and considering relevant trade-offs, especially related to performance
- Providing suggestions about improvements to the (micro-)architecture & application software
- Developing tools to automate workflow
Required Skills and Experience :- Good understanding of computer architecture and embedded systems
- Experience of software development for a commercial organization
- Strong knowledge of C or C++ programming
- Proficiency in problem solving and debugging skills
- Practical, organized and analytical approach to work
- Good oral and written English skills
“Nice To Have” Skills and Experience :- Experience with assembly programming
- Knowledge of optimising and profiling software
- Software development and integration on Linux, Android, or similar systems
- Knowledge of scripting languages, including Python