[zorg] r297359 - Do not use parallel link jobs with ThinLTO on Green Dragon
Mehdi Amini via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 13 10:05:26 PDT 2017
I also plan to add a CMake warning in LLVM when ThinLTO is enabled but LLVM_PARALLEL_LINK_JOBS isn’t set. This is unlikely that it is intended by the end user.
—
Mehdi
> On Mar 13, 2017, at 10:04 AM, Mehdi Amini via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>
> Hey David:
>
> You’re right! It seemed obvious to me when I committed, but in retrospect it clearly isn’t :)
>
> I’ll add it here for posterity:
>
> The linker is using as many threads as cores on the machine when performing a ThinLTO link. We don’t want to overcommit the machine by having many link steps running in parallel: this won’t improve build time (quite the opposite likely) and will increase memory consumption. I hesitated between 1 and 2, we can fine-tune later.
>
> —
> Mehdi
>
>
>
>> On Mar 13, 2017, at 9:32 AM, David Blaikie <dblaikie at gmail.com <mailto:dblaikie at gmail.com>> wrote:
>>
>> It'd be helpful to include the motivation in the commit message so that there's some context for others (now and in the future/when doing archaeology).
>>
>> On Wed, Mar 8, 2017 at 9:15 PM Mehdi Amini via llvm-commits <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
>> Author: mehdi_amini
>> Date: Wed Mar 8 23:03:53 2017
>> New Revision: 297359
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=297359&view=rev <http://llvm.org/viewvc/llvm-project?rev=297359&view=rev>
>> Log:
>> Do not use parallel link jobs with ThinLTO on Green Dragon
>>
>> Modified:
>> zorg/trunk/zorg/jenkins/build.py
>>
>> Modified: zorg/trunk/zorg/jenkins/build.py
>> URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/build.py?rev=297359&r1=297358&r2=297359&view=diff <http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/build.py?rev=297359&r1=297358&r2=297359&view=diff>
>> ==============================================================================
>> --- zorg/trunk/zorg/jenkins/build.py (original)
>> +++ zorg/trunk/zorg/jenkins/build.py Wed Mar 8 23:03:53 2017
>> @@ -187,7 +187,10 @@ def cmake_builder(target):
>> max_parallel_links = conf.max_parallel_links
>>
>> if conf.lto:
>> - cmake_cmd += ["-DLLVM_PARALLEL_LINK_JOBS=" + str(max_link_jobs())]
>> + if conf.thinlto:
>> + cmake_cmd += ["-DLLVM_PARALLEL_LINK_JOBS=1"]
>> + else:
>> + cmake_cmd += ["-DLLVM_PARALLEL_LINK_JOBS=" + str(max_link_jobs())]
>> cmake_cmd += ['-DLLVM_BUILD_EXAMPLES=Off']
>> if not max_parallel_links:
>> max_parallel_links = 1
>> @@ -374,7 +377,9 @@ def clang_builder(target):
>> cmake_command.extend(
>> ['-DLLVM_LIT_ARGS={}'.format(' '.join(lit_flags))])
>>
>> - if conf.lto:
>> + if conf.thinlto:
>> + cmake_command.extend(["-DLLVM_PARALLEL_LINK_JOBS=1"])
>> + elif conf.lto:
>> cmake_command.extend(
>> ["-DLLVM_PARALLEL_LINK_JOBS=" + str(max_link_jobs())])
>> else:
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170313/75b72dd9/attachment.html>
More information about the llvm-commits
mailing list