Job Opening - Compiler/JIT Engineer - Soft Machines

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 10% + geometric mean performance gain over current implementation.

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

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

(2) Drive porting/tuning optimization of LLVM infrastructure.

(3) Apply your skills and experience to reduce overhead in LLVM infrastructure.

(4) Provide feedback to architects on ways to improve software and hardware for better integration.

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 position is mission critical and your performance will has a huge impact to the project as 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 over competitors than through 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 uArch details, specifically how memory and execution systems work in some detail.

· Binary auto-vectorization experience is a huge plus.

If you would like more information, feel free to contact myself at micah dot villmow at smachines dot com or send resumes to http://goo.gl/oDQXFE

Forgot one thing.

This position is located at our US offices(Santa Clara) and being local is a requirement for the position.