FYI Spring Haskell internship opportunity at Intel: parallelism/vectorization EDSL

21 views
Skip to first unread message

Ryan Newton

unread,
Nov 15, 2010, 4:34:44 PM11/15/10
to boston...@googlegroups.com
Hi Boston Haskellers,

I thought this may be of interest to someone on this list. 

The internship is at Intel in Hudson, MA.  This should be a fun project full of Haskell hacking, hopefully with a significant chance of impacting parallel programming in the Haskell community.

We are a small research group run directly by the CTO of Intel's Developer Products Division.  Our group works on high-level parallel programming tools (including for Haskell) and applies binary translation to various problems; also we collaborate closely with Intel's various developer tools teams (Cilk, TBB, etc).

We are looking for someone to work on a new, self-contained Haskell project to create an embedded domain-specific language (EDSL) that targets the ArBB virtual machine for vectorization.  One possible solution is to adapt existing projects that target CUDA (e.g. accelerate and Nikola).

Array Building Blocks (ArBB) is an interesting and ambitious project that attempts to bring metaprogramming and EDSLs to the masses.  It's based on research by Michael Mccool at Waterloo that he used to found a company, RapidMind, which was later bought by Intel. 

The basic idea is that the VM abstracts over the thread and vectorization capabilities of CPUs, GPUs, and other manycore chips.  The VM defines a restricted compute language and provides a managed (yes, garbage collected) environment.  Using the normal EDSL and metaprogramming tricks the user writes a portable program in a host language that streams ASTs to the VM at runtime.  The vector programs supported by the VM include the usual aggregate array operations and high level transformations (map, fold, etc), and the VM can perform fusion/deforestation optimizations while JITting.

The VM API for generating programs is a simple C API that can be called from anywhere.  The ArBB team is anxious to demonstrate language frontends for other languages, and Haskell is a good candidate.

The job requisition number is 584943. You can submit your full application here:
   https://intel.taleo.net/careersection/10000/jobdetail.ftl?lang=en&ctx=1&job=584943

Please include a cover-letter explaining why you are great for this job. Also send an email including your cover-letter and CV to ryan.r...@intel.com. Thank you. 

Cheers,
  -Ryan

LOCATION: Hudson, MA
DURATION: 3-6 Months, flexible
START: Some flexibility, ~January, 2011
EXPERIENCE: Expert Haskell/GHC programmer.  Interest in research a plus.

LOCATION NOTE:  With a car it is possible to live in Cambridge or Boston and reverse-commute to our location.  (Working offsite two days a week is possible.)



Reply all
Reply to author
Forward
0 new messages