4 ms·
Just to add to this good summary, OCaml already has some support for parallelism that would be useful for scientific computation. Essentially you can already h
by sadiq 6y ago
Just to add to this good summary, OCaml already has some support for parallelism that would be useful for scientific computation.
Essentially you can already have multi-threaded OCaml programs as long as only one thread is using the OCaml runtime at any point in time. For numerical code where you might be spending the vast majority of your time in external libraries this ends up not being a major problem. It's not a dissimilar story for where Python is.
What Multicore OCaml adds is the ability to run multiple threads of OCaml code at the same time (we call them Domains, to avoid confusing them with existing Threads - which can coexist).
There's an entry on the Multicore wiki that gives some more depth: https://github.com/ocaml-multicore/ocaml-multicore/wiki/Concurrency-and-parallelism-design-notes https://github.com/ocaml-multicore/ocaml-multicore/wiki/Conc...
In terms of the project you can also follow progress in the Multicore Monthlies: https://discuss.ocaml.org/tag/multicore-monthly https://discuss.ocaml.org/tag/multicore-monthly as well as see the in-progress and merged multicore PRs that are hitting upstream ocaml: https://github.com/ocaml/ocaml/pulls?q=is%3Apr+label%3Amulticore-prerequisite+ https://github.com/ocaml/ocaml/pulls?q=is%3Apr+label%3Amulti...
If you want to know more about how the multicore runtime works the recent ICFP2020 paper has a lot of detail: https://arxiv.org/abs/2004.11663 https://arxiv.org/abs/2004.11663 and KC's presentation is worth a watch: https://www.youtube.com/watch?v=ASX79I0jm6M&feature=youtu.be&t=6198 https://www.youtube.com/watch?v=ASX79I0jm6M&feature=youtu.be...
- Twisol 6y ago> the recent ICFP2020 paper I'll just note here that this paper is hot off the presses! ICFP is taking place as we speak, this week, Monday to Friday.