有 CUDA 的 Lisp 扩展吗?

发布于 2024-11-08 20:56:28 字数 263 浏览 4 评论 0原文

我刚刚注意到,WD Hillis 连接机的首批语言之一是 *Lisp,它是具有并行结构的 Common Lisp 的扩展。连接机是一台具有 SIMD 架构的大规模并行计算机,与现代 GPU 卡非常相似。

因此,我希望 *Lisp 适应 GPGPU(也许适应 nVidia CUDA,因为它是最先进的事实上标准)将是非常自然的。

到目前为止,除了nVidia SDK for C/C++之外,我只找到了PyCUDA,一个Python环境。有人听说过 Lisp 吗?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

奈何桥上唱咆哮 2024-11-15 20:56:28

PenumbraClojureCalx 是 OpenCL 的惯用包装器,适用于 CPU、GPU 和更奇特的硬件。另请参阅从 Clojure 调用 CUDA

CL-OPENGL 是一组 Common Lisp 绑定到 OpenGL、GLU 和 GLUT API。 CL-GPU 是一个从 Common Lisp 子集到 CUDA 的转换器,用于编写 GPU 内核。 ECL-COMPUTE 是用于 可嵌入的 Common Lisp

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.

深府石板幽径 2024-11-15 20:56:28

我最近开始开发 cl-cuda,这是一个在 Common Lisp 程序中使用 NVIDIA CUDA 的库。虽然它刚刚开始,处于开发的早期阶段,但您可以尝试一些简单的示例代码,例如大向量加法。

请看,
https://github.com/takagi/cl-cuda

如果您对这个项目感兴趣,欢迎任何反馈。

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.

拔了角的鹿 2024-11-15 20:56:28

不久前,我创建了一个库来从 common lisp 调用 CUDA 函数/库。它的目的是做一些事情,比如

(let ((myarray (make-array ...))
      (another-array (make-array ...)))
  ;fill myarray
  (cublas-saxpy n -1.0 another-array 1 myarray 1)
  (cufft-nocopy myarray n :forward t :normalize nil)
  ;use results
  )

https://github.com/knutgj/cl-cudalib< /a>

具体功能目前仅限于我所使用的功能,但扩展以完成 cuBLAS 和 cuFFT 以及推出您自己的 CUDA 库是微不足道的。目前仅支持 SBCL,但这也应该很容易扩展。

我正在考虑为 openCL 和 AMD APPML 制作一个类似的包。

A while ago I made a library to call CUDA-functions/libraries from common lisp. Its purpose was to do things like

(let ((myarray (make-array ...))
      (another-array (make-array ...)))
  ;fill myarray
  (cublas-saxpy n -1.0 another-array 1 myarray 1)
  (cufft-nocopy myarray n :forward t :normalize nil)
  ;use results
  )

Check it out at https://github.com/knutgj/cl-cudalib

The specific functions are currently limited to what I have had use for, but it is trivial to extend to complete cuBLAS and cuFFT as well as roll your own CUDA libraries. Currently only SBCL is supported, but this should also be easy to extend.

I am considering to make a similar package for openCL and the AMD APPML.

久光 2024-11-15 20:56:28

对于 Clojure,使用 GPU、neanderthalclojureCUDA 由 Dragan Djuric 带来。
来自同一作者,clojurecl 适用于 OpenGL。
对于张量和神经网络deep-diamond

For Clojure, fast matrix calculations using gpu, neanderthal and clojureCUDA by Dragan Djuric will bring it.
From the same author, clojurecl is for OpenGL.
For Tensors and Neural Networks deep-diamond.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文