summaryrefslogtreecommitdiff
path: root/README.org
blob: 60fa6f4b0852f08f0b133aa2779f13f7c538da3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#+title: cl-opencl
#+author: Thomas Albers Raviola

cl-opencl aims to provide a lispy set of bindings for programming with OpenCL
from common lisp.

While for most functions a high-level alternative is provided to avoid
interacting directly with ~cffi~, by the very nature of OpenCL some functions
still require direct manipulation of ~cffi:pointers~. For these some kind of
high-level convenience function is still provided (with ~&optional~ or ~&key~
arguments) but use of ~cffi~ is nonetheless needed.

A package with raw bindings to the OpenCL API is also provided for situations
that require it.

*NOTE*: This library is still in early development and it may be subject to
changes. A list with the progress and some of the future ideas is included as
~TODO.org~

* Name

cl-opencl is not a unique name, there are many other libraries with this name,
some of them still mantained. Ideally I would like to rename it.

* Why another OpenCL library for Common Lisp

This is not the first time someone writes a set of bindings for OpenCL, but I've
some future plans that could benefit from having a library under my direct
control in terms of development decisions. In particular, a set of libraries for
numeric and scientific computations.

* Website

[[https://thomaslabs.org]]

* Thanks

Throughout the development some of my decisions were inspired by the following
projects:

[[https://github.com/3b/cl-opencl-3b][3b/cl-opencl-3b]]
[[https://github.com/inducer/pyopencl][inducer/pyopencl]]

* License

cl-opencl is distributed unded the terms of the GPL-3.0 license (see ~LICENSE~).