[Haskell-cafe] Opportunity: Spring semester internship on Haskell project at Intel

Ryan Newton rrnewton at gmail.com
Mon Nov 15 11:02:51 EST 2010


Dear Haskellers,

We're looking for outstanding candidates for an internship in Spring 2011.
The internship will be in a suburb of Boston (Hudson, MA).  Graduate
students and talented undergraduates are welcome to apply, but time is a bit
short.

We are a small research group run directly by the
CTO<http://www.intel.com/pressroom/kits/bios/plowney.htm>of Intel's
Developer Products Division.  Our group works on high-level parallel
programming tools<http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/>(including
for
Haskell<http://software.intel.com/en-us/blogs/2010/05/27/announcing-intel-concurrent-collections-for-haskell-01/>)
and applies binary translation <http://www.pintool.org/> to various
problems; also we collaborate closely with Intel's various developer tools
teams (Cilk <http://supertech.csail.mit.edu/cilk/>,
TBB<http://www.threadingbuildingblocks.org/>,
etc).

We are looking for someone to work on a new, self-contained Haskell project
to create an eDSL that targets the ArBB virtual machine (VM) for
vectorization.  One possible solution is to adapt existing projects that
target CUDA (e.g. accelerate <http://hackage.haskell.org/package/accelerate>and
Nikola <%20http://www.eecs.harvard.edu/%7Emainland/projects/nikola/>).

Array Building Blocks
(ArBB)<http://software.intel.com/en-us/articles/intel-array-building-blocks/>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<http://en.wikipedia.org/wiki/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<http://www.intel.com/pressroom/archive/releases/20100531comp.htm>.
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 streams ASTs to
the VM at runtime.  These vector programs include the usual aggregate array
operations and high level transformations (map, fold, etc), and the VM can
perform fusion/deforestation optimizations while JITting vector codes.

The VM API for generating programs is a simple C
API<http://software.intel.com/sites/products/documentation/arbb/arbb_manual_win/group__arbb__virtual__machine.htm>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 official requisition will be available at the Intel Jobs site shortly,
but in the meantime if you are interested, please forward your CV to me at
ryan.r.newton at intel.com .

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.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20101115/06fe68fb/attachment.html


More information about the Haskell-Cafe mailing list