[erlang-questions] 1000 cores on a chip

Richard O'Keefe <>
Mon Jan 10 23:52:47 CET 2011

On 10/01/2011, at 5:48 PM, Jesper Louis Andersen wrote:
> I think so too. If you want to use GPUs *now*, going for CUDA through
> a port or a NIF is the right way. My vision is that we can create a
> programming language (essentially domain-specific) for computations on
> GPUs. Yet, the GPUs are currently too quickly changing so it is not
> yet a stable enough platform.

Quite apart from things like OpenCL which are specifically designed for
GPUs, there are languages like APL and ZPL which should lend themselves
to adaptation to GPUs.  For that matter, I'd have thought Fortran 95 a
better starting point for GPU programming than C.  Languages like
Matlab (Octave) and S (R) encourage whole-array thinking, which is good
news for GPUs, but GPUs aren't obviously a good host for dynamically
typed languages.  There's classic work on APL runtime compilation that
suggests that forming expressions in a dynamic language, checking/
scheduling/compiling them on the host, and executing them on a GPU
could be an effective approach.

Come to think of it, reinterpreting Erlang numbers as the rank 0 members
of an APL-like family of homogenous arrays needn't do much violence to
the Erlang _language_.  This has been done at least twice for Lisp
(the Interactive Data-Analysis Language at Xerox in Interlisp, and
XLisp for XLispStat).

More information about the erlang-questions mailing list