Skip to content

Commit 1b4505d

Browse files
authored
Add core.matrix GPU project
1 parent 1d6d758 commit 1b4505d

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Diff for: project-ideas/index.md

+25
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,31 @@ This would allow us to deliver good code generation for a much wider variety of
157157

158158
**Mentor:** David Nolen
159159

160+
### Numerical Clojure
161+
162+
#### Clojure OpenCL
163+
164+
**Brief explanation:**
165+
Clojure has a powerful array programming abstraction (soon to be part of official Clojure Contrib) called `core.matrix` which enables numerical computing / linear algebra through a common functional API with pluggable implementations.
166+
167+
Modern numerical computing makes externsive use of the GPU, so it would be great to have a first class GPU based implementation for `core.matrix`. This could be achieved by extending the current experimental project vectorz-opencl (https://github.com/mikera/vectorz-opencl) or by creating a completely new implementation.
168+
169+
**Expected results:**
170+
There should be a fully working core.matrix implementation with key operations optimised for the GPU. The implementation should pass all core.matrix compliance tests.
171+
172+
Performance improvements should be demonstrated and documented (vs. comparable CPU code or GPU implementations).
173+
174+
The implementation as a whole should be documented and packaged as a complete, working library with examples.
175+
176+
**Knowledge prerequisite:**
177+
- Linear Algebra
178+
- GPU Programming
179+
- Basic Clojure and/or Java
180+
181+
**Mentor:**
182+
Mike Anderson
183+
184+
160185
### Typed Clojure
161186

162187
#### ClojureScript type checker

0 commit comments

Comments
 (0)