[llvm-dev] LLVM build performance with LLVM

David Blaikie via llvm-dev
Sat, 04 Jan 2020 19:13:45 -0000

On Fri, Jan 3, 2020 at 5:58 PM Itaru Kitayama <itaru.kitayama at
gmail.com>
wrote:

> I have just tried a Release build of LLVM but
> with
> LIBOMPTARGET_ENABLE_DEBUG enabled. The app build became super fast, but I
> can not obtain debugging information that I need at runtime.
>

I know nothing about OMP, so I might be completely off-base with all of
this. But could you explain the specific steps you are taking (from
building the compiler, running the compiler to build your program,
executing the program, and what kind of debugging you are doing at
runtime/how you are doing it) including any commands you run to do those
actions, where possible?


>
> On Sat, Jan 4, 2020 at 5:03 David Blaikie <dblaikie at gmail.com>
wrote:
>
>> I'm still confused by that - whether or not the LLVM you built has
debug
>> info in it shouldn't at all change what goes into the binaries that
LLVM
>> produces (modulo a few bugs, but nothing that'd produce drastic
performance
>> swings). You mention in the bug that it's
>> specifically LIBOMPTARGET_ENABLE_DEBUG that is slowing down your
>> compilation time? Not the use of a Debug build of LLVM? Have you tried
a
>> Release build of LLVM but with LIBOMPTARGET_ENABLE_DEBUG enabled?
>>
>> On Fri, Jan 3, 2020 at 11:58 AM Itaru Kitayama <itaru.kitayama at
gmail.com>
>> wrote:
>>
>>> At least, to obtain enough information from libomptarget while
running
>>> my offloading app on GPU capable environment, I have to build it
with an
>>> LLVM which was built in Debug mode.
>>>
>>> On Sat, Jan 4, 2020 at 4:34 David Blaikie <dblaikie at
gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Thu, Jan 2, 2020 at 10:55 PM Itaru Kitayama <
>>>> itaru.kitayama at gmail.com> wrote:
>>>>
>>>>> As I am facing the serious super slow down:
>>>>> https://bugs.llvm.org/show_bug.cgi?id=44407 , I'd like
to
>>>>> learn more about how it can be minimized. When debugging an
app, there
>>>>> are times building it with a
>>>>> Debug build LLVM can not be avoided, but a situation like
40 times
>>>>> time increase (40 minutes) is hard
>>>>> to work with.
>>>>>
>>>>
>>>> Not sure I follow - you shouldn't need a debug build of
clang to debug
>>>> an application built with clang. You'd use a release build
of clang to
>>>> build your application with debug info (by passing -g).
>>>>
>>>>
>>>>>
>>>>>
>>>>> On Fri, Jan 3, 2020 at 11:14 AM David Blaikie <dblaikie
at gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Jan 2, 2020 at 6:09 PM Itaru Kitayama <
>>>>>> itaru.kitayama at gmail.com> wrote:
>>>>>>
>>>>>>> David,
>>>>>>> Yes, I was indeed trying to build LLVM with a Debug
build. I'll stop
>>>>>>> doing that from now on.
>>>>>>>
>>>>>>
>>>>>> I mean, you can - it's just going to be super slow
& mostly not what
>>>>>> you want, unless you're trying to debug that
building process. Usually
>>>>>> you'd want to isolate one particular test case,
maybe even reduce it,
>>>>>> before running it with a debug build of LLVM which will
be quite slow
>>>>>> (because it's not optimized at all).
>>>>>>
>>>>>>
>>>>>>> I am on JSC's JURON machine which has 251 GB of
memory on the login
>>>>>>> node, that's more than sufficient
>>>>>>> to do a build, I suppose, and the linker is LLD as
LLVM has a CMake
>>>>>>> variable to select the linker.
>>>>>>>
>>>>>>
>>>>>> Yep, sounds like you're just tripping over the fact
that an
>>>>>> unoptimized/debug build of LLVM is very slow. *thumbs
up*
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> On Fri, Jan 3, 2020 at 11:02 AM David Blaikie
<dblaikie at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Were you trying to use a Debug build to build
LLVM? Yes, that would
>>>>>>>> be very slow.
>>>>>>>>
>>>>>>>> If you mean you were using a release build of
LLVM to build a Debug
>>>>>>>> build of LLVM - yeah, that's generally
going to be recommended. Did this
>>>>>>>> get slower/change significantly in performance?
Many people have trouble
>>>>>>>> with building Debug builds (no matter the host
compiler) especially if
>>>>>>>> they're using bfd-ld, since it's quite
slow/uses a lot of memory. There are
>>>>>>>> a few other issues to do with memory usage (do
you have less than about a
>>>>>>>> GB of RAM per CPU? Then you'll probably hit
swapping by default & have a
>>>>>>>> bad time - there are ways around that)
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Jan 2, 2020 at 5:42 PM Itaru Kitayama
via llvm-dev <
>>>>>>>> llvm-dev at lists.llvm.org> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>> When building LLVM, is it always
recommended to do it with the
>>>>>>>>> latest official release, currently, it is
9.0.1? I ask because
>>>>>>>>> when I tried
>>>>>>>>> it with a Debug build, it took an enormous
amount of time on
>>>>>>>>> POWER8.
>>>>>>>>>
_______________________________________________
>>>>>>>>> LLVM Developers mailing list
>>>>>>>>> llvm-dev at lists.llvm.org
>>>>>>>>>
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>>>>>>
>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20200104/8da56ad0/attachment-0001.html>