Skip to content

Conversation

@rand00
Copy link
Contributor

@rand00 rand00 commented Apr 7, 2020

The optimization is based on suggestions from one of the Multicore OCaml developers: https://discuss.ocaml.org/t/multicore-ocaml-march-2020-update/5406/9?u=rand
.. in essense, one spawns a Domain per core, and communicates work and results through e.g. a Channel

Would be interesting at a later time to implement the MPL 'ForkJoin' interface (or something else) on top of Multicore for having a simpler way of parallelizing

I also tried to optimize the mk_bvh function, but need to learn a bit more about the new effect-systems typing to solve that one. There something like the 'ForkJoin' interface is even more useful.

@athas
Copy link
Owner

athas commented Apr 7, 2020

Neat! I'll give this a run later today.

@athas
Copy link
Owner

athas commented Apr 7, 2020

Cool, it's much faster now!

@athas athas merged commit 9dbdddd into athas:master Apr 7, 2020
@rand00
Copy link
Contributor Author

rand00 commented Apr 7, 2020

That's some nice numbers :) The hand-tuning part is just because there are no parallel libraries (that I know of) built on top of Multicore yet - can and will be done at a later stage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants