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

Build system updates #151

Merged
merged 6 commits into from
Dec 20, 2023
Merged

Build system updates #151

merged 6 commits into from
Dec 20, 2023

Conversation

sebastiangrimberg
Copy link
Contributor

@sebastiangrimberg sebastiangrimberg commented Dec 13, 2023

  • Update MFEM and libCEED dependencies
  • Update all other dependency versions
  • Forward linker flags to dependency builds
  • Miscellaneous updates in preparation for GPU builds (Configure and pass GPU options to dependencies, add Slate and MAGMA dependencies for GPU builds, Hypre use GNU Make build system instead of CMake for HIP support)

@sebastiangrimberg sebastiangrimberg added the build Related to building label Dec 13, 2023
@sebastiangrimberg sebastiangrimberg force-pushed the sjg/build-system-updates branch 2 times, most recently from 036e6fb to 7c34cce Compare December 14, 2023 23:48
@sebastiangrimberg sebastiangrimberg marked this pull request as ready for review December 15, 2023 05:10
@sebastiangrimberg
Copy link
Contributor Author

This PR goes alongside the documentation updates in #146 (mainly the updated CMake requirement to v3.21, for upcoming HIP support).

Copy link
Collaborator

@hughcars hughcars left a comment

Choose a reason for hiding this comment

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

Built locally with all PALACE_WITH_XXX options turned on (aside from PALACE_WITH_64BIT_BLAS_INT), and examples tests all pass. MAGMA turns itself off based on lack of CUDA/HIP, but that's as expected.

set(LIBCEED_OPT_FLAGS "${LIBCEED_OPT_FLAGS} -isystem ${CUDA_DIR}/include")
endif()
if(PALACE_WITH_HIP)
set(LIBCEED_OPT_FLAGS "${LIBCEED_OPT_FLAGS} -isystem ${ROCM_DIR}/include")
Copy link
Collaborator

Choose a reason for hiding this comment

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

ROCM_DIR? Just pattern matching here relative to CUDA_DIR above.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, using the same naming as https://github.com/CEED/libCEED/blob/main/Makefile. The missing piece that will come with GPU builds (along with the PALACE_WITH_CUDA and PALACE_WITH_HIP options) is to define CUDA_DIR and ROCM_DIR based on the paths located by CMake.

@sebastiangrimberg sebastiangrimberg merged commit 5aa3e4c into main Dec 20, 2023
17 checks passed
@sebastiangrimberg sebastiangrimberg deleted the sjg/build-system-updates branch December 20, 2023 17:39
@sebastiangrimberg sebastiangrimberg mentioned this pull request Dec 20, 2023
11 tasks
sebastiangrimberg added a commit that referenced this pull request Dec 20, 2023
sebastiangrimberg added a commit that referenced this pull request Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Related to building
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants