On 19/09/2017 16:32, Joachim Hein wrote:
On 19 Sep 2017, at 16:21, Jack Perdue <[email protected]> wrote:

On 09/19/2017 09:15 AM, Joachim Hein wrote:
On 19 Sep 2017, at 16:10, Joachim Hein <[email protected]> wrote:

Dear Jack and Kenneth

Just a quick thanks for your input on the issue, highly appreciated.  This is 
to say I noticed your input and I intend to get back to it soon, but I lost a 
lot of time last week due to “sick child” that I have to extinguish the fires 
that created before I can get back to this.

Do I understand Kennet correctly, he has now done a Perl in GCCcore 6.4.0?  If 
so where is it (e.g. GitHub PR)?

Found it, already merged into develop.  That makes my live easier.
    Thanks
       Joachim
If you have problems with "old"/"relic"/"archaic" distributions like
RHEL6, you might want do look at this:

https://github.com/easybuilders/easybuild-framework/issues/1993

The cc->gcc symlink is vital.

jack  (obviously living in the dark ages with a RHEL6 cluster)


Jack,

we are on CentOS 7.  If I understand you correctly, does that mean nothing to 
do?  Or should I do some act of kindness to the 6 distribution users?  A few 
more instructions would be appreciated.

Jack noticed that for some Perl extensions, the 'cc' command is being used during compilation rather than 'gcc', which results in using /usr/bin/cc from the OS rather than the 'gcc' provided by the toolchain.

To fix this, we need to symlink 'cc' to 'gcc' (and probably 'c++' to 'g++') in the GCC installations done with EasyBuild, to shadow a possible /usr/bin/cc.

See also https://github.com/easybuilders/easybuild-easyblocks/issues/507


regards,

Kenneth

Best wishes
    Joachim



(
Best wishes
   Joachim

On 15 Sep 2017, at 15:19, Jack Perdue <[email protected]> wrote:

On 09/15/2017 07:21 AM, Kenneth Hoste wrote:
Dear Joachim,

On 08/09/2017 19:12, Joachim Hein wrote:
Hi

For building git, it seems I require Perl.  I think git would sit nicely in 
GCCcore (instead of foss/intel).  Is there a reason why the new Perl 5.26.0 
sits in intel/2017b or foss/2017b instead of GCCcore 6.4.0?

I assume if I build a Perl in GCCcore for git I get nice conflicts with 
anything loaded simulaneously taking it out of foss/intel at runtime?
Up until now, we've usually been installing Perl at the foss/intel level 
(unless we needed it as a build dep for something built with GCCcore).

This has sort of grown historically (we've always been doing it like that at 
HPC-UGent), the main motivation being is that we tend to compile all end-user 
applications with Intel compilers (I also included the 'foss' equivalent for 
Perl 5.26.0 since it was dead-easy to do so).

I have to admit I never really benchmarked whether it's necessary to build Perl 
with Intel compilers for better performance, I just assumed it would be 
beneficial.

Yesterday I did a quick benchmarking session using the Perl-Formance package 
[1], and I ran into some surprising results: the Perl that was built on top of 
GCCcore was significantly faster than the same installation done with 
intel/2017b...

For several of the tests included in Perl-Formance, I saw 10-15% *longer* 
runtimes with Perl/5.26.0-intel-2017b compared to using 
Perl/5.26.0-GCCcore-6.4.0;
for one test, there even was a ~40% difference, but only on one of two systems 
I tested on (Sandy Bridge, not observed on Haswell).

So, I shouldn't have made the assumption that compiling with Intel compilers 
yields better performance, I should have checked.
Disclaimer: these results may be specific to the benchmark tests used, and the 
versions of Perl and the compilers, the conclusion may change over time...

Long story short: 
https://github.com/easybuilders/easybuild-easyconfigs/pull/5126

To answer your questions w.r.t. conflicts: since Perl is only a build 
dependency for git, you shouldn't run into conflicts on Perl when combining git 
with something else that was built including Perl built with intel toolchain as 
a dependency.


regards,

Kenneth

[1] 
https://metacpan.org/pod/distribution/Benchmark-Perl-Formance/bin/benchmark-perlformance
Howdy Joachim,


Thank you for your message and the resulting PR#5126.
I keep kicking the guys at UGhent to think about --minimal-toolchains
but they are kinda sick of the bruised shins. :)

Glad to have someone else to help.

Personally I think GCC does a pretty good job in most cases.
Certain maths might benefit from Intel-only vector math and what not
but the benefit of having things based on GCCcore seems to outweigh them.

The more we can demote things down to GCCcore (or iompi/fompi/iimpi) the better.

Jack Perdue
Lead Systems Administrator
High Performance Research Computing
TAMU Division of Research
[email protected]    http://hprc.tamu.edu
HPRC Helpdesk: [email protected]




Reply via email to