I’m proud to announce GPUArrays together with a couple of helper packages!
Matcha: A matching library working on any iterable, while the matching expression can be build up via values + closures.
Scope: One could implement regex with Matcha and all kind of DSL like matching tools, which can also work on e.g. streams. It’s not benchmarked yet but should be relatively fast, since it will compile specialized code for your matching expression.
Sugar: library for extracting a typed AST from a function and generic tools around it to walk the AST, replace nodes, find dependencies of a function and printing the AST.
It uses Matcha to decompile what code_typed
returns.
Scope: macros from typed AST, static linting, helper tools for benchmarking, transpiling, reversediff source, etc.
Transpiler: Currently transpiles to OpenCL and OpenGL code. Should be easy to extend to transpile to other languages.
And finally, the package that I created all these packages for:
GPUArrays!
It is supposed to be easy to extend even if one isn’t that familiar with GPU programming.
That it’s written in pure Julia and getting most of it functionality for free from Julia Base gives me great hope that we can grow this package rapidly into something very useful. Check out the README for more info!
I plan to release more examples and a tight integration with GLVisualize in the coming days.
Best,
Simon