Futhark by Example

🚀 Explore this insightful post from Hacker News 📖

📂 **Category**:

💡 **What You’ll Learn**:

The following is a hands-on introduction to Futhark through a
collection of commented programs, listed in roughly increasing order
of complexity. You can load the programs into the
interpreter
to experiment with them. For a conventional introduction to the
language, Parallel Programming in
Futhark may be a better choice.
For more examples, you can check our implemented
benchmarks. We also
maintain a list of projects using Futhark.

Some of the example programs use
directives
for plotting or rendering graphics.

Literate Futhark allows direct use of
gnuplot. These examples show simple and
common cases.

The following examples are ported from
Dex, a dependently typed
functional array language that uses a somewhat different approach to
describing loop processing. We’ve tried to keep the original naming
scheme and programming style.

The majority of written Futhark code is probably still Futhark’s own
test and benchmark suites. However, there are some programs that have
been written in Futhark because it was a good tool for the job, and not
just to test the compiler. A possibly incomplete list:

Diving Beet is a falling sand
game, which is a kind of simple particle simulator toy. Its main purpose
is to produce pretty effects. There is a blog
post with details and a video.

Futball is a game about avoiding
getting hit by balls. The rendering engine is a ray tracer written in
Futhark.

Futcam is an application that applies
stacks of interactively configurable filters to a webcam stream. Futhark
is used to implement the filters.

Futracer is a fairly slow
brute-force ray tracer written in Futhark.

Futswirl is a fractal generator
based on iterated function
systems.

Neptune is an
implementation of the Poseidon hash
function tuned for
Filecoin, where the GPU
parts have been
implemented in Futhark.

Palathark is a
Futhark implementation of the lattice Boltzmann method.

Ray Tracing in One Weekend in
Futhark and
Ray Tracing: the Next Week in
Futhark are
implementations based on Peter Shirley’s book series. These are by no
means real-time ray tracers, but support advanced effects and make use
of acceleration structures like BVH trees.

Pareas is a compiler implemented
in Futhark and C++.

⚡ **What’s your take?**
Share your thoughts in the comments below!

#️⃣ **#Futhark**

🕒 **Posted on**: 1778929746

🌟 **Want more?** Click here for more info! 🌟

By

Leave a Reply

Your email address will not be published. Required fields are marked *