Giter Club home page Giter Club logo

turborvb's People

Contributors

addman2 avatar kousuke-nakano avatar michele-casula avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

turborvb's Issues

Storing random seeds are inconsistent (serial code)

When executed VMC run with serial code the random seed is store in execution directory. However LRDMC run expects it to be turborvb.scratch folder. This behaviour differs in MPI where everything is store in the scratch directory.

compiling with cuda 12

There is an issuel with header files of cublas and cusolver when compiled with cuda 12. So its not possible to comile TurboRVB with cuda 12. For the time being one has to compile it with cude 11 or turb of cublas -DEXT_BLKL_FLAGS="_CUSOLVER"

JSON output of TurboRVB

There is been general need for standard json output from the calculation. It has been suggested to have also a json output. We should coordinate this effort with qmc=chem and champs

User manual of TurboRVB

  • We should elaborate on the TurboRVB user manual.
  • GitHub Action for deploying the user manual to gh-pages.

Test zgemm_b NN fails randomly

I noticed that Test zgemm_b NN fails randomly. Does someone have any clue?

The following tests FAILED:
	 17 - Test zgemm_b NN (128 x 128) (Failed)
Errors while running CTest

Version info.

  • version info should be embedded in all the stand-alone "program" f90 files.

Non allocated array in prep

if scalapack is used mpi ranks are writing to non allocated molecorbldo at line 2608 of file /home/addman/turborvb/src/a_prep/freeelmod_complex_kpoints.f90

cmake fails in directories that contains space in name

Cmake fails in directories that contains space in name. I have problem with cmake and ctest while building and testing turborvb. Majority of test fails, when directory contains space in name.
For example>

`

/david Files/applications/turborvb/build$ ctest

0% tests passed, 97 tests failed out of 97

Total Test time (real) = 2.33 sec

The following tests FAILED:
3 - Test zdotc_ wrapper (128) (Failed)
4 - Test dger_ wrapper (256 x 256) (Failed)
5 - Test dger2 wrapper (256 x 256) (Failed)
6 - Test zgeru_ wrapper (256 x 256) (Failed)
7 - Test zger2 wrapper (256 x 256) (Failed)
8 - Test dgemm_ wrapper NN (128 x 128) (Failed)
9 - Test dgemm_ wrapper NT (128 x 128) (Failed)
10 - Test dgemm_ wrapper TT (128 x 128) (Failed)
11 - Test zgemm_ wrapper NN (128 x 128) (Failed)
12 - Test zgemm_ wrapper NT (128 x 128) (Failed)
13 - Test zgemm_ wrapper CT (128 x 128) (Failed)
14 - Test dgemm_b NN (128 x 128) (Failed)
15 - Test dgemm_b NT (128 x 128) (Failed)
16 - Test dgemm_b TT (128 x 128) (Failed)
17 - Test zgemm_b NN (128 x 128) (Failed)
18 - Test zgemm_b NN (128 x 128) (Failed)
19 - Test zgemm_b TT (128 x 128) (Failed)
20 - Test dtrsm_ wrapper ULN (128 x 128) (Failed)
21 - Test dtrsm_ wrapper LRT (128 x 128) (Failed)
22 - Test ztrsm_ wrapper URN (128 x 128) (Failed)
23 - Test ztrsm_ wrapper LLC (128 x 128) (Failed)
24 - Test dgemv_ wrapper N (256) (Failed)
25 - Test dgemv__ wrapper N (256) (Failed)
26 - Test dgemv_ wrapper T (256) (Failed)
27 - Test dgemv__ wrapper T (256) (Failed)
28 - Test zgemv_ wrapper N (256) (Failed)
29 - Test zgemv_ wrapper T (256) (Failed)
30 - Test zgemv_ wrapper C (256) (Failed)
31 - Test dskmv_ wrapper U (256) (Failed)
32 - Test dskmv_ wrapper L (256) (Failed)
33 - Test zskmv_ wrapper U (256) (Failed)
34 - Test zskmv_ wrapper L (256) (Failed)
35 - Test dgetrf_ wrapper (128) (Failed)
36 - Test zgetrf_ wrapper (128) (Failed)
37 - Test dgetrfi_ wrapper (128) (Failed)
38 - Test zgetrfi_ wrapper (128) (Failed)
39 - Test DFT open system (num mpi = prep-serial) (Failed)
40 - Test DFT open system (num mpi = 1 prep-mpi) (Failed)
41 - Test DFT open system (num mpi = 2 prep-mpi) (Failed)
42 - Test DFT PBC gamma point (prep-serial) (Failed)
43 - Test DFT PBC gamma point (num mpi = 1 prep-mpi) (Failed)
44 - Test DFT PBC gamma point (num mpi = 2 prep-mpi) (Failed)
45 - Test DFT PBC twist real (prep-serial) (Failed)
46 - Test DFT PBC twist real (num mpi = 1 prep-mpi) (Failed)
47 - Test DFT PBC twist real (num mpi = 2 prep-mpi) (Failed)
48 - Test DFT PBC twist complex (prep-serial) (Failed)
49 - Test DFT PBC twist complex (num mpi = 1 prep-mpi) (Failed)
50 - Test DFT PBC twist complex (num mpi = 2 prep-mpi) (Failed)
51 - Test VMC run (turborvb-serial) (Failed)
52 - Test VMC (AD) run (Failed)
53 - Test VMC run (turborvb-mpi) (Failed)
54 - Test VMC for 100 molecules run (turborvb-serial) (Failed)
55 - Test VMC PBC Tilted run (turborvb-serial) (Failed)
56 - Test VMC PBC Tilted (AD) run (Failed)
57 - Test VMC PBC Tilted (AD, nosparse) run (Failed)
58 - Test VMC PBC Tilted run (turborvb-mpi) (Failed)
59 - Test VMC PFAFF run (turborvb-serial) (Failed)
60 - Test VMC PFAFF (AD) run (Failed)
61 - Test VMC PBC (AD, nosparse) run (Failed)
62 - Test VMC PFAFF run (turborvb-mpi) (Failed)
63 - Test VMC for 8 crystals at gamma run (turborvb-serial) (Failed)
64 - Test VMC for 8 crystals at gamma run (turborvb-mpi) (Failed)
65 - Test VMC for 8 crystals at (0.25 0.25 0.25) run (turborvb-serial) (Failed)
66 - Test VMC for 8 crystals at (0.25 0.25 0.25) run (turborvb-mpi) (Failed)
67 - Test VMC for 8 crystals at (0.50 0.50 0.50) run (turborvb-serial) (Failed)
68 - Test VMC for 8 crystals at (0.50 0.50 0.50) run (turborvb-mpi) (Failed)
69 - Test VMCopt Lin. Jastrow opt run (turborvb-serial) (Failed)
70 - Test VMCopt Lin. Jastrow opt run (turborvb-mpi) (Failed)
71 - Test VMCopt SR. Jastrow opt run (turborvb-serial) (Failed)
72 - Test VMCopt SR. Jastrow opt run (turborvb-mpi) (Failed)
73 - Test VMCopt Lin. AGPmat opt run (turborvb-serial) (Failed)
74 - Test VMCopt Lin. AGPmat opt run (turborvb-mpi) (Failed)
75 - Test VMCopt SR. AGPmat opt run (turborvb-serial) (Failed)
76 - Test VMCopt SR. AGPmat opt run (turborvb-mpi) (Failed)
77 - Test LRDMC run (turborvb-serial) (Failed)
78 - Test LRDMC (AD) run (Failed)
79 - Test LRDMC run (turborvb-mpi) (Failed)
80 - Test LRDMC (new) run (turborvb-serial) (Failed)
81 - Test LRDMC (new) (AD) run (Failed)
82 - Test LRDMC (new) run (turborvb-mpi) (Failed)
83 - Test LRDMC PFAFF run (turborvb-serial) (Failed)
84 - Test LRDMC PFAFF (AD) run (Failed)
85 - Test LRDMC PFAFF run (turborvb-mpi) (Failed)
86 - Test LRDMC TILTED run (turborvb-serial) (Failed)
87 - Test LRDMC TILTED run (turborvb-mpi) (Failed)
88 - Test LRDMC DLA run (turborvb-serial) (Failed)
89 - Test LRDMC DLA run (turborvb-mpi) (Failed)
90 - Test LRDMC DLTM run (turborvb-serial) (Failed)
91 - Test LRDMC DLTM run (turborvb-mpi) (Failed)
92 - Test LRDMC LA run (turborvb-serial) (Failed)
93 - Test LRDMC LA run (turborvb-mpi) (Failed)
94 - Test LRDMC T-move run (turborvb-serial) (Failed)
95 - Test LRDMC T-move run (turborvb-mpi) (Failed)
96 - Test MD classical-VMC run (turborvb-serial) (Failed)
97 - Test MD classical-VMC run (turborvb-mpi) (Failed)
98 - Test MD quantum-VMC run (turborvb-serial) (Failed)
99 - Test MD quantum-VMC run (turborvb-mpi) (Failed)
Errors while running CTest
`

