Using a traditional, consistent approach to reduction, the following graph is reduced as:
(+ (+ 1 2) (+ 3 4)) -> (+ 3 (+ 3 4)) -> (+ 3 7) -> 10
The chart cuts, however, are essentially parallel. Instead, you can reduce it as:
(+ (+ 1 2) (+ 3 4)) -> (+ 3 7) -> 10
As far as I know, every functional programming language uses the first approach. I believe that this is mainly due to the fact that on the processor, thread planning will overcompensate the benefits of parallel reductions. However, recently we started using the GPU more than a processor for parallel applications. If the language is completely on the GPU , these communication costs will disappear.
Are there functional languages โโusing this idea?
parallel-processing functional-programming haskell gpu ocaml
Maiavictor
source share