文件名称:cl-cuda:Cl-cuda 是一个在 Common Lisp 程序中使用 NVIDIA CUDA 的库
文件大小:111KB
文件格式:ZIP
更新时间:2024-08-24 22:43:10
CommonLisp
Cl-Cuda Cl-cuda 是一个在 Common Lisp 程序中使用 NVIDIA CUDA 的库。 它不仅提供了与 CUDA 驱动程序 API 的 FFI 绑定,还提供了内核描述语言,用户可以使用它在 S 表达式中定义 CUDA 内核函数。 除了内核函数之外,内核描述语言还提供了定义内核宏和内核符号宏的工具。 Cl-cuda 的内核宏和内核符号宏提供了 CUDA C 本身所没有的强大抽象,并在资源有限的 GPU 编程中提供了巨大的优势。 用内核描述语言定义的内核函数可以像普通的 Common Lisp 函数一样被启动,除了它们必须在 CUDA 上下文中启动,然后是网格和块大小。 内核函数在第一次启动时会自动且延迟地编译和加载。 这个过程如下。 首先,它们被 cl-cuda 编译成 CUDA C 代码(.cu 文件)。 然后,编译的 CUDA C 代码由 NVCC - NVID
【文件预览】:
cl-cuda-master
----cl-cuda-examples.asd(554B)
----cl-cuda-interop-test.asd(365B)
----t()
--------global_kernel.ptx(62B)
--------api()
--------lang()
--------vectorAdd_kernel.ptx(3KB)
--------driver-api()
----src()
--------cl-cuda.lisp(643B)
--------api()
--------lang()
--------driver-api()
----cl-cuda.asd(4KB)
----cl-cuda-test.asd(1KB)
----examples()
--------vector-add.lisp(2KB)
--------diffuse1.lisp(5KB)
--------sph.lisp(17KB)
--------sph-cpu.lisp(20KB)
--------diffuse0.lisp(4KB)
--------defglobal.lisp(1KB)
--------shared-memory.lisp(3KB)
----README.markdown(20KB)
----LICENSE(1KB)
----cl-cuda-interop.asd(1KB)
----misc()
--------get-error-string.template(503B)
--------package.lisp(202B)
--------convert-error-string.lisp(2KB)
--------drvapi_error_string.h(11KB)
----.gitignore(94B)
----cl-cuda-interop-examples.asd(358B)
----cl-cuda-misc.asd(388B)
----interop()
--------t()
--------src()
--------examples()
----include()
--------float.h(315B)
--------float4.h(1KB)
--------double3.h(1KB)
--------curand.h(900B)
--------int.h(293B)
--------double.h(332B)
--------double4.h(1KB)
--------float3.h(1KB)