Skip to content

Conversation

@siuwuncheung
Copy link
Member

@siuwuncheung siuwuncheung commented Oct 25, 2023

To build mgmol with libROM on Quartz:

  1. Copy scripts/build_quartz_libROM.sh to parent.
  2. csh build_quartz_libROM.sh

@dalg24-jenkins
Copy link
Collaborator

Can one of the admins verify this patch?

@Rombur
Copy link
Collaborator

Rombur commented Oct 25, 2023

OK to test

Copy link
Collaborator

@oseikuffuor1 oseikuffuor1 left a comment

Choose a reason for hiding this comment

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

Thanks Tony. This looks good.

Copy link
Collaborator

@jeanlucf22 jeanlucf22 left a comment

Choose a reason for hiding this comment

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

It is nice to share build scripts with everyone, and that is what we have been doing through the repo and scripts directory. But I would not change the CMakeLists.txt now: we don't have a use case. MGmol is not going to call libROM. We are going to build a driver that will use both libROM and MGmol as libraries.

@siuwuncheung
Copy link
Member Author

It is nice to share build scripts with everyone, and that is what we have been doing through the repo and scripts directory. But I would not change the CMakeLists.txt now: we don't have a use case. MGmol is not going to call libROM. We are going to build a driver that will use both libROM and MGmol as libraries.

I attempted to build libROM within MGmol as I thought we are going to build linear subspace projection based ROMs. In this case, the ROM part is intrusive and we need to call libROM within MGmol. This is similarly done in Laghos.

@dreamer2368
Copy link
Collaborator

It is nice to share build scripts with everyone, and that is what we have been doing through the repo and scripts directory. But I would not change the CMakeLists.txt now: we don't have a use case. MGmol is not going to call libROM. We are going to build a driver that will use both libROM and MGmol as libraries.

Where do you have in mind to build that driver? If it resides in this repo, are you thinking of having a separate cmakelists.txt for the driver and linking librom only to that driver?

@oseikuffuor1
Copy link
Collaborator

@siuwuncheung @dreamer2368, I think @jeanlucf22 's idea is to build MGmol as a library so that we can have drivers that will link to both libROM and MGmol, calling the necessary functions to generate training data as needed. We would then expose more functionality to do the prediction part. I understand the benefit of having direct access to implement calls that might be intrusive, and we may very well do that at some point. But I think this approach is worth exploring since it will also demonstate how other DFT codes may benefit from the techniques we end up developing in libROM (in a less intrusive way). @dreamer2368, what you mention is along the lines of the approach we are thinking. Jean-Luc is working on an initial driver that we can use as a template for other drivers.

@dreamer2368
Copy link
Collaborator

@oseikuffuor1
I like the idea. I also think we could simply include/link libROM that is pre-built, not compiling it together with our application.

@jeanlucf22 jeanlucf22 merged commit e729756 into ROMFPMD Nov 7, 2023
@jeanlucf22 jeanlucf22 deleted the build_libROM branch November 7, 2023 21:17
jeanlucf22 pushed a commit that referenced this pull request Apr 24, 2024
* add libROM to CMakelists.txt

* Add shell_script

* Minor changes

* Add module file
jeanlucf22 pushed a commit that referenced this pull request Apr 26, 2024
* add libROM to CMakelists.txt

* Add shell_script

* Minor changes

* Add module file
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.

7 participants