[Beowulf] C++ compilers and assembly

Brian Dobbins bdobbins at gmail.com
Thu Oct 18 14:34:49 PDT 2018


For anyone interested in C++ compiler differences, the 'Compiler Explorer'
( http://www.godbolt.org ) is an indispensable resource.

Basically, you can write some code, select some different compilers (and
optimization flags), and look at the assembly code and compare windows
side-by-side.  I used to have a bunch of cool examples bookmarked, but
can't find them right now.  Here's a brief article / interview with Matt
with a bit more:
https://blog.jetbrains.com/clion/2017/10/godbolting-your-cpp-code/

Cheers,
  - Brian




On Thu, Oct 18, 2018 at 3:17 PM Prentice Bisbal via Beowulf <
beowulf at beowulf.org> wrote:

> I know I'm a bit late to this conversation. Been too busy to lurk here
> lately. But I wanted to respond to this comment:
>
> > Lastly Jason mentioned IncludeOS http://www.includeos.org/
> > these gusy are implementing something I have tossed about on this list
> > in the past - running applications in a lightweight OS without all the
> > overhead of a multitasking system.
> > I dont know that much about it - is anyone from that company on the list?
> Lightweight operating systems for HPC is definitely a thing the IBM Blue
> Gene systems used a lightweight kernel called CNK (Compute Node Kernel).
> While not based on Linux, it used a subset of the Linux system call API
> for its own system calls portability reasons. It was single-tasking,
> since for an HPC job on a system like the Blue Gene (no node sharing
> between jobs), there was no need to manage multiple tasks.
>
> https://en.wikipedia.org/wiki/CNK_operating_system
>
> I don't know much about Compute Node Linux (CNL), which is used on Cray
> systems. I believe it is a stripped down version of Linux, but not sure
> how stripped down it is.
>
> https://en.wikipedia.org/wiki/Compute_Node_Linux
>
> Here's some links to more information/other lightweight kernels, like
> Puma and Catamount, in no particular order.
>
>
> https://www.cresta-project.eu/images/WhitePapers/cresta_whitepaper_2_2014.pdf
>
> https://ieeexplore.ieee.org/document/323279
>
>
> https://www.researchgate.net/publication/228816883_Software_architecture_of_the_light_weight_kernel_Catamount
>
> https://en.wikipedia.org/wiki/Lightweight_Kernel_Operating_System
>
> Prentice
>
> On 09/09/2018 11:50 PM, John Hearns via Beowulf wrote:
> > Chris Samuels recent post reminds me.
> > I went to a fascinating and well delivered talk by Jason Hearne McGuiness
> >
> > https://www.meetup.com/ACCULondon/events/253570550/
> > https://accu.org/index.php/accu_branches/accu_london
> > Slides are here:
> > https://github.com/acculondon/2018-September
> >
> > I would encourage everyone to give this presentation at least a browse.
> > Jason has done a lot of work in comparing the assembler code emitted
> > by C++ compilers for simple statement blocks. Even within the g++
> > series there are wildly different assembler sequences emitted. And of
> > course differences between Intel and Clang.
> > I would have naively assumed that within g+++ at least as improvements
> > are made then there would be some commonality - ie an evolution. But I
> > would be wrong.
> >
> > Jason work in HFT so the default path loaded in IF statements (for
> > instance) is  important for low latency.
> > Jason also did a lot of work in comparing performance before and after
> > the Spectre/Meltdown fixes.  There is a huge amount of work gone into
> > that.
> >
> > One other takeaway - the choice of Linux OS is critical. Really.
> > Common wisdom is that OS choice accounts for approx. 4% of performance
> > difference.
> > Not so.
> > There isa big difference between CentOS 6 and 7 (7 being better) and
> > Ubuntu does not shine at all well on his FIX benchmarks. Gentoo does
> > well - Jason being a fan of Gentoo.
> > As I remember on these benchmarks OS choice can affect results by 20%
> !!!!
> >
> > Lastly Jason mentioned IncludeOS http://www.includeos.org/
> > these gusy are implementing something I have tossed about on this list
> > in the past - running applications in a lightweight OS without all the
> > overhead of a multitasking system.
> > I dont know that much about it - is anyone from that company on the list?
> >
> > John Hearns
> > _______________________________________________
> > Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
> > To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf
>
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
> To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20181018/008b58c7/attachment.html>


More information about the Beowulf mailing list