Jean-Luc Godard is quoted as saying, “A story should have a beginning, a middle and an end, but not necessarily in that order.” What order is best to tell the story of a compiler?
FPGA-based accelerators have opened up a new frontier for accelerator design; instead of spending months building and fabricating silicon chips, programmers can buy a cloud instance to run custom hardware accelerators within hours. With the remarkable new hardware, there is a need for remarkable new software.
Modern analog computers are attractive computational targets which have the potential to deliver significant performance and energy improvements over conventional digital hardware.
These hardware substrates have unique programming challenges which make them challenging to target. Programming languages and compilers techniques can help!