1 ! This file created from test/mpi/f77/coll/nonblockingf.f with f77tof90
2 ! -*- Mode: Fortran; -*-
4 ! (C) 2012 by Argonne National Laboratory.
5 ! See COPYRIGHT in top-level directory.
10 parameter (NUM_INTS=2)
12 parameter (maxSize=128)
13 integer scounts(maxSize), sdispls(maxSize)
14 integer rcounts(maxSize), rdispls(maxSize)
15 integer types(maxSize)
16 integer sbuf(maxSize), rbuf(maxSize)
17 integer comm, size, rank, req
26 call MPI_Comm_size(comm, size, ierr)
27 call MPI_Comm_rank(comm, rank, ierr)
34 scounts(ii) = NUM_INTS
35 rcounts(ii) = NUM_INTS
36 sdispls(ii) = (ii-1) * NUM_INTS
37 rdispls(ii) = (ii-1) * NUM_INTS
38 types(ii) = MPI_INTEGER
41 call MPI_Ibarrier(comm, req, ierr)
42 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
44 call MPI_Ibcast(sbuf, NUM_INTS, MPI_INTEGER, 0, comm, req, ierr)
45 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
47 call MPI_Igather(sbuf, NUM_INTS, MPI_INTEGER, &
48 & rbuf, NUM_INTS, MPI_INTEGER, &
50 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
52 call MPI_Igatherv(sbuf, NUM_INTS, MPI_INTEGER, &
53 & rbuf, rcounts, rdispls, MPI_INTEGER, &
55 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
57 call MPI_Ialltoall(sbuf, NUM_INTS, MPI_INTEGER, &
58 & rbuf, NUM_INTS, MPI_INTEGER, &
60 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
62 call MPI_Ialltoallv(sbuf, scounts, sdispls, MPI_INTEGER, &
63 & rbuf, rcounts, rdispls, MPI_INTEGER, &
65 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
67 call MPI_Ialltoallw(sbuf, scounts, sdispls, types, &
68 & rbuf, rcounts, rdispls, types, &
70 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
72 call MPI_Ireduce(sbuf, rbuf, NUM_INTS, MPI_INTEGER, &
73 & MPI_SUM, 0, comm, req, ierr)
74 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
76 call MPI_Iallreduce(sbuf, rbuf, NUM_INTS, MPI_INTEGER, &
77 & MPI_SUM, comm, req, ierr)
78 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
80 call MPI_Ireduce_scatter(sbuf, rbuf, rcounts, MPI_INTEGER, &
81 & MPI_SUM, comm, req, ierr)
82 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
84 call MPI_Ireduce_scatter_block(sbuf, rbuf, NUM_INTS, MPI_INTEGER, &
85 & MPI_SUM, comm, req, ierr)
86 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
88 call MPI_Iscan(sbuf, rbuf, NUM_INTS, MPI_INTEGER, &
89 & MPI_SUM, comm, req, ierr)
90 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
92 call MPI_Iexscan(sbuf, rbuf, NUM_INTS, MPI_INTEGER, &
93 & MPI_SUM, comm, req, ierr)
94 call MPI_Wait(req, MPI_STATUS_IGNORE, ierr)
96 call mtest_finalize( errs )
97 call MPI_Finalize( ierr )