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

[openmp][AIX]Initial changes for porting to AIX #76841

Merged
merged 4 commits into from Jan 8, 2024

Conversation

xingxue-ibm
Copy link
Contributor

This PR contains initial changes for building and testing libomp on AIX. More changes will follow.

  • KMP_OS_AIX is defined for the AIX platform
  • KMP_ARCH_PPC is defined for 32-bit PPC
  • KMP_ARCH_PPC_XCOFF and KMP_ARCH_PPC64_XCOFF are for 32- and 64-bit XCOFF object formats respectively
  • Assembly file z_AIX_asm.S is used for AIX specific assembly code and will be added in a separate PR
  • The target library is disabled because AIX does not have the device support
  • OMPT is temporarily disabled

@xingxue-ibm xingxue-ibm added the openmp:libomp OpenMP host runtime label Jan 3, 2024
@xingxue-ibm xingxue-ibm self-assigned this Jan 3, 2024
@llvmbot llvmbot added the openmp:libomptarget OpenMP offload runtime label Jan 3, 2024
Copy link

github-actions bot commented Jan 3, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

openmp/runtime/CMakeLists.txt Outdated Show resolved Hide resolved
openmp/runtime/CMakeLists.txt Outdated Show resolved Hide resolved
openmp/cmake/OpenMPTesting.cmake Show resolved Hide resolved
openmp/runtime/CMakeLists.txt Outdated Show resolved Hide resolved
- group ppc closer to ppc64
openmp/runtime/CMakeLists.txt Outdated Show resolved Hide resolved
openmp/runtime/src/CMakeLists.txt Show resolved Hide resolved
openmp/CMakeLists.txt Show resolved Hide resolved
openmp/runtime/CMakeLists.txt Outdated Show resolved Hide resolved
openmp/runtime/src/z_Linux_util.cpp Outdated Show resolved Hide resolved
openmp/runtime/src/CMakeLists.txt Show resolved Hide resolved
- Add check for AIX for adding libatomic for 32-bit PPC
- Remove macro definitions TIMEVAL_TO_TIMESPEC and TIMESPEC_TO_TIMEVAL
  for AIX.
Copy link
Contributor

@shiltian shiltian left a comment

Choose a reason for hiding this comment

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

The patch generally looks good to me. We can improve things as we go.

Copy link
Contributor

@brad0 brad0 left a comment

Choose a reason for hiding this comment

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

LGTM as a start towards AIX support.

@xingxue-ibm xingxue-ibm merged commit 2edce42 into llvm:main Jan 8, 2024
4 checks passed
@xingxue-ibm
Copy link
Contributor Author

Thanks very much, @brad0, @shiltian, @kkwli for reviewing this PR!

@xingxue-ibm xingxue-ibm deleted the openmp-aix-defs branch January 8, 2024 23:08
justinfargnoli pushed a commit to justinfargnoli/llvm-project that referenced this pull request Jan 28, 2024
This PR contains initial changes for building and testing libomp on AIX.
More changes will follow.
- `KMP_OS_AIX` is defined for the AIX platform
- `KMP_ARCH_PPC` is defined for 32-bit PPC
- `KMP_ARCH_PPC_XCOFF` and `KMP_ARCH_PPC64_XCOFF` are for 32- and 64-bit
XCOFF object formats respectively
- Assembly file `z_AIX_asm.S` is used for AIX specific assembly code and
will be added in a separate PR
- The target library is disabled because AIX does not have the device
support
- OMPT is temporarily disabled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
openmp:libomp OpenMP host runtime openmp:libomptarget OpenMP offload runtime
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants