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

rmcdhf -- in-memory versions #79

Merged
merged 6 commits into from
Jan 28, 2022
Merged

Conversation

jongrumer
Copy link
Member

@jongrumer jongrumer commented Jan 18, 2022

New version of RMCDHF (serial and parallel) by G. Gaigalas from a suggestion by Charlotte F. Fischer.
I based the changes on the current, newest versions of the codes.

See the commit messages for details and a test run.

I hope I got all the Make and CMake additions correct - seems to work for me, but please test it.

Additional modifications:

  • rmcdhf (all versions): CLEVEL*2 --> *4
  • root Makefile: make clean now excludes the bin/ and lib/ directories, a new make cleanall call includes these directories.

Jon

gaigalas and others added 3 commits January 18, 2022 15:36
New "in-memory" versions of rmcdhf90 and rmcdhf90_mpi to GRASP by G.
Gaigalas and suggested by Charlotte F. Fischer.

Qin Yi has collected some information about speed up of this new
program:

The memory version   (10 iterations; -np=32)
  Block           NCSF
  1               4499
  2              34553
  3              76011
  4             106505
  5              60403

In memory                         On disk
real   26m 34.763s                 real  275m 14.224s
user  796m 28.961s (u/32 = 24.875) user 3366m 36.840s (u/32 = 105.2)
sys    41m 32.089s (u/32  = 1.30)  sys  3036m 50.741s (s/32 =94.9)

So the in memory method is 4-10 times faster than on disk,
although this is not a really large case and 32 processors is too many.
Copy link
Member

@mortenpi mortenpi left a comment

Choose a reason for hiding this comment

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

The Makefile does not correspond to the BUILDCONF.sh file. You can locally run ./contrib/genbuildall.sh to regenerate the Makefile.

@jongrumer
Copy link
Member Author

jongrumer commented Jan 19, 2022

@mortenpi Great, thanks Morten!

Update: alright, sorry for bugging you more - but how do I get the actual build at github to use the correct environment variables? The build of e.g. the new rmcdhf_mem fails for some reason. Did I mess something up with the new Makefiles? They look correct to me and things compile file locally.

read1_mem.f90 read1_mem_I.f90
read2_mem.f90 read2_mem_I.f90
read3_mem.f90 read3_mem_I.f90
rmcdhf_mem_C.f90
Copy link
Member

Choose a reason for hiding this comment

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

The error seems to be that the compiled rmcdhf_mem_C module is not found: https://github.com/compas/grasp/runs/4871824355?check_suite_focus=true#step:4:2081

I reckon it's because Make tries to compile stuff that depend on this module before actually compiling it. I suggest moving this line all the way to the top, so that it would get compiled first by Make.

As for why it works locally: did you try deleting all the build files? I guess you have the .mod file lying around from a previous compilation.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yup, you are right. Not sure how but somehow the .mod files were never cleaned out properly in my tests. Seems to be working now after some shuffling around. And good I learned the procedure of generating/updating the Makefiles with your genbuild scripts!

@jongrumer jongrumer merged commit 3a4cd91 into master Jan 28, 2022
@jongrumer jongrumer deleted the jg/rmcdhf_in-memory_versions branch January 28, 2022 13:17
@jongrumer jongrumer changed the title rmcdhf - in-memory versions rmcdhf -- in-memory versions Apr 6, 2022
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.

3 participants