Do I need to build B2/bjam with options to run with all cores?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Do I need to build B2/bjam with options to run with all cores?

Boost - Build mailing list
Do I need to build B2/bjam with options to run with all cores?

The Quickbook documentation build  of Boost.Math is on my critical path of the ‘edit-compile-run-crash’ cycle 😉

When the docs build, it only ever uses one core, leaving 15 of my shiny new cores idle

I have tried adding -j15 (even though I understand that this is now the default).

Do I need to compile b2 in some multiprocessor way to get all cores working and hopeful cut the build time?

(In contrast, if I build all the math examples or tests etc, I get all the cores working at 100%).

Or am I expecting the impossible?

Thanks

Paul




_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Do I need to build B2/bjam with options to run with all cores?

Boost - Build mailing list
On Mon, Jul 8, 2019 at 12:27 PM Paul A Bristow via Boost-build <[hidden email]> wrote:

The Quickbook documentation build  of Boost.Math is on my critical path of the ‘edit-compile-run-crash’ cycle 😉

When the docs build, it only ever uses one core, leaving 15 of my shiny new cores idle

I have tried adding -j15 (even though I understand that this is now the default).

Not even that is required now, since it's suppose to use all the cores by default. But doesn't hurt to be explicit. 

Do I need to compile b2 in some multiprocessor way to get all cores working and hopeful cut the build time?

No. 

(In contrast, if I build all the math examples or tests etc, I get all the cores working at 100%).

Or am I expecting the impossible?

I would guess there's something about the documentation build that isn't parallelizable. And thinking about it, it makes some sense. Building a single library documentation is a linear sequence of steps: source qbk => boostbook => xslt transform to docbook => xslt transform to html. Do you have some other dependency chain arrangement that would theoretically allow parallel processing? Or are you talking about some other intrinsic multi-core capability of an individual transform step?

--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build