Job Overview: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
- Line management and taking the lead on some technical areas within the team
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
- Line management and/or mentoring experience
“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