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

ppc64le build fixes + ibm-clang #2116

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

Conversation

jstrodtb
Copy link

@jstrodtb jstrodtb commented Oct 1, 2024

Updated build files for modern ppc64le, including undefining the "vector" macro and supporting ibm-clang. Previously, the ppc64le build would fail to compile.

TYPE: bug fix

KEYWORDS: ppc64le, gcc, build

SOURCE: Joshua Strodtbeck (Tachos High Performance Computing)

DESCRIPTION OF CHANGES:
Problem:
The old IBM XL compiler has been superseded by ibm-clang. Moreover, both gcc and ibm-clang define a macro called "vector" which causes the preprocessor to fail. Note that this fix depends on islas/cmake-fixSplitCommandFlags, which must be merged first, or the preprocessor fix won't work.

Solution:
Added ibm-clang and ppc64le gcc to

ISSUE: For use when this PR closes an issue.
N/A

LIST OF MODIFIED FILES: list of changed files (use git diff --name-status master to get formatted list)
arch/configure.defaults

TESTS CONDUCTED:
Compiled and ran conus2.5km on my Power9 box.

RELEASE NOTE: The latest IBM compiler, ibm-clang, is now supported.

@jstrodtb jstrodtb requested review from a team as code owners October 1, 2024 21:12
@jstrodtb jstrodtb changed the title ppc64le build ppc64le build fixes + ibm-clang Oct 1, 2024
@islas islas changed the base branch from master to release-v4.6.1 October 1, 2024 21:19
@islas islas changed the base branch from release-v4.6.1 to develop January 6, 2025 21:31
@@ -771,7 +771,54 @@ CC_TOOLS = $(SCC)
NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD

###########################################################
#ARCH Linux x86_64 ppc64le, gfortran compiler with gcc #serial smpar dmpar dm+sm
#ARCH Linux ppc64le, gfortran compiler with gcc #serial smpar dmpar dm+sm
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a comment in configure.defaults ( #insert new stanza here) showing where new stanzas should be made. While this may not be entirely new and more of a split up of the x86_64 and ppc64le architectures, certain tests assume the position of stanzas with an emphasis on the specific location of x86_64.

This new ppc64le stanza should be moved lower to the appropriate location.

@@ -1044,6 +1091,54 @@ RLFLAGS = -c
CC_TOOLS = $(SCC)
NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD

###########################################################
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new stanza should also be moved lower to the appropriate location

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