koika
futhark
koika | futhark | |
---|---|---|
2 | 59 | |
156 | 2,547 | |
1.9% | 0.6% | |
0.0 | 9.7 | |
about 1 month ago | about 21 hours ago | |
Rocq Prover | Haskell | |
GNU Lesser General Public License v3.0 only | ISC License |
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.
koika
-
Let's collect relatively new research programming languages in this thread
https://github.com/koka-lang/koka Algebraic effects and reference counting. https://github.com/mit-plv/koika hardware description DSL for coq
-
There's an ongoing effort to rewrite Principia Mathematica using Coq
There are ongoing research projects about that, you may want to have a look at Kôika (https://github.com/mit-plv/koika), Kami (https://github.com/mit-plv/kami), Lutsig (https://github.com/CakeML/hardware) and silveroak (https://github.com/project-oak/silveroak). Closer to HLS there is also Vericert (https://github.com/ymherklotz/vericert). There may be other research project I am unaware of, feel free to add them in a reply, I am interested in it.
futhark
-
Futhark – Automatic C imports in Nim
Those are two different projects. This is the Futhark lang page https://github.com/diku-dk/futhark and it's mainly Haskell.
-
Klong: A Simple Array Language
There's a niche out there where this kind of technology is appreciated. I can even appreciate the technical challenges in making an array language interpreter run fast!
However, unfortunately, the notation is so terse that I can't imagine spending the time to learn this. This looks write-only.
Is there an obvious reason to prefer a k-like language like Klong, over e.g. Futhark[0] or Accelerate[1]?
[0]: https://futhark-lang.org/
[1]: https://hackage.haskell.org/package/accelerate
-
What about K?
Not exactly the approach your describing, but Futhark[0] offers an alternative to CPU execution, it compiles to CUDA or OpenCL to run on GPU (or multi-threaded CPU).
[0] https://futhark-lang.org/
- Ask HN: Resources for GPU Compilers?
- Ask HN: Who wants to be hired? (July 2024)
-
Bend: The first high-level language that runs natively on GPUs (via HVM2)
Nowadays 210 is actually parallel! You can run 210-style code using MaPLe (https://github.com/MPLLang/mpl) and get competitive performance with respect to C/C++.
If you liked 210, you might also like https://futhark-lang.org/ which is an ML-family language that compiles to GPU with good performance.
-
What downsides exist to Futhark? Seems almost too good to be true?
Why Futhark? (futhark-lang.org)
-
GPU Programming: When, Why and How?
There is no on-going work to support Metal apart from the work done by Miles. There's an old issue about it: https://github.com/diku-dk/futhark/issues/853#issuecomment-5...
-
Is Parallel Programming Hard, and, If So, What Can You Do About It? v2023.06.11a
Functional programming can be a great way to handle parallel programming in a sane way. See the Futhark language [1], for example, that accepts high-level constructs like map and convert them to the appropriate machine code, either on the CPU or the GPU.
[1] https://futhark-lang.org/
-
Is there a programming language that will blow my mind?
Futhark - use a functional language to program the gpu
What are some alternatives?
CompCert - The CompCert formally-verified C compiler
dex-lang - Research language for array processing in the Haskell/ML family
silveroak - Formal specification and verification of hardware, especially for security and privacy.
Halide - a language for fast, portable data-parallel computation
kami - A Platform for High-Level Parametric Hardware Specification and its Modular Verification
kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.