Hiring (self-driving algos, HLL compiler research)

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 (Yossi.Kreinin@gmail.com).

All positions are in Jerusalem.


#1 Joachim Schipper on 09.11.16 at 5:57 pm

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

#2 Yossi Kreinin on 09.11.16 at 6:47 pm

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 Mark on 09.17.16 at 7:56 am

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

#4 Jesus on 11.06.16 at 11:30 pm

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 .-)

Leave a Comment