Petalisp author here - this ELS paper is just a preview. I'm also preparing a 160 page document (for my PhD) that will explain everything in more detail. I'll post on HN when it is available.
I was a bit surprised to see no mention of StarLisp [1]. Is this just a fundamentally different approach? I can imagine that targeting modern machines rather than the Connection Machine would be very different, but I thought the notations used in StarLisp were nice and could be reused.
iiuc, that JIT-compiler uses the CL-image's compile function. That won't do any good, if in a HPC environment the actual heavy lifting is to be done on equipment other than the main CPU, e.g. a GPGPU or (earlier) Xeon Phi.
"We already have code generators for turning kernels into Com-
mon Lisp code and for turning a subset of kernels into C++ or CUDA
code. Right now, our strategy is to use C++ and GCC when possible,
and Common Lisp code otherwise. In the future, we plan to make
the C++ generator obsolete by using SIMD optimized Common Lisp instead. Doing so would build on our previous work on s b - s i m d that
we presented at the 15th European Lisp Symposium in Porto"
My take from that is, that for CUDA external tools are used today. Still, interesting work.
"Not only is this JIT-compiler just 8 lines of code, it is also 20 times faster than invoking GCC or Clang on a roughly equivalent piece of C code."
So about as fast as TinyCcompiler (tcc)? Which produces faster code (in the context of HPC, elegance and ease of development takes a backseat to sheer performance, methinks)?
Petalisp: A DSL in CL intended for high performance array-based computing - https://news.ycombinator.com/item?id=17170393 - May 2018 (1 comment)