Compiler Engineer - Soft Machines

Soft Machines is in the business of licensing and co-developing Soft Machines VISC™ architecture-based microprocessor and SoC products for IoT, mobile and cloud markets.

Corporate headquarters are in Santa Clara, California, USA, with international operations in India and Russia.

The company has grown to a 250-person semiconductor startup with operations in the U.S., India and Russia.

Soft Machines investors include Samsung Ventures, AMD, Mubadala, RVC, KACST, RUSNANO, TAQNIA and other strategic investors.

This is a key role optimizing JIT and Binary translator.

Your success will be measured by taking ownership of the project and see it through from prototyping to productization of an O3 level JIT to achieve 20% + geometric mean performance gain.

The formidable task in front of you is to complete within the 1st year the integration of LLVM into JIT infrastructure, achieve 100% pass rate on benchmarks, and achieve 90% of prototype performance levels. This will require you to achieve two challenging milestones;

(1) Integrate internal memory manager into LLVM at the IR level,

(2) Drive porting/tuning optimization into LLVM infrastructure. Along the way you will also apply your skills and experience to improve overall overhead reduction in LLVM infrastructure.

This role is available because the current team we have is already focused on overall performance with proprietary low latency JIT’s, customization of browser based JIT’s, and related runtimes. The bandwidth, to do this project does not exist without dropping other equally important projects. This is mission critical and you performance will has a huge impact to the project and you must drive the implementation and be the point person on all technical aspects.

You will impact the company by elevating performance gains made through software to help drive the company’s competitive benefits higher than just hardware alone.

This role will test you. You will be interacting heavily with hardware design groups on unreleased hardware and this creates limitations that normally a software engineer working on commodity hardware will not confront. Additionally, your flexibility and prescient awareness of what needs to be done next will get fully exercised to help bring the hardware design to fruition.

The very best in this role will know how to get things done quickly and correctly but in a maintainable fashion so that others can help/take over when needed. Taking the complex and making it simple is not an easy task but it is a brilliant outcome.

What is in it for you?

· The opportunity to work on a project that has a high chance to revolutionize CPU designs.

· This role has high visibility within the company, and the achievement of attaining the performance objects in the role will define a career.

· Working on our unique architecture and pushing compiler technology ahead of other hardware companies will be the hallmark of your abilities.

The baseline skills you need in this role are:

· LLVM, Binary Translator/JIT experience.

· Experience doing hardware performance analysis and target specific optimizations in the compiler.

· Knowledge of auto-vectorization of binaries.

Dan Gieber

Staffing Consultant

Soft Machines, Inc