pareas
HarkDB
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pareas
-
GPU Programming: When, Why and How?
Compared to Halide:
* Futhark does not expose a scheduling language that gives you precise control over code generation. This is probably the main selling point of Halide.
* Futhark has a much broader focus than Halide, which is mainly oriented towards image processing. Futhark wants to support arbitrary data parallel computation. E.g. see this compiler written in Futhark: https://github.com/Snektron/pareas
Compared to Sycl:
* Futhark is a non-embedded language that is more high level than Sycl. The goals are similar in the sense that both systems to try make (data) parallel programming more accessible. The vision behind Futhark is that the conventional functional programming vocabulary is actually a pretty good fit for parallelism, and that an aggressively optimising compiler can reduce or eliminate the overhead of abstraction. I don't think Sycl is as focused on high levels of abstraction, but rather focuses on being a relatively low-level portable programming interface.
HarkDB
-
Help producing a group-by + aggregate function in Futhark
Not sure Futhark is very suitable for this, but a similarly brave person did use it to write some SQL-ish primitives last year, including a group-by operation: https://github.com/philass/HarkDB/blob/master/futhark/groupby.fut
What are some alternatives?
futhark-metal - :boom::computer::boom: A data-parallel functional programming language
futhark-mode - Emacs major mode for editing Futhark programs
futswirl - Fun with IFS fractals :boom:
Ark - ArkScript is a small, fast, functional and scripting language for C++ projects
younger-futhark - Transform latin letters to Younger Futhark runes & vice versa
Feral - Feral programming language reference implementation
shake-futhark - Dependency tracking for Futhark
jank - A Clojure dialect hosted on LLVM with native C++ interop
riimut-rs - Transform latin letters to runes & vice versa. Rust version.