duplicated zsktrs

Hi @addman2,

While I was refactoring, I noticed that the exactly same subroutine name "zsktrs" is used in

  • zsktrs_qp.f90, and
  • zsktrs.f90.

They both are included in CMakeLists.txt.

Do you think we can remove zsktrs.f90?

Making parallel compilation more stable

Parallel compilation mainly with Nvidia compilers are not very stable even if only -j 2 is used. This should be fixed. In previous version stability was increased by introducing virtual libraries.

Make 6 branch

Similarly to 0 branch we can have speed up for pseudo case if we make also branch 6 or 12.

This is little bit more technical but for those who don't know, there is a pseudo averaging in turbo in pseudopotential case. Number of points can be arbitrary but normally it is is either 0 (non-pseudo case), 6 (most common) or 12. If these numbers would be known during compile time compiler could do much better vectorization. The fore there is a trick how to automatically do a special branch of the code for these particular numbers.

Unifying preprocessor macros

In TurboRVB we have macros that start with no under (RISC, PARALLEL, etc ...), with one underscore (_OFFLOAD, _CUBLAS, etc ...) and with two underscores (__SCALAPACK, __PORT, etc ...). Maybe it is time to unify all of them to one paradigm (like all of them will be only with one underscore.

We need to keep in mind this thing has to be changed also in the documentation.

Revise makefun

Revise makefun, cleanup orbitals and make tests for them.

GPU compilation

There are still problems with GPU compilation. But I am afraid there is no nice way to fix it. Som part of the restructuring has to be changed. The problem is with drop of libturbo-*. In general it is a good thing it makes other executables smaller since now we do not link everything with everything. But testad will might need to have it all. A draft PR would be nice so we can discuss the possibilities also with example.

Testing GPU branch

I guess it is not possible to test GPU version on GitHub link. I think we need to look elsewhere.

TurboRVB --version option

For sake of benchmarking it would be nice if turbo could say something about it self by invoking ‘./turborvb-serial.x --version‘. The information provided could be commit hash, version, MPI support, OpenMP support, GPU support, Compile time flags, etc.

For future development

  • Add comments in the codes with the ford format (Clarify meanings of variables.)
  • Use only.
  • Use Intent(in), Intent(out), Intent(inout)
  • Improve the outputs
  • Integrate all subroutines and functions into modules.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.