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

Compile with ifx on Derecho #168

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

scrasmussen
Copy link
Member

@scrasmussen scrasmussen commented Aug 16, 2023

TYPE: bug fix

KEYWORDS: ifx, compiler, Derecho

SOURCE: Soren Rasmussen, NCAR

DESCRIPTION OF CHANGES:

  • Intel compilers use non-standard argument inquire(directory=dir,...) to check if a directory exists.
  • ifx needed additional use statement for certain functions.
  • coscalar allocatable character array causes ICE in ifx.
  • 'module subroutine water_simple' needed to be 'subroutine water_simple', seemingly so 'module module_water_simple' doesn't clash in compiler symbol table
  • Added -O0 to Intel's debugslow so the following message won't be shown everytime a file is compiled: ifx: remark #10440: Note that use of a debug option without any optimization-level option will turnoff most compiler optimizations similar to use of '-O0'

TESTS CONDUCTED: built and ran test case on Derecho with ifx (distributed and shared arguments), GNU, and Cray compilers

NOTE: Results from testcase with the different compilers on 1 Derecho node:

compiler num_images total (s) init input output physics
ifx distributed 128 100.1 65.3 6.6 0.1 28.1
ifx shared 128 99.7 65.7 6.4 0.2 27.5
gnu 128 117.2 71.7 6.7 0.2 38.5
cray 128 81.8 65.9 7.0 0.2 9.0

Checklist

  • Closes issue #xxxx (An issue must exist or be created to be closed. The
    issue describes and documents the problem and general solution, the PR
    describes the technical details of the solution.)
  • Tests added (unit tests and/or regression/integration tests)
  • Backwards compatible
  • Requires new files? If so, how to generate them.
  • Fully documented

…to check if a directory exists.

ifx needed additional use statement for certain functions.
coscalar chararacter array couldn't be allocated at runtime.
'module subroutine water_simple' needed to be 'subroutine water_simple', seemingly so 'module module_water_simple' doesn't clash in compiler symbol table
Added '-O0' to Intel's debugslow so the following message won't be shown everytime a file is compiled: "ifx: remark #10440: Note that use of a debug option without any optimization-level option will turnoff most compiler optimizations similar to use of '-O0'"
@gutmann
Copy link
Member

gutmann commented Aug 17, 2023

Thanks Soren, any chance you can run those simulations longer so that the "physics" part is 99% of the runtime? That is the important part to document. Currently the total runtime is dominated by the init, which in a "real" (~12hr) run will be a tiny fraction of compute.

@gutmann
Copy link
Member

gutmann commented Aug 17, 2023

can you also run those tests on Cheyenne (same number of cores) with gfortran for reference?

@scrasmussen scrasmussen marked this pull request as draft August 18, 2023 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants