On 04/18/2017 03:19 PM, Kenneth Hoste wrote:
> On 13/04/2017 16:53, Markus Geimer wrote:
>> Maik,
>>
>> As far as I can see in my build logs, this is nothing that is induced
>> by EasyBuild.  It seems as if the configure scripts of various math
>> libraries needed to build GCC (i.e., GMP, isl, etc.) set these flags
>> automatically based on the host architecture.  To fix this behavior,
>> you need to figure out how to convince the configure scripts to use
>> a "conservative" setting and then modify the GCC easyblock accordingly.
> 
> This is indeed not done by EasyBuild, since for installations done with
> the 'dummy' toolchain the build environment (e.g. $CFLAGS etc.) is not
> set up by EasyBuild, hence --optarch has no effect whatsoever.
> 
> By default, EasyBuild performs the 3-stage bootstrap procedure for GCC,
> which results in a native compiler.
> 
> What you want to do is basically build a cross-compiler...

Not really.  The bootstrap will build a native compiler, yes.  But the
GCC build itself does not use any instruction set optimization flags
(e.g., '-march=native').  Thus, the bootstrap will generate generic
code that will run on any CPU of the host architecture (e.g., x86_64).
However, this is not true for the support libraries, which are
optimized by default.

I'd say this situation is different from building a cross-compiler
where the *target* architecture or OS is different (e.g., compiling
for ARM on x86).

Markus


>> On 04/13/2017 03:57 PM, Maik Schmidt wrote:
>>> Nope, wasn't that. Even when explictly setting --optarch=GENERIC on the
>>> eb call, it uses whatever the host architecture is in the second and
>>> third build stages, e.g. "-march=haswell -mtune=haswell"
>>>
>>> Am 13.04.2017 um 11:53 schrieb Maik Schmidt:
>>>> Okay, I think it might be due to the fact that GCC/GCCcore are
>>>> actually built with the dummy toolchain and so my compiler-specific
>>>> optarch that only includes "Intel" and "GCC" is not applied there. Can
>>>> I also add "dummy" to the optarch as another toolchain?
>>>>
>>>> Best,
>>>> Maik
>>>>
>>>> Am 13.04.2017 um 10:13 schrieb Maik Schmidt:
>>>>> I have noticed that when doing a GCC/GCCcore build, it always uses
>>>>> the HOST architecture for -march and -mtune starting in compile stage
>>>>> 2, even though I have set something else via optarch. This is a real
>>>>> problem for heterogenous clusters if you do not make sure that the
>>>>> build host always is one with the oldest architecture, because then
>>>>> it leads to the error:
>>>>>
>>>>> "internal compiler error: Illegal instruction"
>>>>>
>>>>> when the resulting GCC is used on an older node.
>>>>>
>>>>> Is this a known issue, or is there a way to make the GCC build
>>>>> process respect what EasyBuild sets as the target architecture, even
>>>>> during the later compile stages?
>>>>>
>>>>> Thank you kindly in advance.
>>>>>
>>>>
>>>
>> -- 
>> Dr. Markus Geimer
>> Juelich Supercomputing Centre
>> Institute for Advanced Simulation
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich, Germany
>>
>> Phone:  +49-2461-61-1773
>> Fax:    +49-2461-61-6656
>> E-Mail: [email protected]
>> WWW:    http://www.fz-juelich.de/jsc
>>
>>
>> ------------------------------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------------------------
>>
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich
>> Sitz der Gesellschaft: Juelich
>> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
>> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
>> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
>> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
>> Prof. Dr. Sebastian M. Schmidt
>> ------------------------------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------------------------
>>
>>
> 

-- 
Dr. Markus Geimer
Juelich Supercomputing Centre
Institute for Advanced Simulation
Forschungszentrum Juelich GmbH
52425 Juelich, Germany

Phone:  +49-2461-61-1773
Fax:    +49-2461-61-6656
E-Mail: [email protected]
WWW:    http://www.fz-juelich.de/jsc

Reply via email to