I've uploaded some work on a CUDA binding to OCaml that I've been
doing in my spare time over here
https://forge.ocamlcore.org/projects/daml/. Here's a brief summary of
what you can do with it at the moment:
- allocate memory on a gpu
- deallocate that resource
- copy and integer array from OCaml onto the gpu
- execute a kernel function to process the data on the gpu
- copy the result back into the OCaml array.
There are a few example programs in the repository as well.
Pretty basic but gotta start somewhere and my time for free software is limited.
Things to todo:
- Devise a strategy for minimizing copies from the host data structure
to the gpu.
- Expose more of the CUDA runtime API (this can for the most part be
done with camlidl)
- Expose the CUDA driver API.
- Write some more example progams.
- Tidy up the OMakefiles.
Any feedback appreciated.
There's a mailing list here daml-...@lists.forge.ocamlcore.org for questions.
Caml-list mailing list. Subscription management:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs