Search code examples
lispcudaparallel-processinggpgpusimd

Any Lisp extensions for CUDA?


I just noted that one of the first languages for the Connection-Machine of W.D. Hillis was *Lisp, an extension of Common Lisp with parallel constructs. The Connection-Machine was a massively parallel computer with SIMD architecture, much the same as modern GPU cards.

So, I would expect that an adaptation of *Lisp to GPGPU - maybe to nVidia CUDA, as it is the most advanced de facto standard - would be quite natural.

So far, besides the nVidia SDK for C/C++, I only found PyCUDA, a Python environment. Has anybody heard anything about Lisp?


Solution

  • Penumbra is an idiomatic wrapper for OpenGL in Clojure. Calx is an idiomatic wrapper for OpenCL to target CPUs, GPUs, and more exotic hardware. See also calling CUDA from Clojure.

    CL-OPENGL is a set of Common Lisp bindings to the OpenGL, GLU and GLUT APIs. CL-GPU is a translator from a subset of Common Lisp to CUDA for writing GPU kernels. ECL-COMPUTE is a DSL for SSE/CUDA computation in Embeddable Common Lisp.