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

Test: install ccache to reduce compilation time of GPU version ABACUS on testing machine #324

Closed
wants to merge 91 commits into from

Conversation

dzzz2001
Copy link
Contributor

@dzzz2001 dzzz2001 commented Jun 6, 2024

What's changed?

  • add ccache installation step to cuda.yml

wenfei-li and others added 30 commits April 28, 2024 10:39
* Feature : add interfaces for calculating equivariant pdm

* add priting of equiv descriptors

* modify calculation of new pdm

* modify calculation of new pdm (multi-k)

---------

Co-authored-by: wenfei-li <[email protected]>
* Feature : reading and writing of h(r) and dm(r) in npz format

* fix bug

* udpate makefile

* fix makefile and cmake

---------

Co-authored-by: wenfei-li <[email protected]>
…th the XC matrix (#4013)

* write local-XC and EXX part of band(orbital) energy with XC matrix

* meet @mohanchen's requirements

* xc orbital energy: change to LibRPA format
* CI: update runner config

New runners with ARM arch is added into deepmodeling organization. We need to manually set the tests runs on x64 arch.

* let image builds on github-hosted runner

* Revert #4065
* CI: build images with tags on self-hosted runner

Remove the outdated runner config. Now the abacus-* series images are built with a tag on release.

Use self-hosted runner to build them to avoid AVX512 availability problem.

* update outdated action

* add comments
… (#4087)

* Add a warning quit when param do not match in reading wfc nao

* Do nearly nothing, just to restart integration test

* Added Doxygen-style comments to the CTOT2q function and made some other relevant changes

* Added const qualifiers where applicable and initialized variables at declaration

---------

Co-authored-by: Mohan Chen <[email protected]>
* redesign eval to enable potential vectorization

* fix interface

* refactored version init commit

* clean up

* clean up

* fix & a few tests

* theoretical error bound test

* clean up

* better unit test for cross-check

* systematic cross-check

* minor change

* clean up

* clean up

* minor internal change

* add explanation

---------

Co-authored-by: Mohan Chen <[email protected]>
* modify CUDA test

* Update .github/workflows/cuda.yml

Co-authored-by: Chun Cai <[email protected]>

* change the way of specifying GPU test cases

* add .txt suffix to CASES file

* Update tests/integrate/Autotest.sh

* Update .github/workflows/cuda.yml

---------

Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
…d (#4052)

* solve the coverage problem of E value in dav_subspace method

* add DIAGO_FULL_ACC for abacus input

* update dav_subspace E_coverage code

* delete test result file

* fix the conditions of the `is_occupied` assignment

* add input parameter `diago_full_acc` in input_main.md

* remove diago_full_acc from globalV

* fix build bug

* fix build bug

* fix build bug

* meet @mohanchen's requirements

---------

Co-authored-by: Mohan Chen <[email protected]>
* replace ParaV in module gint

* change PV to pv in module gint
* Docs: remove extra ```

* format document
* throw warning when kpoints is non-standard

* modified
…sistent iteration steps reach scf_nmax, even if the charge density doesn't converge. (#4147)

Co-authored-by: liuxiaohui <[email protected]>
* add CUDA code for module_gint and fix bug about cusolver

* add comments for code_gen.cpp

* add integrated test cases for CUDA gint and cusolver

* add some gint test cases

* modify cuda tests

* modify the location of the CUDA test folder

* modify some GPU test cases
* modify some STRU and INPUT files for GPU test cases to reduce testing time

* format INPUT file in GPU test cases

* format some code
* add curly brackets to if and for statements
* add const to some function arguments

* fix comments

* fix error in gint force

* remove const in gint_rho

* Update input_conv_test.cpp

modify input test about GPU

* remove time.sh in tests/integrate

* modify INPUT file in GPU test cases

* remove inappropriate changes in tests/performance.

* remove USE_CUSOLVER_LCAO flag

* enable check in non-debug enviroment

* Use abbreviations instead of unreasonable naming

* fix error in debug

* modify the doc about ks_solver

* change the default ks_solver to cusolver

* modify cuda.md

---------

Co-authored-by: A-006 <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
* Fix wrong Sk ouput in rt-TDDFT

* Did nothing, just formatting with clang-format

* Add const qualifiers to parameters in hamilt2density to prevent modifications
* Feature: uspp in upf100 format

* Test: add unittests for uspp upf100

* Refactor: update variable initialization

---------

Co-authored-by: Mohan Chen <[email protected]>
ESROAMER and others added 29 commits May 25, 2024 12:02
* outHR

* update HR output

* update

* fix out_mat_R

* remove GlobalC and GlobalV int td operators

* input and output of vector potential

* update

* Delete abacus_cmake.sh

* Update input-main.md

* Update H_TDDFT_pw.h

* Update LCAO_matrix.cpp

* Update td_velocity.h

* Update Makefile.Objects

* Update for_testing_input_conv.h

* Update td_velocity.cpp

* Update td_velocity.cpp

* Update td_velocity.cpp

* Update td_velocity.cpp

* Update td_velocity.cpp

* clang-format new file

* some update

* Update td_velocity.h

* update

---------

Co-authored-by: Mohan Chen <[email protected]>
* unittests did not modified yet

* disable the unittest PrintEtotWarning

* unify the notation of unit in timer and scf stdout

* correct unittest according to change on codes

---------

Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
* split code_gen.cpp to reduce compilation time

* alter the file location of code_gen_*.cu

* fix an error in CMakeList
* initialize some variables

* fix a semicolon

* Update sincos.cpp

* Update mathzone_add1.cpp

* Update mathzone_add1.cpp

* Update opt_DCsrch.cpp

* Update broyden_mixing.cpp

* Update pulay_mixing.cpp

* Update math_sphbes_test.cpp

* Update ORB_gen_tables.cpp

* Update ORB_table_phi.cpp

* Update math_sphbes_test.cpp

* Change some pointers to vectors

* Update formatter_contextfmt_test.cpp

* Change pointers to vectors

* Rollback

* Replace some pointers with vectors

* Change some pointers to vectors

* Remove unused function `Gint_Gamma::vl_grid_to_2D` and related variables

* Remove `gint_gamma.cpp`

* Modify base matrix
… file and fix memory leak in force calculation (#4200)

* replace ParaV in module gint

* change PV to pv in module gint

* change GlobalC in module gint

* fix LCAO_Orbitals in module gint

* fix error in compile without abacus

* fix error in init_gpu_gint_variables

* remove GlobalC in grid_technique and grid_bigcell

* remove GlobalC in gint_tools and vbatch matrix

* fix relax have compute stress and change GPU force compute to acclerate

* fix num stream in input.md and use num_stream in input

* fix error in compute force

* fix memory error in force compute

* use std instead of double * and add const

* fix error in vector use

* fix error in compile

* fix error in compile with force

* fix compile error

* fix paramter name and function name

* add time ticker and fix nspin transport

* delete printf in files

* fix test bug and fix grid_size

* init nstreams

---------

Co-authored-by: Mohan Chen <[email protected]>
* Reorganize the dependencies of diago_david and diago_dav_subspace

* refactor DiagoDavid func

* fix dav comm bug

* reactor DiagoDavid func

* update diago_david

* update david

* fix david test

* update scf/pw_Si2 case

* add diag_comm_info struct

* fix cuda build bug

* fix test bug

* fix cuda build bug

* meet @mohanchen's requirements

* fix cuda build bug

* update DiagoDavid

* update DiagoDavid func

* update diag_comm_info struct

---------

Co-authored-by: Mohan Chen <[email protected]>
* optimize single-process performence of cusolver

* standardize the variable initialization.

* replace pointers with vector and shared_pointer

* add curly braces

---------

Co-authored-by: Mohan Chen <[email protected]>
* clean up

* change to new interface

* fix missing header

* add missing header

* add missing header

* follow advice from review

* update BLACS test

* compromise to pyabacus compilation
* replace ParaV in module gint

* change PV to pv in module gint

* change GlobalC in module gint

* fix LCAO_Orbitals in module gint

* fix error in compile without abacus

* fix error in init_gpu_gint_variables

* remove GlobalC in grid_technique and grid_bigcell

* remove GlobalC in gint_tools and vbatch matrix

* fix relax have compute stress and change GPU force compute to acclerate

* fix num stream in input.md and use num_stream in input

* fix error in compute force

* fix memory error in force compute

* use std instead of double * and add const

* fix error in vector use

* fix error in compile

* fix error in compile with force

* fix compile error

* fix paramter name and function name

* add time ticker and fix nspin transport

* delete printf in files

* fix test bug and fix grid_size

* init nstreams

* move cpp function from cu file to cpp file

---------

Co-authored-by: Mohan Chen <[email protected]>
…(#4265)

* fix 4250 issue

* add integrate test for all diag method

* update cg & dav gpu test
* 123wxr

* wxr_code_sh

* new_wxr

* wxrwxr

* nks_public_to_private_wxr

* set_get_nks_wxr

* new_test_wxr

* test_wxr

* wxr

* nnn

* qqq

* zy

* wxr

* add note

* annotation

* complie

* delete_sh

* refine_klist

* fix_cmake_error

* test

* fix

---------

Co-authored-by: ChaoxiWXR <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
* doxygen documentation deployment

* prepare for PR

* change project number to develop

* allow cancel-in-progress

* test cancel

* test cancel

* disable cancel-in-progress

* test

* test

* enable cancel-in-progress

* temporarily shelve all workflows

* temporarily shelve all workflows

* test

* recover one test

* test

* recover original status

---------

Co-authored-by: zuxinjin <[email protected]>
* refactor LCAO Force

* fix deepks

* rebase develop and fix nks
* fix cusolver error under multi-k situation

* add a test case
… (#4280)

* add openmp to gint_rho_gpu

* add openmp in force compute

---------

Co-authored-by: A-006 <[email protected]>
…#4273)

* begin

* add some new functions

* change some function names and add more annotations

* remove the use of paraV in most part of esolver

* correct the caplitalization of orb_con.ParaV

* remove the read-in of lowf file temporarily

* correct the use of orb_con in esolver_ks_lcao_elec

* correct for exx
* replace ParaV in module gint

* change PV to pv in module gint

* change GlobalC in module gint

* fix LCAO_Orbitals in module gint

* fix error in compile without abacus

* fix error in init_gpu_gint_variables

* remove GlobalC in grid_technique and grid_bigcell

* remove GlobalC in gint_tools and vbatch matrix

* fix relax have compute stress and change GPU force compute to acclerate

* fix num stream in input.md and use num_stream in input

* fix error in compute force

* fix memory error in force compute

* use std instead of double * and add const

* fix error in vector use

* fix error in compile

* fix error in compile with force

* fix compile error

* fix paramter name and function name

* add time ticker and fix nspin transport

* delete printf in files

* fix test bug and fix grid_size

* init nstreams

* move cpp function from cu file to cpp file

* Split the tasks of the GPU task function

* fix compile error in gtask

* spilt gpu task in three cpp function

* use atomicAdd in force

* fix bug in compute force

* Modify the non-standard parts in the force code

* fix clear and time ticker

---------

Co-authored-by: Mohan Chen <[email protected]>
* 123wxr

* wxr_code_sh

* new_wxr

* wxrwxr

* nks_public_to_private_wxr

* set_get_nks_wxr

* new_test_wxr

* test_wxr

* wxr

* nnn

* qqq

* zy

* wxr

* add note

* annotation

* complie

* delete_sh

* refine_klist

* fix_cmake_error

* test

* fix

* remove_nproc_pool

* remove

* wwww

* aada

* change

* remove_nproc

* remove_start

* refine_ibz

* kpar

* vector

* vector_new

* startpro_vector

* Global_remove

* Global

* add_get_startpro

* to_private

* to_private

* startpro_pool_to_private

* add_annotation

---------

Co-authored-by: ChaoxiWXR <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
* make file rename operation MPI-safe

* change the position of annotation
@dzzz2001 dzzz2001 closed this Jun 6, 2024
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.