测试OpenMPI示例

1 显示Openmpi1.4 目录树

$ tree -ACd | tee log.tree

.

├── bin

├── etc

├── examples

├── include

│ ├── openmpi

│ │ └── ompi

│ │ └── mpi

│ │ └── cxx

│ └── vampirtrace

├── lib

│ └── openmpi

└── share

├── man

│ ├── man1

│ ├── man3

│ └── man7

├── openmpi

│ ├── amca-param-sets

│ └── doc

└── vampirtrace

└── doc

├── opari

└── otf

 

23 directories

 

1.1 显示子目录bin

$ tree bin -AC | tee log.bin.tree

bin

├── mpiCC -> opal_wrapper

├── mpiCC-vt -> opal_wrapper

├── mpic++ -> opal_wrapper

├── mpic++-vt -> opal_wrapper

├── mpicc -> opal_wrapper

├── mpicc-vt -> opal_wrapper

├── mpicxx -> opal_wrapper

├── mpicxx-vt -> opal_wrapper

├── mpiexec -> orterun

├── mpif77 -> opal_wrapper

├── mpif77-vt -> opal_wrapper

├── mpif90 -> opal_wrapper

├── mpif90-vt -> opal_wrapper

├── mpirun -> orterun

├── ompi-clean -> orte-clean

├── ompi-iof -> orte-iof

├── ompi-ps -> orte-ps

├── ompi-server

├── ompi_info

├── opal_wrapper

├── opari

├── orte-clean

├── orte-iof

├── orte-ps

├── orted

├── orterun

├── otfaux

├── otfcompress

├── otfconfig

├── otfdecompress -> otfcompress

├── otfdump

├── otfinfo

├── otfmerge

├── vtcc

├── vtcxx

├── vtf77

├── vtf90

├── vtfilter

└── vtunify

 

0 directories, 39 files

1.2 显示子目录examples

$ tree examples -AC | tee log.examples.tree

examples

├── Makefile

├── Makefile.include

├── README

├── connectivity_c

├── connectivity_c.c

├── hello_c

├── hello_c.c

├── hello_cxx

├── hello_cxx.cc

├── hello_f77

├── hello_f77.f

├── hello_f90.f90

├── ring_c

├── ring_c.c

├── ring_cxx

├── ring_cxx.cc

├── ring_f77

├── ring_f77.f

└── ring_f90.f90

 

0 directories, 19 files

2 进入示例目录

$ cd examples

2.1 编译hello_f90 文件

$ ../bin/mpif90 -o hello_f90 hello_f90.f90

2.2 显示生成的hello_f90

$ tree

.

|-- Makefile

|-- Makefile.include

|-- README

|-- connectivity_c

|-- connectivity_c.c

|-- hello_c

|-- hello_c.c

|-- hello_cxx

|-- hello_cxx.cc

|-- hello_f77

|-- hello_f77.f

|-- hello_f90

|-- hello_f90.f90

|-- ring_c

|-- ring_c.c

|-- ring_cxx

|-- ring_cxx.cc

|-- ring_f77

|-- ring_f77.f

`-- ring_f90.f90

 

0 directories, 20 files

2.3 使用mpirun 运行hello_f90

$ ../bin/mpirun -np 5 hello_f90

Hello, world, I am 0 of 5

Hello, world, I am 1 of 5

Hello, world, I am 3 of 5

Hello, world, I am 2 of 5

Hello, world, I am 4 of 5

 

3 附源代码hello_f90.f90

! hello_f90.f90

program main

use mpi

implicit none // 取消隐士声明

integer :: ierr, rank, size

 

call MPI_INIT (ierr)

call MPI_COMM_RANK (MPI_COMM_WORLD, rank, ierr)

call MPI_COMM_SIZE (MPI_COMM_WORLD, size, ierr)

print *, "Hello, world, I am ", rank, " of ", size

call MPI_FINALIZE (ierr)

end

 

你可能感兴趣的:(open)