Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Futhark – A small programming language that compiles to efficient GPU code (futhark-lang.org)
84 points by pebblexe on March 25, 2017 | hide | past | favorite | 15 comments


Woudln't the more accurate example of APL on the GPU be co-dfns?

Is there a way to make J target the GPU? I feel like APL stuff is more limiting because it invariably results in paying Dyalog for a toolkit (which severely limits my ability to use it at work).


Looks very interesting :) but I can't quite find out what is going on on the GPU. What GPU operations are executed for a sample program which contains various (scalar, vector, applying to different sizes and shapes etc.) operators?


Any array combinator (most importantly map, scan, reduce, and filter) are executed on the GPU (or whatever parallel execution platform is used).


What is the minimum OpenCL version? I'm evaluatimg if this could be a viable experimentation for parallelizing task which uses amazon GPU compute which are mostly nvidia GPU.


Somewhere around OpenCL 1.1 and 1.2. It works fine on NVIDIA GPUs - they are our main test platform.


Sorry about the title. Thank you mods for fixing it.


This is not APL. Please don't call it APL.

Also, please change the title on this thread to have it reflect the same.


Or may link to the "Docs" section? It mentions a paper that connects this to APL:

"APL on GPUs - A TAIL from the Past, Scribbled in Futhark

A paper describing an APL compiler (apltail) that operates by translating APL into a typed array intermediate language (TAIL), and from there into Futhark. While the Futhark details are light, the paper demonstrates a simple use of Futhark as a target language for a compiler. We succeed in achieving decent speedup on several (small) APL programs."

The introduction of the paper says it only "compiles a subset of APL into TAIL" though.


No, sorry, I studied APL in the early 80's and used it professionally for ten years straight and have been using it sporadically since then.

Only APL is APL. Notation is as much a part of APL as is it's linear algebra/array orientation. One can't remove the notation and call it APL just like one can't take C and convert it to icons to drag around the screen and still call it C.


Really what does this have to do with APL ( Ken Iverson )??

*

This is NOT APL.

Futhark is a functional language, we will start with the obligatory factorial program:

fun fact (n: i32): i32 = reduce () 1 (map (1+) (iota n))

This has nothing to do with APL.

Perhaps a more apt title would be "Python for the GPU".j

*

There is a paper on this subject, where an APL interpreter is written in FUTARK, but then most compilers are written in C. In reality the technology in question is Futark on GPU.

https://futhark-lang.org/publications/fhpc16.pdf


Thanks, a moderator updated the submission title to clarify.

(Submitted title was "Futhark: APL on the GPU".)


> Perhaps a more apt title would be "Python for the GPU"

Why Python? Futhark is a purely functional language and looks a lot like Haskell, so I think "Haskell for the GPU" would be a better title


(Author here.)

OCaml would be an even more apt comparison.

I find it a bit ironic that of all the related submissions I (and others) have made, it's the one with the bizarre title that hits the front page!


Might be related to that GPU-accelerated APL compiler which was on the front page a week or so ago


I don't disagree. Charitably, 'APL' can be read as an ordinary acronym for 'a programming language' rather than the proper name of a programming language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: