Junior Performance Software Engineer
OPENCHIP & SOFTWARE TECHNOLOGIES
Limerick, County Limerick, Ireland · Full Time
Be the first to apply
- Experience
- 1–3 yrs
- Salary
- —
- Openings
- 1
- Posted
- 1 day ago
- Work mode
- In office
- Education
- Bachelor or Master’s degree
- Resume
- Required to apply
Where you'll work
Sign in to tell us what does and doesn't work for you here — it sharpens every match we show you.
Job description
Position Overview
Openchip is pioneering new RISC-V processors incorporating AI and high-performance computing accelerators. As a Junior Performance Software Engineer, you will be an active member of the performance team tasked with enhancing the efficiency of prominent AI and HPC applications and benchmarks, as well as collaborating with clients to fine-tune their workloads.
Key Duties
- Deliver independent technical work contributing to team goals.
- Optimize AI, HPC, and other computational loads and benchmark tests on RISC-V hardware equipped with vector extensions.
- Analyze performance bottlenecks through workload characterization and implement targeted solutions.
- Break down how applications operate on specific hardware architectures.
- Gain a comprehensive understanding of performance factors, including CPU, memory, storage, and power efficiency.
- Use simulators, emulators, FPGAs, and actual silicon to profile and enhance performance.
- Conduct troubleshooting and root cause analyses to address performance challenges.
- Refine HPC and AI runtime environments and libraries.
- Partner with customers to tailor their key workloads for optimal architecture fit.
- Contribute to operating system-level instrumentation for tracking performance and power usage.
- Integrate performance benchmarking processes within continuous integration and deployment (CI/CD) frameworks.
- Communicate technical findings to senior management and present at industry forums.
- Engage in contributing upstream where suitable.
- Collaborate across teams to resolve obstacles and align on technical decisions, engaging with hardware groups for co-design, compiler and middleware teams, and code review processes.
- Support shared team duties such as CI failure handling, documentation, bug fixing, and team rotations.
Required Qualifications and Experience
- Bachelor's or Master’s degree in a pertinent discipline.
- Between 1 and 3 years of relevant industry experience.
- In-depth knowledge of computer architecture components including CPU designs, cache, memory hierarchy, and data buses.
- Proven capabilities in performance tuning and familiarity with profiling and analysis software such as Linux perf, iperf, lmbench, sysbench, flamegraphs, JMeter, LoadRunner, Gatling, Intel VTUNE, ARM SPE.
- Proficiency in low-level programming languages such as C, C++, or Rust.
- Assembly language experience across any CPU architecture.
- Hands-on involvement with performance benchmarking suites like CoreMark, FPMark, LMBench, Stream, SPEC CPU/INT, graph500, CORAL, HPGMG, CoMD, Linpack, SuiteSparse Matrix Collection, MLPERF, ResNet, BERT.
- Comprehensive understanding of operating systems, databases, network protocols, and cloud ecosystems.
- Strong analytical and problem-solving prowess for diagnosing complex issues.
- Embedded system experience including bare metal programming for microcontrollers.
- Familiarity with source control tools (like git), CI pipelines, and project tracking systems (such as Jira).
- Background in machine learning and/or HPC performance enhancements.
- Knowledge of Fortran programming language.
- Practical exposure to RISC-V assembly and development environments.
- Experience in statistical data evaluation.
- Use of emulation and simulation tools including Qemu, Gem5, and Spike.
- Working experience with container platforms such as Docker and orchestration systems like Kubernetes.
- Understanding of hypervisor technologies including KVM and Xen.
- Participation in open source software development projects.
Soft Skills
- Effective team player with strong communication and collaboration focused on collective success.
- Enthusiasm for learning emerging technologies and toolchains.
- Ability to cooperate technically within and across teams.
- Proactive, self-driven with a positive attitude, willing to overcome challenges independently.
Additional Information
This role offers a competitive compensation package paired with flexible working arrangements to support a healthy work-life balance. Openchip & Software Technologies S.L. champions diversity and inclusivity in its workforce, encouraging applicants from all backgrounds and identities. They foster an environment where every member feels respected, valued, and empowered to excel.
Minimum education
Bachelor's Degree