use peigs only when USE_PEIGS is on

This commit is contained in:
edoapra 2025-04-23 14:45:58 -07:00
parent e0b6685260
commit 7ff904edc3
No known key found for this signature in database
GPG key ID: 48E12DA1EDE9E1B0
14 changed files with 46 additions and 34 deletions

View file

@ -182,7 +182,6 @@ c
if (.not. ma_push_get(MT_DBL,nbf,'psquared',p2m_a,p2Im_a))
$ call errquit('int_1edk_ga: ma_push_get failed psquared',0,
& MA_ERR)
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
c pdsygv is unstable since it uses the inaccurate pdsyevx
cold call ga_pdsygv(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
@ -202,9 +201,8 @@ c diag f_prime c_prime
c c=inv(chol)_t*c_prime
call ga_dgemm('n','n',nbf,nbf,nbf,1.0d0,tempg_a,tmpg_a,
Z 0.0d0,ug_a)
#else
#elif defined(PEIGS)
call ga_diag(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
#endif
#else
call ga_diag_seq(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
#endif

View file

@ -168,7 +168,6 @@ c
if (.not. ma_push_get(MT_DBL,nbf,'psquared',p2m_a,p2Im_a))
$ call errquit('int_1edk_ga: ma_push_get failed psquared',0,
& MA_ERR)
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
c pdsygv is unstable since it uses the inaccurate pdsyevx
cold call ga_pdsygv(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
@ -191,9 +190,8 @@ c diag f_prime c_prime
c c=inv(chol)_t*c_prime
call ga_dgemm('n','n',nbf,nbf,nbf,1.0d0,tempg_a,tmpg_a,
Z 0.0d0,ug_a)
#else
#elif defined(PEIGS)
call ga_diag(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
#endif
#else
call ga_diag_seq(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
#endif

View file

@ -203,12 +203,10 @@ c
if ( util_print('evp_input', print_never) ) then
call scf_dump_evp_input(rtdb,g_fock,g_over)
endif
#if defined(PARALLEL_DIAG)
#ifdef SCALAPACK
call ga_pdsygv(g_fock,g_over, g_tmp, dbl_mb(k_eval))
#else
#elif defined(PEIGS)
call ga_diag( g_fock, g_over, g_tmp, dbl_mb(k_eval))
#endif
#else
call ga_diag_seq( g_fock, g_over, g_tmp, dbl_mb(k_eval))
#endif

View file

@ -371,12 +371,10 @@ c
call ga_dgemm('t','n',nscat,nscat,nbf_all,
& 1.0d0, g_tran, g_tmp, 1.0d0, g_scat)
c
#if defined(PARALLEL_DIAG)
#ifdef SCALAPACK
call ga_pdsygv(g_scat, g_over, g_tmpscat, dbl_mb(k_evals+nbf))
#else
#elif defined(PEIGS)
call ga_diag(g_scat, g_over, g_tmpscat, dbl_mb(k_evals+nbf))
#endif
#else
call ga_diag_seq(g_scat, g_over, g_tmpscat, dbl_mb(k_evals+nbf))
#endif

View file

@ -94,12 +94,10 @@ C
!
! Perform the Eigendecomposition of the Casida matrix
!
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
call dft_scaleig(g_rpa,g_rpa,omega,0)
#else
#elif defined(PEIGS)
call ga_diag_std(g_rpa,g_rpa,omega)
#endif
#else
call ga_diag_std_seq(g_rpa,g_rpa,omega)
#endif
@ -247,12 +245,10 @@ c ECRPA pending
c pars%ecrpa =
c Diagonalize RPA matrix
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
call dft_scaleig(g_rpa,g_rpa,omega,0)
#else
#elif defined(PEIGS)
call ga_diag_std(g_rpa,g_rpa,omega)
#endif
#else
call ga_diag_std_seq(g_rpa,g_rpa,omega)
#endif

View file

@ -335,7 +335,7 @@ c
c
pars%fdstep = 0.0005d0
#if defined(PARALLEL_DIAG) && defined(SCALAPACK)
#if defined(SCALAPACK)
call slexit
call slexit2
call slexit3

View file

@ -105,8 +105,10 @@ c
#ifdef SCALAPACK
call dft_scaleig(g_tmp, g_tmp2, DBl_MB(iev),
P 0)
#else
#elif defined(PEIGS)
call ga_diag_std(g_tmp,g_tmp2,DBl_MB(iev))
#else
call ga_diag_std_seq(g_tmp,g_tmp2,DBl_MB(iev))
#endif
!

View file

@ -1195,12 +1195,10 @@ c
call ga_copy_patch( 'n', g_gfock, 1, nclosed, 1, nclosed,
$ g_tmp, 1, nclosed, 1, nclosed )
call ga_symmetrize( g_tmp )
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
call ga_pdsyev (g_tmp, g_u, eps, 0)
#else
#elif defined(PEIGS)
call ga_diag_std( g_tmp, g_u, eps )
#endif
#else
call ga_diag_std_seq( g_tmp, g_u, eps )
#endif
@ -1224,12 +1222,10 @@ c
call ga_copy_patch( 'n', g_gfock, aoff, aend, aoff, aend,
$ g_tmp, 1, nact, 1, nact )
call ga_symmetrize( g_tmp )
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
call ga_pdsyev (g_tmp, g_u, eps(aoff), 0)
#else
#elif defined(PEIGS)
call ga_diag_std( g_tmp, g_u, eps(aoff) )
#endif
#else
call ga_diag_std_seq( g_tmp, g_u, eps(aoff) )
#endif
@ -1254,12 +1250,10 @@ c
$ 2.d0, g_afock, aoff, nbf, aoff, nbf,
$ g_tmp, 1, nvir, 1, nvir )
call ga_symmetrize( g_tmp )
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
call ga_pdsyev (g_tmp, g_u, eps(aoff), 0)
#else
#elif defined(PEIGS)
call ga_diag_std( g_tmp, g_u, eps(aoff) )
#endif
#else
call ga_diag_std_seq( g_tmp, g_u, eps(aoff) )
#endif

View file

@ -99,12 +99,10 @@ c to most weakly occupied, negate the density.
c
call ga_scale(g_dens,-1.0d0)
c
#ifdef PARALLEL_DIAG
#ifdef SCALAPACK
call ga_pdsyev (g_dens, g_work, dbl_mb(k_eval+ioff), 0)
#else
#elif defined(PEIGS)
call ga_diag_std(g_dens, g_work, dbl_mb(k_eval+ioff))
#endif
#else
call ga_diag_std_seq(g_dens, g_work, dbl_mb(k_eval+ioff))
#endif

View file

@ -570,7 +570,14 @@ c
dbl_mb(k_h+j-1) = 0.0d0
enddo
#ifdef SCALAPACK
call dft_scaleig(g_h,g_hvec,dbl_mb(k_h),
P mdeg)
#elif defined(PEIGS)
call ga_diag_std(g_h,g_hvec,dbl_mb(k_h))
#else
call ga_diag_std_seq(g_h,g_hvec,dbl_mb(k_h))
#endif
cccc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CJB Analyse

View file

@ -575,7 +575,14 @@ c
dbl_mb(k_h+j-1) = 0.0d0
enddo
#ifdef SCALAPACK
call dft_scaleig(g_h,g_hvec,dbl_mb(k_h),
P mdeg)
#elif defined(PEIGS)
call ga_diag_std(g_h,g_hvec,dbl_mb(k_h))
#else
call ga_diag_std_seq(g_h,g_hvec,dbl_mb(k_h))
#endif
cccc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CJB Analyse

View file

@ -68,7 +68,14 @@ C
call ga_zero (g_fockre_mo)
call ga_zero (g_fockim_mo)
call convert_z2d (g_zfock_mo, g_fockre_mo, g_fockim_mo)
call ga_diag_std (g_fockre_mo, g_movecs_gs, dbl_mb(ievals))
#ifdef SCALAPACK
call dft_scaleig(g_fockre_mo, g_movecs_gs, dbl_mb(ievals),
P params%ns_mo)
#elif defined(PEIGS)
call ga_diag_std(g_fockre_mo, g_movecs_gs, dbl_mb(ievals))
#else
call ga_diag_std_seq(g_fockre_mo, g_movecs_gs, dbl_mb(ievals))
#endif
C XXX

View file

@ -1,6 +1,9 @@
#$Id$
OBJ= ga_chol.o ga_inverse.o ga_chol_seq.o ga_inv_seq.o dft_invio.o dft_print_mats.o dft_save_mats.o
OBJ= ga_chol_seq.o ga_inv_seq.o dft_invio.o dft_print_mats.o dft_save_mats.o
ifdef _USE_PEIGS
OBJ+= ga_chol.o ga_inverse.o
endif
OBJ_OPTIMIZE= \

View file

@ -185,7 +185,13 @@ c > read_time,diag_time)
if (oprint)
>write(luout,*) "Into diagonalize matrix,current time=",cpu2-cpu1
#ifdef SCALAPACK
call ga_pdsyev(hmatrix,vmatrix,eigs,0)
#elif defined(PEIGS)
call ga_diag_std(hmatrix,vmatrix,eigs)
#else
call ga_diag_std_seq(hmatrix,vmatrix,eigs)
#endif
call current_second(cpu3)
!*** destroy the ga matrix hmatrix ***