Hiring (self-driving algos, HLL compiler research)

September 11th, 2016

OK, so 2 things:

1. If you send me a CV and they're hired to work on self-driving algos – machine vision/learning/mapping/navigation, I'll pay you a shitton of money. (Details over email.) These teams want CS/math/physics/similar degree with great grades, and they want programming ability. They'll hire quite a lot of people.

2. The position below is for my team and if you refer a CV, I cannot pay you a shitton of money. But:

We're developing an array language that we want to efficiently compile to our in-house accelerators (multiple target architectures, you can think of it as "compiling to a DSP/GPU/FPGA.")

Of recent public efforts, perhaps Halide is the closest relative (we're compiling AOT instead of processing a graph of C++ objects constructed at run time, but I'm guessing the work done at the back-end is somewhat similar.) What we have now is already beating hand-optimized code in our C dialects on some programs, but it's still a "blue sky" effort in that we're not sure exactly how far it will go (in terms of the share of production programs where it can replace our C dialects.)

As usual, we aren't looking for someone with experience in exactly this sort of thing (here especially it'd be hopeless since there are few compiler writers and most of them work on lower-level languages.) Historically, the people who enjoy this kind of work have a background in what I broadly call (mislabel?) "discrete math" -  formal methods, theory of computation, board game AI, even cryptography, basically anywhere where you have clever algorithms in a discrete space that can be shown to work every time. (Heavyweight counter-examples missing one of "clever", "discrete" or "every time" – OSes, rendering, or NNs. This of course is not to say that experience in any of these is disqualifying, just that they're different.)

I think of it as a gig combining depth that people expect from academic work with compensation that people expect from industry work. If you're interested, email me ([email protected]).

All positions are in Jerusalem.

1. Joachim SchipperSep 11, 2016

I hope you'll blog about the array language in due time!

2. Yossi KreininSep 11, 2016

Not sure I will... The biggest obstacle is I don't know much about its guts; of all the things I manage, I manage this less actively than most. My biggest contribution is supplying the optimism that since image/array processing is a small subset of what a Turing-complete language could do, a compiler can be way smarter about it than we're used to; my rather uninformed optimism proved a better predictor of success than the informed pessimism of the actual compiler writers. Ignorance is power!

3. MarkSep 17, 2016

You may not know much about it's guts, but surely you can talk about the surface syntax?

4. JesusNov 6, 2016

Sounds like a job I'd enjoy! I'm a PhD candidate applying APLs to GIS. The goal is having simple / portable scripts (i.e. Python) compiled to GPU code. Data locality is the #1 concern. Very on the line of Halide. Such a pity i'm just a student at the moment .-)

Post a comment