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

Base for librom-mgmol interface development #219

Merged
merged 13 commits into from
Apr 9, 2024
Merged

Conversation

dreamer2368
Copy link
Collaborator

@dreamer2368 dreamer2368 commented Apr 8, 2024

Name change of Signal.h

src/tools/Signal.h can be overlapped with a built-in header file signal.h for csignal. In some OS #include is case-sensitive, while some others are not. This can cause a compile-time error, which is at least observed from arm64-linux environment. This header file is now renamed as src/tools/Signal_mgmol.h.

CI workflow for ROM development

  • libROM-mgmol interface will be developed with the ROMFPMD branch. Now any pull requests to ROMFPMD will go through the github ci workflow.

Future works

  • Current CI workflow only includes the first 20 tests. All the subsequent tests seem to hang or take a significantly long time on the current docker container environment.
  • The up-to-date version of clang-format is 14.0, while mgmol requires 6.0. The code style is not tested until we can resolve the version incompatibility.

Scalapack cmake fix

cmake_modules/FindSCALAPACK.cmake now further attempts to find scalapack from some hardcoded paths, if the library is not found.

Installation on LC quartz with libROM

  • libROM installation is separated from mgmol.
  • cmake_toolchain/quartz.default.cmake provides a default toolchain file for installing mgmol on LC quartz.
  • Updated scripts/module.quartz and scripts/build_quartz_libROM.sh

ROM-FPMD driver mgmol-rom

mgmol-rom based on src/rom_main.cc is the driver with ROM, being compiled only when cmake variable USE_LIBROM is turned on. Currently this only instantiates a libROM vector object.

@dreamer2368 dreamer2368 changed the base branch from release to ROMFPMD April 8, 2024 19:54
@dreamer2368 dreamer2368 marked this pull request as ready for review April 8, 2024 22:40
@dreamer2368 dreamer2368 changed the title Ghcr ci test Basic CI workflow for librom-mgmol interface development Apr 8, 2024
@dreamer2368 dreamer2368 changed the title Basic CI workflow for librom-mgmol interface development Base for librom-mgmol interface development Apr 9, 2024
@jeanlucf22 jeanlucf22 merged commit 9309258 into ROMFPMD Apr 9, 2024
2 checks passed
@jeanlucf22 jeanlucf22 deleted the ghcr-ci-test branch April 9, 2024 12:40
jeanlucf22 pushed a commit that referenced this pull request Apr 24, 2024
* changed the Signal.h header file name.

* additional routine to find scalapack library, if nothing is found.

* ci workflow with test and format

* changed branch name

* ctest verbose

* added --oversubscribe to cmake MPIEXEC_PREFLAGS variable.

* parallel hdf5 package fix. also librom is included.

* ci workflow only checks the first 20 tests.

* minor fix

* rom-fpmd driver and librom dependency in cmake. librom must be compiled before mgmol cmake.

* cmake fix and toolchain file for LC quartz.

* bug fix on FindSCALAPACK.cmake

* librom-mgmol installation script for LC quartz.
jeanlucf22 pushed a commit that referenced this pull request Apr 26, 2024
* changed the Signal.h header file name.

* additional routine to find scalapack library, if nothing is found.

* ci workflow with test and format

* changed branch name

* ctest verbose

* added --oversubscribe to cmake MPIEXEC_PREFLAGS variable.

* parallel hdf5 package fix. also librom is included.

* ci workflow only checks the first 20 tests.

* minor fix

* rom-fpmd driver and librom dependency in cmake. librom must be compiled before mgmol cmake.

* cmake fix and toolchain file for LC quartz.

* bug fix on FindSCALAPACK.cmake

* librom-mgmol installation script for LC quartz.
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