Parallelizing UPC++ compiler's compiling process

Issue #196 resolved
Jérémie Lagravière created an issue

Dear UPC++ Users,

In my case, I am recompiling regularly my UPC++ compiler. This process can take a while even on a supercomputer.

One of the reason for this is the compiling of GASNET-EX, which is possible to make parallel, usually with a simple command:

make -j N

Where N is the number of threads/process we want to be used during the compiling process.

Unless there is an easy way to pass this parameter to the compiling process, otherwise it would be great to add the possibility to parallelize the compiling process of UPC++'s compiler.

Thank you in advance for your help :)

Comments (5)

  1. Dan Bonachea

    issue 196: Enable parallel make for GEX

    This commit adds a new envvar UPCXX_MAKE to control the make program used by nobs to build GASNet-EX. This new setting allows tuning of the make command-line, for example to select a make program outside the $PATH, or to prepend make arguments controlling behavior.

    The default value is UPCXX_MAKE="make -j", which means that by default nobs will now invoke parallel make to build GASNet-EX.

    Anyone encountering problems with parallel make can restore the old behavior by setting: UPCXX_MAKE=make

    Add documentation

    Resolves issue #196

    Performance Improvements for parallel make:

    • Tests run on 16-core 2.4GHz Xeon E5530 / Linux 3.10 (pcp-d-5)
      • using gcc-8.2.0, gmake 4.2.1 and four GEX conduits.
    • install script running in NFS home directory:
      • improved from 10m58s to 4m42s, a 57% reduction in install time
    • install script running in /dev/shm (minimizing I/O to src/bld dirs):
      • improved from 10m22s to 4m07s, a 60% reduction in install time

    → <<cset dc2e9d1a9285>>

  2. Dan Bonachea

    issue 196: Enable parallel make for GEX

    This commit adds a new envvar UPCXX_MAKE to control the make program used by nobs to build GASNet-EX. This new setting allows tuning of the make command-line, for example to select a make program outside the $PATH, or to prepend make arguments controlling behavior.

    The default value is UPCXX_MAKE="make -j 8", which means that by default nobs will now invoke parallel make to build GASNet-EX.

    Anyone encountering problems with parallel make can restore the old behavior by setting: UPCXX_MAKE=make

    Add documentation

    Resolves issue #196

    Performance Improvements for parallel make:

    • Tests run on 16-core 2.4GHz Xeon E5530 / Linux 3.10 (pcp-d-5)
      • using gcc-8.2.0, gmake 4.2.1 and four GEX conduits.
    • install script running in NFS home directory:
      • improved from 10m58s to 4m42s, a 57% reduction in install time
    • install script running in /dev/shm (minimizing I/O to src/bld dirs):
      • improved from 10m22s to 4m07s, a 60% reduction in install time

    → <<cset 9e19b712cb3a>>

  3. Log in to comment