<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hi Tim,<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">If
the Cray flags are for wrapper scripts, why do we need specific flags
for that instead of using the underlying compiler flags?<br></blockquote><div> </div><div>Sort answer: It's the "Cray" way of doing things.<br><br>Long
answer: The target-cpu flag sometimes just controlls the -march flags
(or equiv) but it can also add other low level flags. By using the
target-cpu flag with the cray compiler wrappers, you ensure that you're
using whatever flags for a given architecture are appropriate for the
underlying compiler, even if you don't have that compiler knowledge
specified encoded anywhere in your configure. For instance, when using
another compiler backend that ./configure isn't explicitly checking for
(pathscale, actual cray compiler, etc.), then the build will continue to
work because -target-cpu gets translated by the wrpper to whatever is
appropriate. You'll also get a default set of flags loaded anyways
based on your module environment. Specifying target-cpu replaces those
default flags whereas adding -xCORE-AVX512 would just append to them,
maybe overriding the default flags, maybe not, depending on how the
module environment is set up. It's one of the many quirks and oddities
of the Cray Programming Environment.<br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I’m guessing you intend this for the 17.2 branch as well?<br></blockquote><div><br></div><div>Nope. I've no pressing customer need for it so keeping it in master but out of stable is fine with me.<br></div><br><br><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">----------<br>Chuck Atkins<br>Staff R&D Engineer, Scientific Computing<br>Kitware, Inc.<br></div></div></div></div></div></div></div></div></div></div>