3 ms·
In theory it should be possible, but doing so in the general case is a ridiculously hard problem as sliverstorm hints upon. If I was back at school, this is so
by dmmalam 12y ago
In theory it should be possible, but doing so in the general case is a ridiculously hard problem as sliverstorm hints upon.
If I was back at school, this is something I would definitely spend time on.
Some possible ideas:
- Writing different LLVM backends to target the various hardware. You still would need some runtime to schedule/organise the tasks.
- A language with a very powerful type system (ie fully dependent) which allows a high level of programmer intent to be extracted by a compiler. (ie we are only doing Multiply-adds on a specific range of doubles, so create an custom fpga for just that)
- Just writing a bunch of libraries which provide nice APIs for the various functions, kinda like NumPy.