mirror of
https://github.com/LCPQ/quantum_package
synced 2024-11-03 20:54:00 +01:00
mpif.h
This commit is contained in:
parent
4243595a17
commit
fc5f0b9745
@ -1,18 +1,18 @@
|
|||||||
BEGIN_PROVIDER [ integer, mpi_bit_kind ]
|
BEGIN_PROVIDER [ integer, mpi_bit_kind ]
|
||||||
use bitmasks
|
use bitmasks
|
||||||
include 'mpif.h'
|
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! MPI bit kind type
|
! MPI bit kind type
|
||||||
END_DOC
|
END_DOC
|
||||||
IRP_IF MPI
|
IRP_IF MPI
|
||||||
if (bit_kind == 4) then
|
include 'mpif.h'
|
||||||
mpi_bit_kind = MPI_INTEGER4
|
if (bit_kind == 4) then
|
||||||
else if (bit_kind == 8) then
|
mpi_bit_kind = MPI_INTEGER4
|
||||||
mpi_bit_kind = MPI_INTEGER8
|
else if (bit_kind == 8) then
|
||||||
else
|
mpi_bit_kind = MPI_INTEGER8
|
||||||
stop 'Wrong bit kind in mpi_bit_kind'
|
else
|
||||||
endif
|
stop 'Wrong bit kind in mpi_bit_kind'
|
||||||
|
endif
|
||||||
IRP_ELSE
|
IRP_ELSE
|
||||||
mpi_bit_kind = -1
|
mpi_bit_kind = -1
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
@ -89,20 +89,21 @@ subroutine broadcast_chunks_$double(A, LDA)
|
|||||||
integer, intent(in) :: LDA
|
integer, intent(in) :: LDA
|
||||||
$type, intent(inout) :: A(LDA)
|
$type, intent(inout) :: A(LDA)
|
||||||
use bitmasks
|
use bitmasks
|
||||||
include 'mpif.h'
|
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Broadcast with chunks of ~2GB
|
! Broadcast with chunks of ~2GB
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i, sze, ierr
|
IRP_IF MPI
|
||||||
do i=1,LDA,200000000/$8
|
include 'mpif.h'
|
||||||
sze = min(LDA-i+1, 200000000/$8)
|
integer :: i, sze, ierr
|
||||||
call MPI_BCAST (A(i), sze, MPI_$DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ierr)
|
do i=1,LDA,200000000/$8
|
||||||
if (ierr /= MPI_SUCCESS) then
|
sze = min(LDA-i+1, 200000000/$8)
|
||||||
print *, irp_here//': Unable to broadcast chuks $double ', i
|
call MPI_BCAST (A(i), sze, MPI_$DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ierr)
|
||||||
stop -1
|
if (ierr /= MPI_SUCCESS) then
|
||||||
endif
|
print *, irp_here//': Unable to broadcast chuks $double ', i
|
||||||
enddo
|
stop -1
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
IRP_ENDIF
|
||||||
end
|
end
|
||||||
|
|
||||||
SUBST [ double, type, 8, DOUBLE_PRECISION ]
|
SUBST [ double, type, 8, DOUBLE_PRECISION ]
|
||||||
|
Loading…
Reference in New Issue
Block a user