Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent) #1919

Merged
merged 1 commit into from
Jan 4, 2018

Conversation

ndkeen
Copy link
Contributor

@ndkeen ndkeen commented Nov 21, 2017

For cori-knl and Intel compiler, adjust the compiler flags to be more restrictive and allow more tests to pass.

For Intel 17, instead of -fp-model source, use -fp-model consistent.
For Intel 18, instead of -fp-model source, use -fp-model consistent -fimf-use-svml.
Fixes #1477

… restrictive and allow more tests to pass.

For Intel 17, instead of -fp-model source, use -fp-model consistent.
For Intel 18, instead of -fp-model source, use -fp-model consistent -fimf-use-svml.
Fixes #1477
fmyuan referenced this pull request in fmyuan/E3SM Nov 28, 2017
Shorter paths for case2 using system_tests_compare_two
The recently-changed version of system_tests_compare_two nested case2's
bld and run directories under
$CIME_OUTPUT_ROOT/TESTNAME/case2/TESTNAME. Since the TESTNAME is often
long, this was leading to very long paths to some things in the bld
directory. This was causing some compilation errors.

With this PR, case2's bld and run directories appear in
$CIME_OUTPUT_ROOT/TESTNAME/case2/bld and
$CIME_OUTPUT_ROOT/TESTNAME/case2/run. This shortens the bld directory
paths enough to get some formerly-failing builds to pass. The change in
run directory is just for consistency.

I was hoping to do this just via setting EXEROOT and RUNDIR in
system_tests_compare_two, to avoid cluttering up create_clone with
arguments that are just needed for tests. But it turns out that we need
to do this in create_clone, because create_clone calls case_setup, which
creates the EXEROOT and RUNDIR directories.

Test suite: scripts_regression_tests on cheyenne
Also confirmed that the following tests build successfully:
ERP.f10_f10_musgs.I1850Clm45BgcCru.yellowstone_pgi
ERP_P60x2_Lm36.f10_f10_musgs.I2000Clm50BgcCrop.yellowstone_intel.clm-clm50cropIrrigMonth_interp
Test baseline: N/A
Test namelist changes: none
Test status: bit for bit

Fixes ESMCI/cime#1914

User interface changes?: none

Update gh-pages html (Y/N)?:

Code review: jedwards
@amametjanov
Copy link
Member

I think the issue comes up in acme_integration tests and intel17. We should switch and run everything with intel18 on KNLs. Can you post paths to before and after of acme_integration+intel18 runs? Thanks.

@ndkeen
Copy link
Contributor Author

ndkeen commented Dec 4, 2017

I have my own set of tests that include acme_developer, acme_integration, the hires test, as well as others that have given us issues along the way.

Results are here: /global/cscratch1/sd/ndk/acme_scratch/cori-knl/mf-cons-svml

@ndkeen
Copy link
Contributor Author

ndkeen commented Dec 6, 2017

Can I merge this to next? I'd like to then make Intel 18 the default for Cori in another PR.

@amametjanov
Copy link
Member

What's the previous pass/fail status: can't find v18 original?

azamat@cori12:/global/cscratch1/sd/ndk/acme_scratch/cori-knl/mf-cons-svml> ls -al | grep cs.status
-rwxrwxr--    1 ndk ndk    221 Nov  7 16:51 cs.status.20171107_165102_70lkp9
-rwxrwxr--    1 ndk ndk    221 Nov  7 16:55 cs.status.20171107_165502_uhhte3
-rwxrwxr--    1 ndk ndk    221 Nov  7 20:05 cs.status.20171107_200543_f97i4s
-rwxrwxr--    1 ndk ndk    203 Nov  7 21:17 cs.status.prec
-rwxrwxr--    1 ndk ndk    204 Nov  8 07:24 cs.status.nofma
-rwxrwxr--    1 ndk ndk    208 Nov  8 09:45 cs.status.allmedium
-rwxrwxr--    1 ndk ndk    207 Nov 10 17:18 cs.status.mptfinal
-rwxrwxr--    1 ndk ndk    208 Nov 10 17:20 cs.status.impifinal
-rwxrwxr--    1 ndk ndk    210 Nov 10 19:38 cs.status.impi18final
-rwxrwxr--    1 ndk ndk    221 Nov 10 20:17 cs.status.20171110_201732_b554l3
-rwxrwxr--    1 ndk ndk    221 Nov 10 20:35 cs.status.20171110_203547_7nzowe
-rwxrwxr--    1 ndk ndk    208 Nov 11 10:02 cs.status.mptfinalb
-rwxrwxr--    1 ndk ndk    208 Nov 11 10:23 cs.status.mptfinald
-rwxrwxr--    1 ndk ndk    207 Nov 15 16:08 cs.status.h110n441
-rwxrwxr--    1 ndk ndk    206 Nov 21 11:54 cs.status.v17orig

@ndkeen
Copy link
Contributor Author

ndkeen commented Dec 6, 2017

Sorry, I typically delete the cs.status files. Is there something here that can answer your question?

https://acme-climate.atlassian.net/wiki/spaces/SE/pages/316309557/Testing+Results+for+Intel+compiler+flag+changes+on+cori-knl

@amametjanov
Copy link
Member

It looks like this change introduces a new fail with the HOMME test. Machine-specific flags can be added to components/homme/cmake/machineFiles/cori-knl.cmake.

@ndkeen
Copy link
Contributor Author

ndkeen commented Dec 6, 2017

Yea, you're right. The HOMME test was not affected in the same way by the e3sm flags and seems so sensitive that I was treating it specially. I'm not sure Mark wants to add these flags to HOMME though?

@mt5555
Copy link
Contributor

mt5555 commented Dec 6, 2017

I'd like to move homme to -fp-model=fast. I think the standalone HOMME tests are probably less sensitive and shouldn't we be able to get away with fast?

@ndkeen
Copy link
Contributor Author

ndkeen commented Dec 14, 2017

Can I merge this to next?

@ndkeen
Copy link
Contributor Author

ndkeen commented Jan 2, 2018

I'd really like to get this thru first before making other changes.

ndkeen added a commit that referenced this pull request Jan 2, 2018
…t (PR #1919)

For cori-knl and Intel compiler, adjust the compiler flags to be more restrictive and allow more tests to pass.

For Intel 17, instead of -fp-model source, use -fp-model consistent.
For Intel 18, instead of -fp-model source, use -fp-model consistent -fimf-use-svml.
Fixes #1477
@ndkeen ndkeen merged commit cc9e791 into master Jan 4, 2018
jgfouca pushed a commit that referenced this pull request Jan 23, 2018
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
@ndkeen
Copy link
Contributor Author

ndkeen commented Feb 1, 2018

This should have fixed github 1850 as well

@rljacob rljacob deleted the ndk/machinefiles/intel-fp-consistent-use-svml branch February 15, 2018 16:11
jgfouca pushed a commit that referenced this pull request Feb 27, 2018
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
jgfouca pushed a commit that referenced this pull request Mar 14, 2018
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
rljacob pushed a commit that referenced this pull request Apr 21, 2021
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
rljacob pushed a commit that referenced this pull request May 6, 2021
…ml (PR #1919)

Adjust fp-model flags for Intel compiler on cori-knl (use fp-model consistent)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants