oqp_dgemm_i64 Subroutine

public subroutine oqp_dgemm_i64(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

Arguments

Type IntentOptional Attributes Name
character(len=1) :: transa
character(len=1) :: transb
integer :: m
integer :: n
integer :: k
double precision :: alpha
double precision :: a(lda,*)
integer :: lda
double precision :: b(ldb,*)
integer :: ldb
double precision :: beta
double precision :: c(ldc,*)
integer :: ldc

Calls

proc~~oqp_dgemm_i64~~CallsGraph proc~oqp_dgemm_i64 oqp_dgemm_i64 dgemm dgemm proc~oqp_dgemm_i64->dgemm interface~show_message show_message proc~oqp_dgemm_i64->interface~show_message

Called by

proc~~oqp_dgemm_i64~~CalledByGraph proc~oqp_dgemm_i64 oqp_dgemm_i64 none~add_data scf_conv%add_data none~add_data->proc~oqp_dgemm_i64 proc~corresponding_orbital_projection corresponding_orbital_projection proc~corresponding_orbital_projection->proc~oqp_dgemm_i64 proc~get_ab_initio_orbital get_ab_initio_orbital proc~get_ab_initio_orbital->proc~oqp_dgemm_i64 proc~orthogonal_transform orthogonal_transform proc~get_ab_initio_orbital->proc~orthogonal_transform proc~get_spin_square get_spin_square proc~get_spin_square->proc~oqp_dgemm_i64 proc~huckel_guess huckel_guess proc~huckel_guess->proc~oqp_dgemm_i64 proc~huckel_guess->proc~corresponding_orbital_projection proc~orthogonal_transform_sym orthogonal_transform_sym proc~huckel_guess->proc~orthogonal_transform_sym proc~mntoia mntoia proc~mntoia->proc~oqp_dgemm_i64 proc~mo_to_ao mo_to_ao proc~mo_to_ao->proc~oqp_dgemm_i64 proc~mo_tran_gemm_ mo_tran_gemm_ proc~mo_tran_gemm_->proc~oqp_dgemm_i64 proc~mrsfcbc mrsfcbc proc~mrsfcbc->proc~oqp_dgemm_i64 proc~mrsfesum mrsfesum proc~mrsfesum->proc~oqp_dgemm_i64 proc~mrsfmntoia mrsfmntoia proc~mrsfmntoia->proc~oqp_dgemm_i64 proc~mrsfqrorhs mrsfqrorhs proc~mrsfqrorhs->proc~oqp_dgemm_i64 proc~mrsfsp mrsfsp proc~mrsfsp->proc~oqp_dgemm_i64 proc~oqp_resp_charges oqp_resp_charges proc~oqp_resp_charges->proc~oqp_dgemm_i64 proc~oqp_tdhf_z_vector oqp_tdhf_z_vector proc~oqp_tdhf_z_vector->proc~oqp_dgemm_i64 proc~oqp_tdhf_z_vector->proc~orthogonal_transform proc~tdhf_unrelaxed_density tdhf_unrelaxed_density proc~oqp_tdhf_z_vector->proc~tdhf_unrelaxed_density proc~tddft_fxc tddft_fxc proc~oqp_tdhf_z_vector->proc~tddft_fxc proc~tddft_gxc tddft_gxc proc~oqp_tdhf_z_vector->proc~tddft_gxc proc~orthogonal_transform->proc~oqp_dgemm_i64 proc~orthogonal_transform2 orthogonal_transform2 proc~orthogonal_transform2->proc~oqp_dgemm_i64 proc~orthogonal_transform_sym->proc~oqp_dgemm_i64 proc~rpaeig rpaeig proc~rpaeig->proc~oqp_dgemm_i64 proc~rpaexpndv rpaexpndv proc~rpaexpndv->proc~oqp_dgemm_i64 proc~rparedms rparedms proc~rparedms->proc~oqp_dgemm_i64 proc~run_population_analysis run_population_analysis proc~run_population_analysis->proc~oqp_dgemm_i64 proc~sfdmat sfdmat proc~sfdmat->proc~oqp_dgemm_i64 proc~sfdmat->proc~orthogonal_transform proc~sfresvec sfresvec proc~sfresvec->proc~oqp_dgemm_i64 proc~sfrorhs sfrorhs proc~sfrorhs->proc~oqp_dgemm_i64 proc~sfrowcal sfrowcal proc~sfrowcal->proc~oqp_dgemm_i64 proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->proc~oqp_dgemm_i64 proc~tdhf_mrsf_energy->proc~mntoia proc~tdhf_mrsf_energy->proc~mrsfcbc proc~tdhf_mrsf_energy->proc~mrsfesum proc~tdhf_mrsf_energy->proc~mrsfmntoia proc~tdhf_mrsf_energy->proc~orthogonal_transform proc~tdhf_mrsf_energy->proc~orthogonal_transform_sym proc~tdhf_mrsf_energy->proc~rpaeig proc~tdhf_mrsf_energy->proc~rparedms proc~tdhf_mrsf_energy->proc~sfresvec proc~trfrmb trfrmb proc~tdhf_mrsf_energy->proc~trfrmb proc~get_transition_dipole get_transition_dipole proc~tdhf_mrsf_energy->proc~get_transition_dipole proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->proc~oqp_dgemm_i64 proc~tdhf_sf_energy->proc~get_spin_square proc~tdhf_sf_energy->proc~mntoia proc~tdhf_sf_energy->proc~orthogonal_transform_sym proc~tdhf_sf_energy->proc~rpaeig proc~tdhf_sf_energy->proc~rparedms proc~tdhf_sf_energy->proc~sfdmat proc~tdhf_sf_energy->proc~sfresvec proc~tdhf_sf_energy->proc~trfrmb proc~tdhf_sf_energy->proc~get_transition_dipole proc~tdhf_unrelaxed_density->proc~oqp_dgemm_i64 proc~tdhf_unrelaxed_density->proc~orthogonal_transform proc~trfrmb->proc~oqp_dgemm_i64 none~compmos xc_engine_t%compMOs none~compmos->proc~mo_tran_gemm_ proc~eijden eijden proc~eijden->proc~orthogonal_transform_sym proc~form_rohf_fock form_rohf_fock proc~form_rohf_fock->proc~orthogonal_transform2 proc~form_rohf_fock->proc~orthogonal_transform_sym proc~get_td_transition_dipole get_td_transition_dipole proc~get_td_transition_dipole->proc~orthogonal_transform proc~get_transition_dipole->proc~orthogonal_transform proc~guess_hcore guess_hcore proc~guess_hcore->proc~get_ab_initio_orbital proc~guess_huckel guess_huckel proc~guess_huckel->proc~huckel_guess proc~lowdin lowdin proc~lowdin->proc~run_population_analysis proc~mulliken mulliken proc~mulliken->proc~run_population_analysis proc~resp_charges_c resp_charges_C proc~resp_charges_c->proc~oqp_resp_charges proc~scf_driver scf_driver proc~scf_driver->none~add_data proc~scf_driver->proc~get_ab_initio_orbital proc~scf_driver->proc~mo_to_ao proc~scf_driver->proc~form_rohf_fock proc~dftexcor dftexcor proc~scf_driver->proc~dftexcor proc~tdhf_energy tdhf_energy proc~tdhf_energy->proc~mntoia proc~tdhf_energy->proc~orthogonal_transform proc~tdhf_energy->proc~rpaeig proc~tdhf_energy->proc~rpaexpndv proc~tdhf_energy->proc~rparedms proc~tdhf_energy->proc~get_td_transition_dipole proc~tdhf_energy->proc~tddft_fxc proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->proc~orthogonal_transform proc~tdhf_1e_grad tdhf_1e_grad proc~tdhf_gradient->proc~tdhf_1e_grad proc~tddft_xc_gradient tddft_xc_gradient proc~tdhf_gradient->proc~tddft_xc_gradient proc~tdhf_mrsf_energy_c tdhf_mrsf_energy_C proc~tdhf_mrsf_energy_c->proc~tdhf_mrsf_energy proc~tdhf_sf_energy_c tdhf_sf_energy_C proc~tdhf_sf_energy_c->proc~tdhf_sf_energy proc~tdhf_z_vector_c tdhf_z_vector_C proc~tdhf_z_vector_c->proc~oqp_tdhf_z_vector none~compxc xc_engine_t%compXC none~compxc->none~compmos proc~guess_hcore_c guess_hcore_C proc~guess_hcore_c->proc~guess_hcore proc~guess_huckel_c guess_huckel_C proc~guess_huckel_c->proc~guess_huckel proc~hf_energy hf_energy proc~hf_energy->proc~scf_driver proc~hf_gradient hf_gradient proc~hf_gradient->proc~eijden proc~dftder dftder proc~hf_gradient->proc~dftder proc~tdhf_1e_grad->proc~eijden proc~tdhf_energy_c tdhf_energy_C proc~tdhf_energy_c->proc~tdhf_energy proc~tdhf_gradient_c tdhf_gradient_C proc~tdhf_gradient_c->proc~tdhf_gradient proc~run_xc run_xc proc~run_xc->none~compxc proc~derexc_blk derexc_blk proc~derexc_blk->proc~run_xc proc~dmatd_blk dmatd_blk proc~dmatd_blk->proc~run_xc proc~tddft_fxc->proc~run_xc proc~tddft_gxc->proc~run_xc proc~tddft_xc_gradient->proc~run_xc proc~utddft_fxc utddft_fxc proc~utddft_fxc->proc~run_xc proc~utddft_xc_gradient utddft_xc_gradient proc~utddft_xc_gradient->proc~run_xc proc~dftder->proc~derexc_blk proc~dftexcor->proc~dmatd_blk

Source Code

  subroutine oqp_dgemm_i64(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
    double precision :: alpha
    double precision :: beta
    integer :: k
    integer :: lda
    integer :: ldb
    integer :: ldc
    integer :: m
    integer :: n
    character :: transa
    character :: transb
    double precision :: a(lda,*)
    double precision :: b(ldb,*)
    double precision :: c(ldc,*)

    integer(blas_int) :: m_, n_, k_, lda_, ldb_, ldc_
    logical :: ok

    if (ARG_CHECK) then
      ok = .true.
      ok = ok .and. abs(m   ) <= HUGE_BLAS_INT-1
      ok = ok .and. abs(n   ) <= HUGE_BLAS_INT-1
      ok = ok .and. abs(k   ) <= HUGE_BLAS_INT-1
      ok = ok .and. abs(lda ) <= HUGE_BLAS_INT-1
      ok = ok .and. abs(ldb ) <= HUGE_BLAS_INT-1
      ok = ok .and. abs(ldc ) <= HUGE_BLAS_INT-1
      if (.not.ok) call show_message(ERRMSG, WITH_ABORT)
    end if

    m_   = int(m   , blas_int)
    n_   = int(n   , blas_int)
    k_   = int(k   , blas_int)
    lda_ = int(lda , blas_int)
    ldb_ = int(ldb , blas_int)
    ldc_ = int(ldc , blas_int)

    call dgemm(transa, transb, m_, n_, k_, alpha, a, lda_, b, ldb_, beta, c, ldc_)

  end subroutine oqp_dgemm_i64