Hi all,
First of all, I'm thrilled with OpenSCAD as I'm a programmer, and this
fits nicely in with my programming skills mapped to 3D design :)
Though I note that OpenSCAD uses only one core. Are there plans on
making OpenSCAD multi-core aware ?
Best regards,
/Robert
Von: "Robert Bielik" robert.bielik@dirac.se
Though I note that OpenSCAD uses only one core. Are there plans on
making OpenSCAD multi-core aware ?
It's on the wishlist for quite some time now:
https://github.com/openscad/openscad/issues/391
While this would be nice to have, I think the work Bob is doing to
support a different CSG engine is promising even more benefit in
the nearer future:
https://github.com/openscad/openscad/issues/1304#issuecomment-126107128
Of cause both together would be awesome with CPUs likely continuing
to go into the direction of more cores instead of higher single thread
performance.
ciao,
Torsten.
Hi Torsten,
Torsten Paul skrev den 2015-07-30 10:53:
Von: "Robert Bielik" robert.bielik@dirac.se
Though I note that OpenSCAD uses only one core. Are there plans on
making OpenSCAD multi-core aware ?
It's on the wishlist for quite some time now:
https://github.com/openscad/openscad/issues/391
While this would be nice to have, I think the work Bob is doing to
support a different CSG engine is promising even more benefit in
the nearer future:
https://github.com/openscad/openscad/issues/1304#issuecomment-126107128
Of cause both together would be awesome with CPUs likely continuing
to go into the direction of more cores instead of higher single thread
performance.
Great to hear! As a tip, maybe FastFlow
(http://calvados.di.unipi.it/fastflow) could aid for the multi-core
stuff ? I might be able to assist with this, as long as I know which
parts are possible to parallelize.
Regards
/Robert
ciao,
Torsten.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
FastFlow sounds pretty cool. Thanks for the link.
The previous multi core thread has lots of details about what needs to be
done to speed up OpenSCAD. I am away from laptop or I'd post a link.
On Thursday, 30 July 2015, Robert Bielik robert.bielik@dirac.se wrote:o
Hi Torsten,
Torsten Paul skrev den 2015-07-30 10:53:
Von: "Robert Bielik" robert.bielik@dirac.se
Though I note that OpenSCAD uses only one core. Are there plans on
making OpenSCAD multi-core aware ?
It's on the wishlist for quite some time now:
https://github.com/openscad/openscad/issues/391
While this would be nice to have, I think the work Bob is doing to
support a different CSG engine is promising even more benefit in
the nearer future:
https://github.com/openscad/openscad/issues/1304#issuecomment-126107128
Of cause both together would be awesome with CPUs likely continuing
to go into the direction of more cores instead of higher single thread
performance.
Great to hear! As a tip, maybe FastFlow (
http://calvados.di.unipi.it/fastflow) could aid for the multi-core stuff
? I might be able to assist with this, as long as I know which
parts are possible to parallelize.
Regards
/Robert
ciao,
Torsten.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
On 07/30/2015 11:26 AM, Robert Bielik wrote:
Great to hear! As a tip, maybe FastFlow (http://calvados.di.unipi.it/fastflow)
could aid for the multi-core stuff ? I might be able to assist with
this, as long as I know which parts are possible to parallelize.
This looks quite interesting, I'll have to do some reading once I
find some more free time.
As first step, it might be not needed to push the parallelizing
very deep into the algorithms (which would currently mean to look
at libCGAL as that's where the CSG calculations happen).
The model description OpenSCAD generates would give some quite
high level opportunities to calculate things in parallel. In
general the tree structure presents a natural way to process
child nodes in parallel.
I guess the challenges are more things like making the cache
thread safe and ensure the libraries work properly. The github
ticket mentions some details about CGAL regarding this.
ciao,
Torsten.
The issue covering this is https://github.com/openscad/openscad/issues/391
I had a look at the work by bgarami at
https://github.com/bgamari/openscad/tree/parallel and it looked feasible,
but he also notes that CGAL is not thread-safe (I haven't checked since he
wrote that) which stalled further progress.
I think his approach would also work for a different back-end like Carve, I
was going to have a look at implementing it sometime later. According to the
author, Carve is "probably" thread-safe :)
Another enhancement might be to parallelize CSG ops where there are several
children, currently this is done sequentially.
--
View this message in context: http://forum.openscad.org/Multi-core-tp13370p13375.html
Sent from the OpenSCAD mailing list archive at Nabble.com.