Tail2futhark
No description available
Install / Use
/learn @henrikurms/Tail2futharkREADME
** Warning: tail2futhark has not been kept fully up to date with recent changes in Futhark. However, it would not be a large job to fix it.**
With tail2Futhark it is possible to compile APL programs - through apltail - to Futhark and thereby target GPGPU architectures supported by the Futhark project.
Status
Installation
Use Stack to build the tail2futhark compiler.
To get all the prerequisites for building (including, if necessary, the appropriate version of the Haskell compiler), run:
stack setup
Notice that this command will not install anything system-wide and will have no
effect outside the tail2futhark build directory. Now, run the
following command to build the tail2futhark compiler, including all
dependencies:
stack build
You can install tail2futhark to your $HOME/.local/bin directory
by running:
stack install
Make sure this directory is in your $PATH. Alternatively, just copy
the binary to where you need it.
Prerequisites
To use tail2futhark and to test it, you need a working version of
the APLtail compiler, which
allows for compiling APL programs into TAIL programs, suitable for
input to tail2futhark.
Notice: For installation instructions, you may consult the
.travis.yml file, which documents the APLtail installation procedure
for Linux boxes.
Usage
There are two ways to invoke tail2futhark, corresponding to whether
you want to compile a program with a main function, or a library
with multiple entry points. In the former case, run
tail2futhark prog.tail -o prog.fut
which results in a Futhark program defining a main function.
In the latter case, run
tail2futhark --library prog1.tail ... progN.tail -o prog.fut
This command results in a Futhark program with one entry point for every
.tail file. The name of each entry point will match the name of the
file, with .tail stripped off.
APL to TAIL
While stricly not the domain of tail2futhark, this is a handy
command line for translating an APL file to a TAIL file suitable for
consumption by tail2futhark:
aplt -p_types -s_tail -c -o foo.tail ${TAIL_ROOT}/lib/prelude.apl foo.apl
Here, $TAIL_ROOT must point to a checkout of the TAIL source
repository.
Testing
To test the compiler, run the command:
make test
Yet an alternative is to run
(cd tests/basic_tests; make testopencl)
See the Prerequisites section for information about the required
apltail compiler.
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
