Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 709
Halberdier Avatar asked May 18 '11 15:05

Halberdier


2 Answers

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.

like image 79
Terje Norderhaug Avatar answered Oct 05 '22 08:10

Terje Norderhaug


I recently start developing cl-cuda which is a library to use NVIDIA CUDA in Common Lisp programs. Although it has just been started and in the very early stage of development, you can try some simple sample codes like large vector addition.

Please see, https://github.com/takagi/cl-cuda

If you are interested in this project, any feedbacks are welcome.

like image 23
masayuki takagi Avatar answered Oct 05 '22 06:10

masayuki takagi