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

CMake: should warn or indicate that DEAL_II_WITH_KOKKOS and DEAL_II_WITH_BOOST is always on. #15690

Open
yurivict opened this issue Jul 9, 2023 · 4 comments
Assignees

Comments

@yurivict
Copy link

yurivict commented Jul 9, 2023

Version: 9.5.0
FreeBSD 13.2

@yurivict yurivict changed the title The libtary is linked with likokkos even when configured with DEAL_II_WITH_KOKKOS=OFF The library is linked with likokkos even when configured with DEAL_II_WITH_KOKKOS=OFF Jul 9, 2023
@RichardYCJ
Copy link
Contributor

According to the release page, kokkos is a required dependency after version 9.5.0

@drwells
Copy link
Member

drwells commented Jul 9, 2023

Yes, Kokkos is required as of 9.5.0 (and we have a bundled version in case people do not have it installed).

It sounds like the error message printed when someone provides -DDEAL_II_WITH_KOKKOS=OFF is wrong - we should fix that.

@yurivict
Copy link
Author

yurivict commented Jul 9, 2023

Does DEAL_II_WITH_KOKKOS=OFF disable anything at all? Is DEAL_II_WITH_KOKKOS needed?

@tamiko
Copy link
Member

tamiko commented Jul 9, 2023

@drwells @yurivict Correct, there is simply no error message.
Neither for DEAL_II_WITH_KOKKOS, nor for DEAL_II_WITH_BOOST.
This is due to

set(DEAL_II_WITH_BOOST ON # Always true. We need it :-]
CACHE BOOL "Build deal.II with support for boost." FORCE
)

which implies that we never trigger:
#
# DEAL_II_WITH_BOOST is always required.
#
if(NOT DEAL_II_WITH_BOOST)
if(DEAL_II_FEATURE_AUTODETECTION)
feature_error_message("BOOST")
else()
message(FATAL_ERROR "\n"
"Unmet configuration requirements: "
"DEAL_II_WITH_BOOST required, but set to OFF!\n\n"
)
endif()
endif()

So this is "wrong" for about 11 years. Same for Kokkos as the logic was simply copied.
We could simply remove the second code block and issue a warning when we switch the flag to ON.

@tamiko tamiko self-assigned this Jul 9, 2023
@tamiko tamiko changed the title The library is linked with likokkos even when configured with DEAL_II_WITH_KOKKOS=OFF CMake: should warn or indicate that DEAL_II_WITH_KOKKOS and DEAL_II_WITH_BOOST is always on. Jul 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants