We are looking for someone with broad software skills, with focus on
modern C++ and Python development under Linux.
You should have demonstratable experience with C++17 or later, Python3,
Bash, GIT, GCC, CMake, CTest, GMake, and modern CI/CD processes such as
JIRA, pull requests, code review, git-runners.
The ideal candidate will have additional experience in three or more of
these areas:
- Experience building, modifying and contributing to opensource
projects. - Experience with parallelization of tasks using LSF
- Experience in developing processor models, in particular RISC-V
- Experience with processor execution trace management, any of: Map,
Sparta, STF lib, Dromajo, Spike, Whisper, Veer, is a strong plus - Experience with QEMU/GEM5 for any architecture.
- Experience with Conda
- Experience modifying LLVM or GCC source
- Experience with assembly language programming for any ISA,
including linker scripts and other development tools - Experience with GitHub processes, AWS infrastructure
We are looking for optional experience in these areas, as distinct from
just familiarity.
Any exposure to processor architecture or organization will be valuable,
but not required.
Key Responsibilities: - C++ Development:
o Design, implement, and optimize features for processor
simulators and related tools.
o Contribute to the development and improvement of open-source
projects.
o Debug, profile, and enhance existing C++ codebases.
o Assist in modification of cross compilers, LLVM and GCC
o Develop in-line assembly within C++ source code - Python3 Development:
o Develop utilities and scripts for automation, data processing,
and tool integration.