• Jobs
  • >
  • Senior Performance Software Engineer

Senior Performance Software Engineer

  • Permanent
  • Full time
  • Hybrid (Ireland)
  • SOFTWARE AND AI

The Role:

Openchip is building exciting new RISC-V chips with AI and HPC acceleration. As a Senior Perfomance Software Engineer you will play a crucial role in our performance team, optimizing popular AI and HPC applications and benchmarks to deliver best in class performance, and work with customers to optimize their workloads.


Key responsibilities:

1. Make independent technical contributions to help their team deliver its commitments. In particular:

– Optimize AI, HPC, and other workloads and benchmarks for our RISC-V silicon with vector extensions.

– Identify bottlenecks with workload characterization and drive implementation of solutions.

– Decompose applications and how they run on the underlying hardware. – Understand performance at a system level, from CPU, memory, storage, power utilization, etc.

– Profile and optimize on our pre-silicon (simulators, emulators, FPGAS), and silicon environments.

– Troubleshoot and root cause analysis, to resolve performance issues.

– Optimize HPC and AI libraries and runtimes.

– Work with customers to optimize their important workloads for our architecture.

– Contribute to instrumentation of performance and power at the operating system level.

– Integrate with CI/CD to automate performance benchmarking.

– Present findings to senior technical leaders at our company and at industry conferences.

– Contribute upstream where appropriate.

2. Interact with colleagues across projects to unblock issues, or to reach consensus on technical topics. In particular:

– Work with hardware teams, influencing hardware/software co-design.

– Work with teams developing compilers, firmware, AI stacks, middleware, etc., and contribute as necessary.

– Collaborate with colleagues through code reviews, bug triaging, design documents,...

– Contribute to shared team responsibilities (CI failure triaging, documentation, code fixits, rotations...).


Required qualifications:

• Bachelor or Master’s degree in a relevant field.

• Experience in the relevant field (3-5yr).

• Solid knowledge about computer architecture (CPU, cache, memory hierarchy, buses, etc.).

• Proven experience with performance optimizaiton, and experience with performance profiling and analysis tools (Linux perf, iperf, lmbench, sysbench, flamegraphs, JMeter, LoadRunner, Gatling, Intel (R) VTUNE, ARM SPE, etc.).

• Solid knowledge of low-level development languages (C, C++, Rust, etc.).

• Experience with assembly language (any architecture).

• Experience with performance benchmarks (CoreMark, FPMark, LMBench, Stream, SPEC CPU, SPEC INT, graph500, CORAL, HPGMG, CoMD, Linpack, SuiteSparse Matrix Collection, MLPERF, ResNet, BERT etc.).

• Solid understanding of operating systems, databases, networking, and cloud technologies.

• Experience with bare metal (without OS) development for embedded systems and microcontrollers.

• Experience with standard tools for source control (git), continuous integration, task management (Jira).


Soft skills:

• Team player: communicative and collaborative person who focuses on the outcome of the team above the individual needs.

• Curious about learning new technologies/stacks.

• Capable of within- and cross-team collaboration at the technical level.

• Can-do attitude, proactive and willing to step up and resolve any obstacle. Self-aware, self-starter, and self-motivated.

• Strong problem-solving skills with the ability to troubleshoot and identify complex issues.


Preferred qualifications:

• Experience with machine learning and/or HPC performance optimization.

• Experience with Fortran.

• Experience with RISC-V development at the assembly-language level.

• Experience with statistical analysis.

• Experience with emulators and simulators (Qemu, Gem5, Spike).

• Experience in containerized environments (Docker, Kubernetes).

• Experience with hypervisor technology (KVM, Xen).

• Experience with open source software development.


We are looking for outstanding people willing to join our mission to change this industry and help to build a better world.

If you feel identified with Openchip, please contact us. We can offer a competitive compensation package in a flexible work schema that will help you to keep a balance between your personal and professional life.

At Openchip & Software Technologies S.L., we believe a diverse and inclusive team is the key to groundbreaking ideas. We foster a work environment where everyone feels valued, respected, and empowered to reach their full potential – regardless of race, gender, ethnicity, sexual orientation, or gender identity.