MandelbrotSSE
futhark
MandelbrotSSE | futhark | |
---|---|---|
4 | 52 | |
83 | 2,299 | |
- | 1.8% | |
2.0 | 9.8 | |
11 months ago | 1 day ago | |
C++ | Haskell | |
GNU 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.
MandelbrotSSE
-
1000x speedup on interactive Mandelbrot zooms: from C, to inline SSE assembly, to OpenMP for multiple cores, to CUDA, to pixel-reuse from previous frames, to inline AVX assembly...
I verified that the limiting factor is memory bandwidth - and that once we switch to a fully CPU-bound mode (with option -p 100) the computation speed scales linearly with more cores.
futhark
-
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
-
Does This Language Exist?
You might want to look into Futhark, although it's mainly designed for writing GPU code.
- Learn WebGPU
-
Two-tier programming language
Futhark https://futhark-lang.org/
- Best book on writing an optimizing compiler (inlining, types, abstract interpretation)?
- Functional GPU programming: what are alternatives or generalizations of the idea of "number of cycles must be known at compile time"?
- APL: An Array Oriented Programming Language (2018)
What are some alternatives?
xsimd - C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
arrayfire-rust - Rust wrapper for ArrayFire
GAPFixFractal - A program to generate pictures of Mandelbrot or Julia sets, using arbitrary precision arithmetic on CUDA GPUs.
dex-lang - Research language for array processing in the Haskell/ML family
FractalAsm-Linux - x86 assembly language (with GUI in C) Mandelbrot and Julia fractal program (Linux)
Halide - a language for fast, portable data-parallel computation
CTranslate2 - Fast inference engine for Transformer models
julia - The Julia Programming Language
FractalAsm - x86 inline assembly language Mandelbrot and Julia fractal program (Windows)
BQN - An APL-like programming language. Self-hosted!
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.
UwUpp - The next generation esoteric language