From 28335d43a1e64d3a412e8d6b86e59a389852b0d1 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 5 Mar 2022 15:05:39 +0100 Subject: [PATCH] Remove the ISP test suite (not free, superseeded by MBI) --- .gitignore | 149 --- COPYING | 44 - ChangeLog | 1 + MANIFEST.in | 150 --- sonar-project.properties | 6 +- teshsuite/smpi/isp/umpire/CMakeLists.txt | 250 ---- teshsuite/smpi/isp/umpire/README | 1 - teshsuite/smpi/isp/umpire/abort.c | 42 - teshsuite/smpi/isp/umpire/abort1.c | 43 - teshsuite/smpi/isp/umpire/abort2.c | 43 - teshsuite/smpi/isp/umpire/abort3.c | 44 - .../smpi/isp/umpire/any_src-can-deadlock.c | 68 -- .../smpi/isp/umpire/any_src-can-deadlock10.c | 82 -- .../isp/umpire/any_src-can-deadlock10_mod.c | 82 -- .../smpi/isp/umpire/any_src-can-deadlock11.c | 82 -- .../smpi/isp/umpire/any_src-can-deadlock2.c | 70 -- .../smpi/isp/umpire/any_src-can-deadlock3.c | 70 -- .../smpi/isp/umpire/any_src-can-deadlock4.c | 75 -- .../isp/umpire/any_src-can-deadlock4_mod.c | 75 -- .../smpi/isp/umpire/any_src-can-deadlock5.c | 81 -- .../isp/umpire/any_src-can-deadlock5_mod.c | 81 -- .../smpi/isp/umpire/any_src-can-deadlock6.c | 81 -- .../isp/umpire/any_src-can-deadlock6_mod.c | 81 -- .../smpi/isp/umpire/any_src-can-deadlock7.c | 77 -- .../smpi/isp/umpire/any_src-can-deadlock8.c | 82 -- .../smpi/isp/umpire/any_src-can-deadlock9.c | 82 -- teshsuite/smpi/isp/umpire/any_src-deadlock.c | 58 - .../smpi/isp/umpire/any_src-wait-deadlock.c | 65 - .../smpi/isp/umpire/any_src-wait-deadlock2.c | 77 -- .../isp/umpire/any_src-waitall-deadlock.c | 75 -- .../isp/umpire/any_src-waitall-deadlock2.c | 67 -- .../isp/umpire/any_src-waitall-deadlock3.c | 75 -- .../isp/umpire/any_src-waitany-deadlock.c | 66 -- .../isp/umpire/any_src-waitany-deadlock2.c | 80 -- .../isp/umpire/basic-deadlock-cart_create.c | 86 -- .../smpi/isp/umpire/basic-deadlock-cart_sub.c | 99 -- .../isp/umpire/basic-deadlock-comm_create.c | 91 -- .../smpi/isp/umpire/basic-deadlock-comm_dup.c | 62 - .../isp/umpire/basic-deadlock-comm_split.c | 77 -- .../isp/umpire/basic-deadlock-graph_create.c | 83 -- .../umpire/basic-deadlock-intercomm_create.c | 93 -- .../umpire/basic-deadlock-intercomm_merge.c | 103 -- teshsuite/smpi/isp/umpire/basic-deadlock.c | 58 - teshsuite/smpi/isp/umpire/bcast-deadlock.c | 43 - .../umpire/change-send-buffer-exhaustive.c | 284 ----- .../change-send-buffer-type-exhaustive.c | 747 ------------ .../smpi/isp/umpire/change-send-buffer.c | 109 -- .../collective-exhaustive-byte-int-mismatch.c | 801 ------------- .../umpire/collective-exhaustive-no-error.c | 550 --------- .../umpire/collective-misorder-allreduce.c | 57 - .../smpi/isp/umpire/collective-misorder.c | 57 - .../smpi/isp/umpire/collective-misorder2.c | 57 - .../smpi/isp/umpire/comm-bcast-deadlock.c | 65 - teshsuite/smpi/isp/umpire/comm-deadlock.c | 71 -- teshsuite/smpi/isp/umpire/comm-dup-no-error.c | 67 -- teshsuite/smpi/isp/umpire/comm-dup-no-free.c | 43 - teshsuite/smpi/isp/umpire/comm-dup-no-free2.c | 68 -- teshsuite/smpi/isp/umpire/comm-simple.c | 68 -- .../smpi/isp/umpire/comm-split-no-free.c | 45 - .../smpi/isp/umpire/comm-translate-ranks.c | 93 -- teshsuite/smpi/isp/umpire/complex-deadlock.c | 68 -- teshsuite/smpi/isp/umpire/deadlock-config.c | 49 - .../isp/umpire/deadlock-config_blocking.c | 48 - teshsuite/smpi/isp/umpire/dropped-req.c | 59 - .../smpi/isp/umpire/errhandler-no-error.c | 85 -- .../smpi/isp/umpire/errhandler-no-free.c | 69 -- teshsuite/smpi/isp/umpire/finalize-deadlock.c | 51 - .../isp/umpire/group-no-error-exhaustive.c | 165 --- teshsuite/smpi/isp/umpire/group-no-error.c | 47 - teshsuite/smpi/isp/umpire/group-no-error2.c | 59 - teshsuite/smpi/isp/umpire/group-no-error3.c | 63 - .../isp/umpire/group-no-free-exhaustive.c | 109 -- teshsuite/smpi/isp/umpire/group-no-free.c | 42 - teshsuite/smpi/isp/umpire/group-no-free2.c | 63 - teshsuite/smpi/isp/umpire/group-no-free3.c | 67 -- teshsuite/smpi/isp/umpire/hello.c | 44 - .../isp/umpire/intercomm_create-deadlock.c | 113 -- .../isp/umpire/intercomm_create-deadlock2.c | 112 -- .../isp/umpire/intercomm_create-deadlock3.c | 108 -- .../isp/umpire/intercomm_create-deadlock4.c | 116 -- .../isp/umpire/intercomm_create-no-error.c | 62 - .../isp/umpire/intercomm_merge-deadlock.c | 150 --- teshsuite/smpi/isp/umpire/irecv-deadlock.c | 51 - teshsuite/smpi/isp/umpire/irecv-isend-ok.c | 54 - teshsuite/smpi/isp/umpire/irecv-isend-ok2.c | 59 - .../smpi/isp/umpire/lost-request-waitall.c | 83 -- teshsuite/smpi/isp/umpire/lost-request.c | 87 -- teshsuite/smpi/isp/umpire/lost-request2.c | 131 --- teshsuite/smpi/isp/umpire/lost-request3.c | 90 -- teshsuite/smpi/isp/umpire/no-error-any_src.c | 54 - .../smpi/isp/umpire/no-error-derived-comms.c | 327 ------ .../isp/umpire/no-error-interleaved-isend.c | 69 -- .../no-error-persistent-all-completions.c | 170 --- .../isp/umpire/no-error-persistent-test.c | 112 -- .../umpire/no-error-persistent-testpartial.c | 116 -- .../umpire/no-error-persistent-waitpartial.c | 109 -- .../smpi/isp/umpire/no-error-persistent.c | 103 -- .../smpi/isp/umpire/no-error-probe-any_src.c | 67 -- .../smpi/isp/umpire/no-error-probe-any_tag.c | 68 -- teshsuite/smpi/isp/umpire/no-error-probe.c | 62 - teshsuite/smpi/isp/umpire/no-error-test.c | 65 - teshsuite/smpi/isp/umpire/no-error-testall.c | 74 -- teshsuite/smpi/isp/umpire/no-error-testany.c | 74 -- .../smpi/isp/umpire/no-error-vector-isend.c | 77 -- .../smpi/isp/umpire/no-error-wait-any_src.c | 64 - .../smpi/isp/umpire/no-error-wait-any_src2.c | 60 - .../smpi/isp/umpire/no-error-wait-any_src3.c | 85 -- .../smpi/isp/umpire/no-error-wait-any_src4.c | 79 -- teshsuite/smpi/isp/umpire/no-error-wait.c | 62 - teshsuite/smpi/isp/umpire/no-error-wait2.c | 68 -- .../isp/umpire/no-error-waitall-any_src.c | 81 -- .../isp/umpire/no-error-waitall-any_src2.c | 67 -- .../isp/umpire/no-error-waitall-any_src3.c | 75 -- teshsuite/smpi/isp/umpire/no-error-waitall.c | 73 -- .../isp/umpire/no-error-waitany-any_src.c | 75 -- .../isp/umpire/no-error-waitany-any_src2.c | 85 -- .../isp/umpire/no-error-waitany-any_src3.c | 80 -- teshsuite/smpi/isp/umpire/no-error-waitany.c | 71 -- teshsuite/smpi/isp/umpire/no-error-waitany2.c | 86 -- teshsuite/smpi/isp/umpire/no-error.c | 76 -- teshsuite/smpi/isp/umpire/no-error2.c | 55 - teshsuite/smpi/isp/umpire/no-error3-any_src.c | 58 - teshsuite/smpi/isp/umpire/no-error3.c | 57 - teshsuite/smpi/isp/umpire/no-error4-any_src.c | 83 -- teshsuite/smpi/isp/umpire/no-error4.c | 83 -- teshsuite/smpi/isp/umpire/op-no-error.c | 87 -- teshsuite/smpi/isp/umpire/op-no-free.c | 72 -- .../smpi/isp/umpire/partial-recv-exhaustive.c | 402 ------- .../smpi/isp/umpire/partial-recv-persistent.c | 106 -- .../isp/umpire/partial-recv-persistent2.c | 110 -- .../isp/umpire/partial-recv-persistent3.c | 116 -- .../isp/umpire/partial-recv-persistent4.c | 111 -- teshsuite/smpi/isp/umpire/partial-recv.c | 147 --- teshsuite/smpi/isp/umpire/persistent.c | 92 -- teshsuite/smpi/isp/umpire/persistent2.c | 91 -- teshsuite/smpi/isp/umpire/persistent3.c | 89 -- teshsuite/smpi/isp/umpire/persistent4.c | 90 -- .../umpire/probe-any_src-types-can-mismatch.c | 79 -- .../umpire/probe-any_tag-types-can-mismatch.c | 81 -- teshsuite/smpi/isp/umpire/probe-deadlock.c | 62 - .../smpi/isp/umpire/pt2pt-byte-int-mismatch.c | 405 ------- .../smpi/isp/umpire/remote_group-no-error.c | 101 -- teshsuite/smpi/isp/umpire/send-recv-ok.c | 52 - teshsuite/smpi/isp/umpire/sendrecv-deadlock.c | 73 -- teshsuite/smpi/isp/umpire/type-commit-twice.c | 54 - .../type-no-error-exhaustive-with-isends.c | 1046 ----------------- .../isp/umpire/type-no-error-exhaustive.c | 85 -- teshsuite/smpi/isp/umpire/type-no-error.c | 49 - .../smpi/isp/umpire/type-no-free-exhaustive.c | 64 - teshsuite/smpi/isp/umpire/type-no-free.c | 44 - teshsuite/smpi/isp/umpire/type-no-free2.c | 72 -- teshsuite/smpi/isp/umpire/type-no-free3.c | 101 -- teshsuite/smpi/isp/umpire/wait-deadlock.c | 62 - teshsuite/smpi/isp/umpire/waitall-deadlock.c | 73 -- teshsuite/smpi/isp/umpire/waitany-deadlock.c | 72 -- tools/cmake/DefinePackages.cmake | 1 - tools/jenkins/Coverage.sh | 4 +- 157 files changed, 6 insertions(+), 15943 deletions(-) delete mode 100644 teshsuite/smpi/isp/umpire/CMakeLists.txt delete mode 100644 teshsuite/smpi/isp/umpire/README delete mode 100644 teshsuite/smpi/isp/umpire/abort.c delete mode 100644 teshsuite/smpi/isp/umpire/abort1.c delete mode 100644 teshsuite/smpi/isp/umpire/abort2.c delete mode 100644 teshsuite/smpi/isp/umpire/abort3.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock10.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock10_mod.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock11.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock2.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock3.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock4.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock4_mod.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock5.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock5_mod.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock6.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock6_mod.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock7.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock8.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-can-deadlock9.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-wait-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-wait-deadlock2.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-waitall-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-waitany-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-cart_create.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-cart_sub.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-comm_create.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-comm_split.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-graph_create.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_create.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_merge.c delete mode 100644 teshsuite/smpi/isp/umpire/basic-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/bcast-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/change-send-buffer-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/change-send-buffer-type-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/change-send-buffer.c delete mode 100644 teshsuite/smpi/isp/umpire/collective-exhaustive-byte-int-mismatch.c delete mode 100644 teshsuite/smpi/isp/umpire/collective-exhaustive-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/collective-misorder-allreduce.c delete mode 100644 teshsuite/smpi/isp/umpire/collective-misorder.c delete mode 100644 teshsuite/smpi/isp/umpire/collective-misorder2.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-bcast-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-dup-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-dup-no-free.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-dup-no-free2.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-simple.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-split-no-free.c delete mode 100644 teshsuite/smpi/isp/umpire/comm-translate-ranks.c delete mode 100644 teshsuite/smpi/isp/umpire/complex-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/deadlock-config.c delete mode 100644 teshsuite/smpi/isp/umpire/deadlock-config_blocking.c delete mode 100644 teshsuite/smpi/isp/umpire/dropped-req.c delete mode 100644 teshsuite/smpi/isp/umpire/errhandler-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/errhandler-no-free.c delete mode 100644 teshsuite/smpi/isp/umpire/finalize-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-error-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-error2.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-error3.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-free-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-free.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-free2.c delete mode 100644 teshsuite/smpi/isp/umpire/group-no-free3.c delete mode 100644 teshsuite/smpi/isp/umpire/hello.c delete mode 100644 teshsuite/smpi/isp/umpire/intercomm_create-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/intercomm_create-deadlock2.c delete mode 100644 teshsuite/smpi/isp/umpire/intercomm_create-deadlock3.c delete mode 100644 teshsuite/smpi/isp/umpire/intercomm_create-deadlock4.c delete mode 100644 teshsuite/smpi/isp/umpire/intercomm_create-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/intercomm_merge-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/irecv-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/irecv-isend-ok.c delete mode 100644 teshsuite/smpi/isp/umpire/irecv-isend-ok2.c delete mode 100644 teshsuite/smpi/isp/umpire/lost-request-waitall.c delete mode 100644 teshsuite/smpi/isp/umpire/lost-request.c delete mode 100644 teshsuite/smpi/isp/umpire/lost-request2.c delete mode 100644 teshsuite/smpi/isp/umpire/lost-request3.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-derived-comms.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-interleaved-isend.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-persistent-all-completions.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-persistent-test.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-persistent-testpartial.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-persistent-waitpartial.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-persistent.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-probe-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-probe-any_tag.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-probe.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-test.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-testall.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-testany.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-vector-isend.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-wait-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-wait-any_src2.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-wait-any_src3.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-wait-any_src4.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-wait.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-wait2.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitall-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitall-any_src2.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitall-any_src3.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitall.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitany-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitany-any_src2.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitany-any_src3.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitany.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error-waitany2.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error2.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error3-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error3.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error4-any_src.c delete mode 100644 teshsuite/smpi/isp/umpire/no-error4.c delete mode 100644 teshsuite/smpi/isp/umpire/op-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/op-no-free.c delete mode 100644 teshsuite/smpi/isp/umpire/partial-recv-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/partial-recv-persistent.c delete mode 100644 teshsuite/smpi/isp/umpire/partial-recv-persistent2.c delete mode 100644 teshsuite/smpi/isp/umpire/partial-recv-persistent3.c delete mode 100644 teshsuite/smpi/isp/umpire/partial-recv-persistent4.c delete mode 100644 teshsuite/smpi/isp/umpire/partial-recv.c delete mode 100644 teshsuite/smpi/isp/umpire/persistent.c delete mode 100644 teshsuite/smpi/isp/umpire/persistent2.c delete mode 100644 teshsuite/smpi/isp/umpire/persistent3.c delete mode 100644 teshsuite/smpi/isp/umpire/persistent4.c delete mode 100644 teshsuite/smpi/isp/umpire/probe-any_src-types-can-mismatch.c delete mode 100644 teshsuite/smpi/isp/umpire/probe-any_tag-types-can-mismatch.c delete mode 100644 teshsuite/smpi/isp/umpire/probe-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/pt2pt-byte-int-mismatch.c delete mode 100644 teshsuite/smpi/isp/umpire/remote_group-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/send-recv-ok.c delete mode 100644 teshsuite/smpi/isp/umpire/sendrecv-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/type-commit-twice.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-error-exhaustive-with-isends.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-error-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-error.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-free-exhaustive.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-free.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-free2.c delete mode 100644 teshsuite/smpi/isp/umpire/type-no-free3.c delete mode 100644 teshsuite/smpi/isp/umpire/wait-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/waitall-deadlock.c delete mode 100644 teshsuite/smpi/isp/umpire/waitany-deadlock.c diff --git a/.gitignore b/.gitignore index 5a680b9522..a7c3963e1d 100644 --- a/.gitignore +++ b/.gitignore @@ -346,155 +346,6 @@ teshsuite/smpi/io-ordered/io-ordered teshsuite/smpi/io-shared/io-shared teshsuite/smpi/io-simple-at/io-simple-at teshsuite/smpi/io-simple/io-simple -teshsuite/smpi/isp/umpire/**/*.tesh -teshsuite/smpi/isp/umpire/abort -teshsuite/smpi/isp/umpire/abort1 -teshsuite/smpi/isp/umpire/abort2 -teshsuite/smpi/isp/umpire/abort3 -teshsuite/smpi/isp/umpire/any_src-can-deadlock -teshsuite/smpi/isp/umpire/any_src-can-deadlock10 -teshsuite/smpi/isp/umpire/any_src-can-deadlock10_mod -teshsuite/smpi/isp/umpire/any_src-can-deadlock11 -teshsuite/smpi/isp/umpire/any_src-can-deadlock2 -teshsuite/smpi/isp/umpire/any_src-can-deadlock3 -teshsuite/smpi/isp/umpire/any_src-can-deadlock4 -teshsuite/smpi/isp/umpire/any_src-can-deadlock4_mod -teshsuite/smpi/isp/umpire/any_src-can-deadlock5 -teshsuite/smpi/isp/umpire/any_src-can-deadlock5_mod -teshsuite/smpi/isp/umpire/any_src-can-deadlock6 -teshsuite/smpi/isp/umpire/any_src-can-deadlock6_mod -teshsuite/smpi/isp/umpire/any_src-can-deadlock7 -teshsuite/smpi/isp/umpire/any_src-can-deadlock8 -teshsuite/smpi/isp/umpire/any_src-can-deadlock9 -teshsuite/smpi/isp/umpire/any_src-deadlock -teshsuite/smpi/isp/umpire/any_src-waitall-deadlock -teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2 -teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3 -teshsuite/smpi/isp/umpire/any_src-waitany-deadlock -teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2 -teshsuite/smpi/isp/umpire/any_src-wait-deadlock -teshsuite/smpi/isp/umpire/any_src-wait-deadlock2 -teshsuite/smpi/isp/umpire/basic-deadlock -teshsuite/smpi/isp/umpire/basic-deadlock-cart_create -teshsuite/smpi/isp/umpire/basic-deadlock-cart_sub -teshsuite/smpi/isp/umpire/basic-deadlock-comm_create -teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup -teshsuite/smpi/isp/umpire/basic-deadlock-comm_split -teshsuite/smpi/isp/umpire/basic-deadlock-graph_create -teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_create -teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_merge -teshsuite/smpi/isp/umpire/bcast-deadlock -teshsuite/smpi/isp/umpire/change-send-buffer -teshsuite/smpi/isp/umpire/change-send-buffer-exhaustive -teshsuite/smpi/isp/umpire/change-send-buffer-type-exhaustive -teshsuite/smpi/isp/umpire/collective-exhaustive-byte-int-mismatch -teshsuite/smpi/isp/umpire/collective-exhaustive-no-error -teshsuite/smpi/isp/umpire/collective-misorder -teshsuite/smpi/isp/umpire/collective-misorder2 -teshsuite/smpi/isp/umpire/collective-misorder-allreduce -teshsuite/smpi/isp/umpire/comm-bcast-deadlock -teshsuite/smpi/isp/umpire/comm-deadlock -teshsuite/smpi/isp/umpire/comm-dup-no-error -teshsuite/smpi/isp/umpire/comm-dup-no-free -teshsuite/smpi/isp/umpire/comm-dup-no-free2 -teshsuite/smpi/isp/umpire/comm-simple -teshsuite/smpi/isp/umpire/comm-split-no-free -teshsuite/smpi/isp/umpire/comm-translate-ranks -teshsuite/smpi/isp/umpire/complex-deadlock -teshsuite/smpi/isp/umpire/deadlock-config -teshsuite/smpi/isp/umpire/deadlock-config_blocking -teshsuite/smpi/isp/umpire/dropped-req -teshsuite/smpi/isp/umpire/errhandler-no-error -teshsuite/smpi/isp/umpire/errhandler-no-free -teshsuite/smpi/isp/umpire/finalize-deadlock -teshsuite/smpi/isp/umpire/group-no-error -teshsuite/smpi/isp/umpire/group-no-error2 -teshsuite/smpi/isp/umpire/group-no-error3 -teshsuite/smpi/isp/umpire/group-no-error-exhaustive -teshsuite/smpi/isp/umpire/group-no-free -teshsuite/smpi/isp/umpire/group-no-free2 -teshsuite/smpi/isp/umpire/group-no-free3 -teshsuite/smpi/isp/umpire/group-no-free-exhaustive -teshsuite/smpi/isp/umpire/hello -teshsuite/smpi/isp/umpire/intercomm_create-deadlock -teshsuite/smpi/isp/umpire/intercomm_create-deadlock2 -teshsuite/smpi/isp/umpire/intercomm_create-deadlock3 -teshsuite/smpi/isp/umpire/intercomm_create-deadlock4 -teshsuite/smpi/isp/umpire/intercomm_create-no-error -teshsuite/smpi/isp/umpire/intercomm_merge-deadlock -teshsuite/smpi/isp/umpire/irecv-deadlock -teshsuite/smpi/isp/umpire/irecv-isend-ok -teshsuite/smpi/isp/umpire/irecv-isend-ok2 -teshsuite/smpi/isp/umpire/lost-request -teshsuite/smpi/isp/umpire/lost-request2 -teshsuite/smpi/isp/umpire/lost-request3 -teshsuite/smpi/isp/umpire/lost-request-waitall -teshsuite/smpi/isp/umpire/no-error -teshsuite/smpi/isp/umpire/no-error2 -teshsuite/smpi/isp/umpire/no-error3 -teshsuite/smpi/isp/umpire/no-error3-any_src -teshsuite/smpi/isp/umpire/no-error4 -teshsuite/smpi/isp/umpire/no-error4-any_src -teshsuite/smpi/isp/umpire/no-error-any_src -teshsuite/smpi/isp/umpire/no-error-derived-comms -teshsuite/smpi/isp/umpire/no-error-interleaved-isend -teshsuite/smpi/isp/umpire/no-error-persistent -teshsuite/smpi/isp/umpire/no-error-persistent-all-completions -teshsuite/smpi/isp/umpire/no-error-persistent-test -teshsuite/smpi/isp/umpire/no-error-persistent-testpartial -teshsuite/smpi/isp/umpire/no-error-persistent-waitpartial -teshsuite/smpi/isp/umpire/no-error-probe -teshsuite/smpi/isp/umpire/no-error-probe-any_src -teshsuite/smpi/isp/umpire/no-error-probe-any_tag -teshsuite/smpi/isp/umpire/no-error-test -teshsuite/smpi/isp/umpire/no-error-testall -teshsuite/smpi/isp/umpire/no-error-testany -teshsuite/smpi/isp/umpire/no-error-vector-isend -teshsuite/smpi/isp/umpire/no-error-wait -teshsuite/smpi/isp/umpire/no-error-waitall -teshsuite/smpi/isp/umpire/no-error-waitall-any_src -teshsuite/smpi/isp/umpire/no-error-waitall-any_src2 -teshsuite/smpi/isp/umpire/no-error-waitall-any_src3 -teshsuite/smpi/isp/umpire/no-error-waitany -teshsuite/smpi/isp/umpire/no-error-waitany2 -teshsuite/smpi/isp/umpire/no-error-waitany-any_src -teshsuite/smpi/isp/umpire/no-error-waitany-any_src2 -teshsuite/smpi/isp/umpire/no-error-waitany-any_src3 -teshsuite/smpi/isp/umpire/no-error-wait-any_src -teshsuite/smpi/isp/umpire/no-error-wait-any_src2 -teshsuite/smpi/isp/umpire/no-error-wait-any_src3 -teshsuite/smpi/isp/umpire/no-error-wait-any_src4 -teshsuite/smpi/isp/umpire/op-no-error -teshsuite/smpi/isp/umpire/op-no-free -teshsuite/smpi/isp/umpire/partial-recv -teshsuite/smpi/isp/umpire/partial-recv-exhaustive -teshsuite/smpi/isp/umpire/partial-recv-persistent -teshsuite/smpi/isp/umpire/partial-recv-persistent2 -teshsuite/smpi/isp/umpire/partial-recv-persistent3 -teshsuite/smpi/isp/umpire/partial-recv-persistent4 -teshsuite/smpi/isp/umpire/persistent -teshsuite/smpi/isp/umpire/persistent2 -teshsuite/smpi/isp/umpire/persistent3 -teshsuite/smpi/isp/umpire/persistent4 -teshsuite/smpi/isp/umpire/probe-any_src-types-can-mismatch -teshsuite/smpi/isp/umpire/probe-any_tag-types-can-mismatch -teshsuite/smpi/isp/umpire/probe-deadlock -teshsuite/smpi/isp/umpire/pt2pt-byte-int-mismatch -teshsuite/smpi/isp/umpire/remote_group-no-error -teshsuite/smpi/isp/umpire/sendrecv-deadlock -teshsuite/smpi/isp/umpire/send-recv-ok -teshsuite/smpi/isp/umpire/temp.txt -teshsuite/smpi/isp/umpire/type-commit-twice -teshsuite/smpi/isp/umpire/type-no-error -teshsuite/smpi/isp/umpire/type-no-error-exhaustive -teshsuite/smpi/isp/umpire/type-no-error-exhaustive-with-isends -teshsuite/smpi/isp/umpire/type-no-free -teshsuite/smpi/isp/umpire/type-no-free2 -teshsuite/smpi/isp/umpire/type-no-free3 -teshsuite/smpi/isp/umpire/type-no-free-exhaustive -teshsuite/smpi/isp/umpire/waitall-deadlock -teshsuite/smpi/isp/umpire/waitany-deadlock -teshsuite/smpi/isp/umpire/wait-deadlock teshsuite/smpi/macro-partial-shared-communication/macro-partial-shared-communication teshsuite/smpi/macro-partial-shared/macro-partial-shared teshsuite/smpi/macro-sample/macro-sample diff --git a/COPYING b/COPYING index 9055249dbd..c2b447e93a 100644 --- a/COPYING +++ b/COPYING @@ -213,47 +213,3 @@ License: BSL-1.0 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Files: teshsuite/smpi/isp/umpire/* -Copyright: 2000-2003, Bronis R. de Supinski -Comment: this licensing info was provided by the author per email -License: NON COMMERCIAL - NOTICE - . - This work was produced at the University of California, Lawrence - Livermore National Laboratory (UC LLNL) under contract - no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy - (DOE) and The Regents of the University of California (University) for - the operation of UC LLNL. The rights of the Federal Government are - reserved under Contract 48 subject to the restrictions agreed upon by - the DOE and University as allowed under DOE Acquisition Letter 97-1. - The only additional restriction is that redistribution of this work - without the written consent of either the Univeristy or its primary - author, Bronis R. de Supinski, is prohibited. - . - . - DISCLAIMER - . - This work was prepared as an account of work sponsored by an agency of - the United States Government. Neither the United States Government nor - the University of California nor any of their employees, makes any - warranty, express or implied, or assumes any liability or - responsibility for the accuracy, completeness, or usefulness of any - information, apparatus, product, or process disclosed, or represents - that its use would not infringe privately-owned rights. Reference - herein to any specific commercial products, process, or service by - trade name, trademark, manufacturer or otherwise does not necessarily - constitute or imply its endorsement, recommendation, or favoring by - the United States Government or the University of California. The - views and opinions of authors expressed herein do not necessarily - state or reflect those of the United States Government or the - University of California, and shall not be used for advertising or - product endorsement purposes. - . - . - . - NOTIFICATION OF COMMERCIAL USE - . - Commercialization of this product is prohibited without notifying the - Department of Energy (DOE) or Lawrence Livermore National Laboratory - (LLNL). diff --git a/ChangeLog b/ChangeLog index 25be7b7112..2684e57d2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ MC: - Support mutex, semaphore and barrier in DPOR reduction - Seems to work on Arm64 architectures too. - Display a nice error message when ptrace is not usable. + - Remove the ISP test suite: it's not free software, and it's superseeded by MBI SMPI: - fix for FG#100 by ensuring small asynchronous messages never overtake larger diff --git a/MANIFEST.in b/MANIFEST.in index ef27bfc583..db097f18a0 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -903,155 +903,6 @@ include teshsuite/smpi/io-simple-at/io-simple-at.c include teshsuite/smpi/io-simple-at/io-simple-at.tesh include teshsuite/smpi/io-simple/io-simple.c include teshsuite/smpi/io-simple/io-simple.tesh -include teshsuite/smpi/isp/umpire/README -include teshsuite/smpi/isp/umpire/abort.c -include teshsuite/smpi/isp/umpire/abort1.c -include teshsuite/smpi/isp/umpire/abort2.c -include teshsuite/smpi/isp/umpire/abort3.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock10.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock10_mod.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock11.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock2.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock3.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock4.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock4_mod.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock5.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock5_mod.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock6.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock6_mod.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock7.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock8.c -include teshsuite/smpi/isp/umpire/any_src-can-deadlock9.c -include teshsuite/smpi/isp/umpire/any_src-deadlock.c -include teshsuite/smpi/isp/umpire/any_src-wait-deadlock.c -include teshsuite/smpi/isp/umpire/any_src-wait-deadlock2.c -include teshsuite/smpi/isp/umpire/any_src-waitall-deadlock.c -include teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2.c -include teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3.c -include teshsuite/smpi/isp/umpire/any_src-waitany-deadlock.c -include teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2.c -include teshsuite/smpi/isp/umpire/basic-deadlock-cart_create.c -include teshsuite/smpi/isp/umpire/basic-deadlock-cart_sub.c -include teshsuite/smpi/isp/umpire/basic-deadlock-comm_create.c -include teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup.c -include teshsuite/smpi/isp/umpire/basic-deadlock-comm_split.c -include teshsuite/smpi/isp/umpire/basic-deadlock-graph_create.c -include teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_create.c -include teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_merge.c -include teshsuite/smpi/isp/umpire/basic-deadlock.c -include teshsuite/smpi/isp/umpire/bcast-deadlock.c -include teshsuite/smpi/isp/umpire/change-send-buffer-exhaustive.c -include teshsuite/smpi/isp/umpire/change-send-buffer-type-exhaustive.c -include teshsuite/smpi/isp/umpire/change-send-buffer.c -include teshsuite/smpi/isp/umpire/collective-exhaustive-byte-int-mismatch.c -include teshsuite/smpi/isp/umpire/collective-exhaustive-no-error.c -include teshsuite/smpi/isp/umpire/collective-misorder-allreduce.c -include teshsuite/smpi/isp/umpire/collective-misorder.c -include teshsuite/smpi/isp/umpire/collective-misorder2.c -include teshsuite/smpi/isp/umpire/comm-bcast-deadlock.c -include teshsuite/smpi/isp/umpire/comm-deadlock.c -include teshsuite/smpi/isp/umpire/comm-dup-no-error.c -include teshsuite/smpi/isp/umpire/comm-dup-no-free.c -include teshsuite/smpi/isp/umpire/comm-dup-no-free2.c -include teshsuite/smpi/isp/umpire/comm-simple.c -include teshsuite/smpi/isp/umpire/comm-split-no-free.c -include teshsuite/smpi/isp/umpire/comm-translate-ranks.c -include teshsuite/smpi/isp/umpire/complex-deadlock.c -include teshsuite/smpi/isp/umpire/deadlock-config.c -include teshsuite/smpi/isp/umpire/deadlock-config_blocking.c -include teshsuite/smpi/isp/umpire/dropped-req.c -include teshsuite/smpi/isp/umpire/errhandler-no-error.c -include teshsuite/smpi/isp/umpire/errhandler-no-free.c -include teshsuite/smpi/isp/umpire/finalize-deadlock.c -include teshsuite/smpi/isp/umpire/group-no-error-exhaustive.c -include teshsuite/smpi/isp/umpire/group-no-error.c -include teshsuite/smpi/isp/umpire/group-no-error2.c -include teshsuite/smpi/isp/umpire/group-no-error3.c -include teshsuite/smpi/isp/umpire/group-no-free-exhaustive.c -include teshsuite/smpi/isp/umpire/group-no-free.c -include teshsuite/smpi/isp/umpire/group-no-free2.c -include teshsuite/smpi/isp/umpire/group-no-free3.c -include teshsuite/smpi/isp/umpire/hello.c -include teshsuite/smpi/isp/umpire/intercomm_create-deadlock.c -include teshsuite/smpi/isp/umpire/intercomm_create-deadlock2.c -include teshsuite/smpi/isp/umpire/intercomm_create-deadlock3.c -include teshsuite/smpi/isp/umpire/intercomm_create-deadlock4.c -include teshsuite/smpi/isp/umpire/intercomm_create-no-error.c -include teshsuite/smpi/isp/umpire/intercomm_merge-deadlock.c -include teshsuite/smpi/isp/umpire/irecv-deadlock.c -include teshsuite/smpi/isp/umpire/irecv-isend-ok.c -include teshsuite/smpi/isp/umpire/irecv-isend-ok2.c -include teshsuite/smpi/isp/umpire/lost-request-waitall.c -include teshsuite/smpi/isp/umpire/lost-request.c -include teshsuite/smpi/isp/umpire/lost-request2.c -include teshsuite/smpi/isp/umpire/lost-request3.c -include teshsuite/smpi/isp/umpire/no-error-any_src.c -include teshsuite/smpi/isp/umpire/no-error-derived-comms.c -include teshsuite/smpi/isp/umpire/no-error-interleaved-isend.c -include teshsuite/smpi/isp/umpire/no-error-persistent-all-completions.c -include teshsuite/smpi/isp/umpire/no-error-persistent-test.c -include teshsuite/smpi/isp/umpire/no-error-persistent-testpartial.c -include teshsuite/smpi/isp/umpire/no-error-persistent-waitpartial.c -include teshsuite/smpi/isp/umpire/no-error-persistent.c -include teshsuite/smpi/isp/umpire/no-error-probe-any_src.c -include teshsuite/smpi/isp/umpire/no-error-probe-any_tag.c -include teshsuite/smpi/isp/umpire/no-error-probe.c -include teshsuite/smpi/isp/umpire/no-error-test.c -include teshsuite/smpi/isp/umpire/no-error-testall.c -include teshsuite/smpi/isp/umpire/no-error-testany.c -include teshsuite/smpi/isp/umpire/no-error-vector-isend.c -include teshsuite/smpi/isp/umpire/no-error-wait-any_src.c -include teshsuite/smpi/isp/umpire/no-error-wait-any_src2.c -include teshsuite/smpi/isp/umpire/no-error-wait-any_src3.c -include teshsuite/smpi/isp/umpire/no-error-wait-any_src4.c -include teshsuite/smpi/isp/umpire/no-error-wait.c -include teshsuite/smpi/isp/umpire/no-error-wait2.c -include teshsuite/smpi/isp/umpire/no-error-waitall-any_src.c -include teshsuite/smpi/isp/umpire/no-error-waitall-any_src2.c -include teshsuite/smpi/isp/umpire/no-error-waitall-any_src3.c -include teshsuite/smpi/isp/umpire/no-error-waitall.c -include teshsuite/smpi/isp/umpire/no-error-waitany-any_src.c -include teshsuite/smpi/isp/umpire/no-error-waitany-any_src2.c -include teshsuite/smpi/isp/umpire/no-error-waitany-any_src3.c -include teshsuite/smpi/isp/umpire/no-error-waitany.c -include teshsuite/smpi/isp/umpire/no-error-waitany2.c -include teshsuite/smpi/isp/umpire/no-error.c -include teshsuite/smpi/isp/umpire/no-error2.c -include teshsuite/smpi/isp/umpire/no-error3-any_src.c -include teshsuite/smpi/isp/umpire/no-error3.c -include teshsuite/smpi/isp/umpire/no-error4-any_src.c -include teshsuite/smpi/isp/umpire/no-error4.c -include teshsuite/smpi/isp/umpire/op-no-error.c -include teshsuite/smpi/isp/umpire/op-no-free.c -include teshsuite/smpi/isp/umpire/partial-recv-exhaustive.c -include teshsuite/smpi/isp/umpire/partial-recv-persistent.c -include teshsuite/smpi/isp/umpire/partial-recv-persistent2.c -include teshsuite/smpi/isp/umpire/partial-recv-persistent3.c -include teshsuite/smpi/isp/umpire/partial-recv-persistent4.c -include teshsuite/smpi/isp/umpire/partial-recv.c -include teshsuite/smpi/isp/umpire/persistent.c -include teshsuite/smpi/isp/umpire/persistent2.c -include teshsuite/smpi/isp/umpire/persistent3.c -include teshsuite/smpi/isp/umpire/persistent4.c -include teshsuite/smpi/isp/umpire/probe-any_src-types-can-mismatch.c -include teshsuite/smpi/isp/umpire/probe-any_tag-types-can-mismatch.c -include teshsuite/smpi/isp/umpire/probe-deadlock.c -include teshsuite/smpi/isp/umpire/pt2pt-byte-int-mismatch.c -include teshsuite/smpi/isp/umpire/remote_group-no-error.c -include teshsuite/smpi/isp/umpire/send-recv-ok.c -include teshsuite/smpi/isp/umpire/sendrecv-deadlock.c -include teshsuite/smpi/isp/umpire/type-commit-twice.c -include teshsuite/smpi/isp/umpire/type-no-error-exhaustive-with-isends.c -include teshsuite/smpi/isp/umpire/type-no-error-exhaustive.c -include teshsuite/smpi/isp/umpire/type-no-error.c -include teshsuite/smpi/isp/umpire/type-no-free-exhaustive.c -include teshsuite/smpi/isp/umpire/type-no-free.c -include teshsuite/smpi/isp/umpire/type-no-free2.c -include teshsuite/smpi/isp/umpire/type-no-free3.c -include teshsuite/smpi/isp/umpire/wait-deadlock.c -include teshsuite/smpi/isp/umpire/waitall-deadlock.c -include teshsuite/smpi/isp/umpire/waitany-deadlock.c include teshsuite/smpi/macro-partial-shared-communication/macro-partial-shared-communication.c include teshsuite/smpi/macro-partial-shared-communication/macro-partial-shared-communication.tesh include teshsuite/smpi/macro-partial-shared/macro-partial-shared.c @@ -2757,7 +2608,6 @@ include teshsuite/platforms/CMakeLists.txt include teshsuite/python/CMakeLists.txt include teshsuite/s4u/CMakeLists.txt include teshsuite/smpi/CMakeLists.txt -include teshsuite/smpi/isp/umpire/CMakeLists.txt include teshsuite/smpi/mpich3-test/CMakeLists.txt include teshsuite/smpi/mpich3-test/attr/CMakeLists.txt include teshsuite/smpi/mpich3-test/coll/CMakeLists.txt diff --git a/sonar-project.properties b/sonar-project.properties index 8b097f4b98..4d9201fa1a 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -170,14 +170,14 @@ sonar.issue.ignore.multicriteria.s5.resourceKey=src/smpi/bindings/*.cpp # Exclude some files from the analysis: # - our unit tests -# - the tests that we borrowed elsewhere (MPICH and ISP) +# - the tests that we borrowed elsewhere (MPICH and MBI) # - Flex-generated files # - Collectives that we borrowed elsewhere (mpich, openMPI and other implems) # - the NAS, that are included in our examples # - The Catch2 library, that is included in our unit tests # - The xxHash library, used by the MC # - MSG along with its examples and teshsuite -sonar.exclusions=src/include/catch.hpp,src/include/xxhash.hpp,src/*_unit.c*,teshsuite/smpi/mpich3-test/**,teshsuite/smpi/isp/**,**/*_dtd.c,**/*_dtd.h,**/*yy.c,src/xbt/automaton/parserPromela.tab.*,src/smpi/colls/**/*,examples/smpi/NAS/*,examples/smpi/gemm/gemm.c,src/msg/**,include/msg/**,examples/deprecated/**,teshsuite/msg/** +sonar.exclusions=src/include/catch.hpp,src/include/xxhash.hpp,src/*_unit.c*,teshsuite/smpi/mpich3-test/**,**/*_dtd.c,**/*_dtd.h,**/*yy.c,src/xbt/automaton/parserPromela.tab.*,src/smpi/colls/**/*,examples/smpi/NAS/*,examples/smpi/gemm/gemm.c,src/msg/**,include/msg/**,examples/deprecated/**,teshsuite/msg/** # Exclude our examples from the duplication detection. # Examples are expected to be somehow repetitive @@ -199,7 +199,7 @@ sonar.cfamily.gcov.reportsPath=Testing/CoverageInfo # - Python files used to generate either simcalls or deployment files # - Any java source code (it's deprecated now) # - MSG (deprecated too) -sonar.coverage.exclusions=teshsuite/smpi/isp/**,teshsuite/smpi/mpich3-test/**,examples/smpi/mc/**,**/*.xml,src/simix/simcalls.py,**/generate.py,**/*.java,src/bindings/java/**,src/msg/**,include/msg/**,examples/deprecated/**,teshsuite/msg/** +sonar.coverage.exclusions=teshsuite/smpi/mpich3-test/**,examples/smpi/mc/**,**/*.xml,src/simix/simcalls.py,**/generate.py,**/*.java,src/bindings/java/**,src/msg/**,include/msg/**,examples/deprecated/**,teshsuite/msg/** # Encoding of the source files sonar.sourceEncoding=UTF-8 diff --git a/teshsuite/smpi/isp/umpire/CMakeLists.txt b/teshsuite/smpi/isp/umpire/CMakeLists.txt deleted file mode 100644 index afd2b4e57d..0000000000 --- a/teshsuite/smpi/isp/umpire/CMakeLists.txt +++ /dev/null @@ -1,250 +0,0 @@ -# See http://formalverification.cs.utah.edu/ISP_Tests/ - -set(umpire_tests_passing - change-send-buffer - comm-dup-no-error - comm-dup-no-free - comm-dup-no-free2 - comm-simple - comm-split-no-free - comm-translate-ranks - hello - no-error - no-error2 - no-error3 - no-error3-any_src - no-error-any_src - no-error-interleaved-isend - no-error-test - no-error-testall - no-error-testany - no-error-vector-isend - no-error-wait - no-error-waitany-any_src2 - no-error-waitany-any_src3 - no-error-waitany - no-error-wait-any_src - no-error-wait-any_src2 - no-error-wait-any_src3 - no-error-wait-any_src4 - no-error-waitany-any_src - sendrecv-deadlock - send-recv-ok - irecv-isend-ok - lost-request-waitall - ) # Passing (no deadlock) tests - -set(umpire_tests_passing_broken - irecv-isend-ok2 - partial-recv - ) - -# These are supposed to deadlock but ISP does not find deadlock -# and we don't either. What should be test here? -set(umpire_tests_missed_deadlock - any_src-deadlock - any_src-can-deadlock - any_src-can-deadlock2 - any_src-can-deadlock3 - ) - -set(umpire_tests_deadlock - any_src-can-deadlock10 - any_src-can-deadlock4 - any_src-can-deadlock5 - any_src-can-deadlock6 - any_src-waitall-deadlock - any_src-waitall-deadlock2 - any_src-waitall-deadlock3 - any_src-waitany-deadlock2 - any_src-waitany-deadlock - any_src-wait-deadlock - any_src-wait-deadlock2 - basic-deadlock - basic-deadlock-comm_create - basic-deadlock-comm_dup - basic-deadlock-comm_split - bcast-deadlock - collective-misorder - collective-misorder-allreduce - complex-deadlock - finalize-deadlock - irecv-deadlock - waitall-deadlock - waitany-deadlock - wait-deadlock - ) # failing (deadlocking) tests - -# Compile but run those tests: -set(umpire_tests_deadlock_broken - any_src-can-deadlock10_mod - any_src-can-deadlock4_mod - any_src-can-deadlock5_mod - any_src-can-deadlock6_mod - any_src-can-deadlock7 - any_src-can-deadlock8 - any_src-can-deadlock9 - any_src-can-deadlock11 - collective-misorder2 - comm-bcast-deadlock - dropped-req - comm-deadlock -) - -set(umpire_tests_problematic - deadlock-config # No deadlock detected by ISP unless MPI_Send blocking activated - ) # problematic tests - - # These files are not listed on http://formalverification.cs.utah.edu/ISP_Tests/ -set(umpire_src_other - abort1.c - abort2.c - abort3.c - abort.c - basic-deadlock-cart_create.c - basic-deadlock-cart_sub.c - basic-deadlock-graph_create.c - basic-deadlock-intercomm_create.c - basic-deadlock-intercomm_merge.c - change-send-buffer-exhaustive.c - change-send-buffer-type-exhaustive.c - collective-exhaustive-byte-int-mismatch.c - collective-exhaustive-no-error.c - - deadlock-config_blocking.c - errhandler-no-error.c - errhandler-no-free.c - group-no-error2.c - group-no-error3.c - group-no-error.c - group-no-error-exhaustive.c - group-no-free2.c - group-no-free3.c - group-no-free.c - group-no-free-exhaustive.c - intercomm_create-deadlock2.c - intercomm_create-deadlock3.c - intercomm_create-deadlock4.c - intercomm_create-deadlock.c - intercomm_create-no-error.c - intercomm_merge-deadlock.c - lost-request2.c - lost-request3.c - lost-request.c - no-error4-any_src.c - no-error4.c - no-error-derived-comms.c - - no-error-persistent-all-completions.c - no-error-persistent.c - no-error-persistent-test.c - no-error-persistent-testpartial.c - no-error-persistent-waitpartial.c - no-error-probe-any_src.c - no-error-probe-any_tag.c - no-error-probe.c - - no-error-wait2.c # Does not compile. - no-error-waitall-any_src2.c - no-error-waitall-any_src3.c - no-error-waitall-any_src.c - no-error-waitall.c - no-error-waitany2.c - - op-no-error.c - op-no-free.c - partial-recv-exhaustive.c - partial-recv-persistent2.c - partial-recv-persistent3.c - partial-recv-persistent4.c - partial-recv-persistent.c - persistent2.c - persistent3.c - persistent4.c - persistent.c - probe-any_src-types-can-mismatch.c - probe-any_tag-types-can-mismatch.c - probe-deadlock.c - pt2pt-byte-int-mismatch.c - remote_group-no-error.c - type-commit-twice.c - type-no-error.c - type-no-error-exhaustive.c - type-no-error-exhaustive-with-isends.c - type-no-free2.c - type-no-free3.c - type-no-free.c - type-no-free-exhaustive.c - ) - -# Add these files to the archive -################# - -set(sources "${CMAKE_CURRENT_SOURCE_DIR}/README") -foreach(file ${umpire_src_other}) - set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file}) -endforeach() - -foreach(file - ${umpire_tests_passing} ${umpire_tests_passing_broken} - ${umpire_tests_deadlock} ${umpire_tests_deadlock_broken} ${umpire_tests_missed_deadlock} - ${umpire_tests_problematic} - ${umpire_tests_ignored} ) - set(sources ${sources} ${CMAKE_CURRENT_SOURCE_DIR}/${file}.c) -endforeach() -set(txt_files ${txt_files} ${sources} PARENT_SCOPE) - -# Build the tests -################# - -if(enable_smpi AND enable_smpi_ISP_testsuite) - set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") - set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff") - set(umpire_tests_to_run ${umpire_tests_passing}) - if (enable_model-checking) - set(umpire_tests_to_run ${umpire_tests_to_run} ${umpire_tests_deadlock} ${umpire_tests_problematic}) - endif() - include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - - foreach (test ${umpire_tests_to_run}) - add_executable(${test} EXCLUDE_FROM_ALL ${test}.c) - add_dependencies(tests-mc ${test}) - target_link_libraries(${test} simgrid) - set_source_files_properties(${test}.c PROPERTIES COMPILE_FLAGS "-Dlint -Wno-error -Wno-return-type") - set(umpire_tesh ${umpire_tesh} ${test}) - set(files_to_clean ${files_to_clean} ${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh) - endforeach(test) - - # TODO, what should we do about ${umpire_tests_missed_deadlock}? - - foreach (test ${umpire_tests_passing}) - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30") - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND) - if(enable_model-checking) - set(wrapper "-wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\"") - endif() - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "\$ \${bindir:=.}/../../../../smpi_script/bin/smpirun ${wrapper} -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/host-speed:1Gf --cfg=smpi/coll-selector:ompi \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND) - endforeach() - - if (enable_model-checking) - foreach (test ${umpire_tests_deadlock} ${umpire_tests_problematic} ) - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! timeout 30" ) - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! expect return 3" APPEND) - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "! output display" APPEND) - write_file(${CMAKE_CURRENT_BINARY_DIR}/${test}.tesh "\$ \${bindir:=.}/../../../../smpi_script/bin/smpirun -wrapper \"\${bindir:=.}/../../../../bin/simgrid-mc\" -hostfile ../../hostfile -platform ../../../../examples/platforms/small_platform.xml --log=xbt_cfg.thresh:warning -np 3 --cfg=smpi/buffering:zero --cfg=smpi/coll-selector:ompi \${bindir:=.}/${test} --log=smpi_coll.thresh:error" APPEND) - endforeach() - endif() -endif() - -# Erase all tesh files on cleanup: they are generated anyway -set_directory_properties ( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${files_to_clean}" ) - -if(enable_smpi AND enable_smpi_ISP_testsuite) - foreach (tesh ${umpire_tesh}) - ADD_TESH(mc-umpire-${tesh} - --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR} - --setenv bindir=${CMAKE_CURRENT_BINARY_DIR} - --cd ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/${tesh}.tesh) - endforeach() -endif() diff --git a/teshsuite/smpi/isp/umpire/README b/teshsuite/smpi/isp/umpire/README deleted file mode 100644 index 19a86c642b..0000000000 --- a/teshsuite/smpi/isp/umpire/README +++ /dev/null @@ -1 +0,0 @@ -ISP Test taken from . diff --git a/teshsuite/smpi/isp/umpire/abort.c b/teshsuite/smpi/isp/umpire/abort.c deleted file mode 100644 index 1ac568430e..0000000000 --- a/teshsuite/smpi/isp/umpire/abort.c +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Oct 29 2002 */ -/* abort.c -- call MPI abort in all tasks... */ - - -#include -#include "mpi.h" -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - printf ("(%d) Aborting\n", rank); - MPI_Abort (MPI_COMM_WORLD, -1); - } - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/abort1.c b/teshsuite/smpi/isp/umpire/abort1.c deleted file mode 100644 index 97657674dd..0000000000 --- a/teshsuite/smpi/isp/umpire/abort1.c +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Oct 29 2002 */ -/* abort1.c -- call MPI abort in all tasks other than zero... */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank) { - printf ("(%d) Aborting\n", rank); - MPI_Abort (MPI_COMM_WORLD, -1); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/abort2.c b/teshsuite/smpi/isp/umpire/abort2.c deleted file mode 100644 index 563a6b915a..0000000000 --- a/teshsuite/smpi/isp/umpire/abort2.c +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Oct 29 2002 */ -/* abort2.c -- call MPI abort in task zero... */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - printf ("(%d) Aborting\n", rank); - MPI_Abort (MPI_COMM_WORLD, -1); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/abort3.c b/teshsuite/smpi/isp/umpire/abort3.c deleted file mode 100644 index 21e198b7bb..0000000000 --- a/teshsuite/smpi/isp/umpire/abort3.c +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Oct 29 2002 */ -/* abort3.c -- call MPI abort in task one... */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - /* ensure that we have a non-manager that doesn't abort... */ - printf ("not enough tasks\n"); - } - else { - if (rank == 1) { - printf ("(%d) Aborting\n", rank); - MPI_Abort (MPI_COMM_WORLD, -1); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock.c deleted file mode 100644 index d21fe8b0ab..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Jan 3 2002 */ -/* any_src-can-deadlock.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; pretty random */ -/* as to which is received first... */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock10.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock10.c deleted file mode 100644 index f2cf3aa91e..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock10.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Sep 30 2003 */ -/* any_src-can-deadlock10.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; sleeps generally */ -/* make order 1 before 2 with all task */ -/* 0 ops being posted before both 1 and 2 */ - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - // sleep (60); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock10_mod.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock10_mod.c deleted file mode 100644 index b80362f6d0..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock10_mod.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Sep 30 2003 */ -/* any_src-can-deadlock10.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; sleeps generally */ -/* make order 1 before 2 with all task */ -/* 0 ops being posted before both 1 and 2 */ - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - // sleep (60); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock11.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock11.c deleted file mode 100644 index a81e4d6238..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock11.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock11.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; sleeps generally */ -/* make order 2 before 1 with all task */ -/* 0 ops being posted before both 1 and 2 */ -/* same as any_src-can-deadlock10.c */ -/* except tasks 1 and 2 are interchanged */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - //sleep (30); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - //sleep (60); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock2.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock2.c deleted file mode 100644 index d73cdb1742..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock2.c +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Jan 3 2002 */ -/* any_src-can-deadlock.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; the likely outcome */ -/* because we sleep task 1 */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - // sleep (60); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock3.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock3.c deleted file mode 100644 index 248d208dc2..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock3.c +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Jan 3 2002 */ -/* any_src-can-deadlock.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; the unlikely outcome */ -/* because we sleep task 2 */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - //sleep (60); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock4.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock4.c deleted file mode 100644 index 1f9e86da1c..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock4.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock4.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; pretty random */ -/* as to which is received first... */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock4_mod.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock4_mod.c deleted file mode 100644 index 0ba01eab5a..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock4_mod.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock4.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; pretty random */ -/* as to which is received first... */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock5.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock5.c deleted file mode 100644 index 95390f7916..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock5.c +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock5.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; sleeps generally */ -/* make order 1 before 2 with all task */ -/* 0 ops being posted after both 1 and 2 */ - - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - //sleep (60); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock5_mod.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock5_mod.c deleted file mode 100644 index fe8be2207f..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock5_mod.c +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock5.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; sleeps generally */ -/* make order 1 before 2 with all task */ -/* 0 ops being posted after both 1 and 2 */ - - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - //sleep (60); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock6.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock6.c deleted file mode 100644 index 67f15aa231..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock6.c +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock5.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; sleeps generally */ -/* make order 2 before 1 with all task */ -/* 0 ops being posted after both 1 and 2 */ - - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { -// sleep (60); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock6_mod.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock6_mod.c deleted file mode 100644 index 6c6965f714..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock6_mod.c +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock5.c -- deadlock occurs if task 0 receives */ -/* from task 1 first; sleeps generally */ -/* make order 2 before 1 with all task */ -/* 0 ops being posted after both 1 and 2 */ - - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { -// sleep (60); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock7.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock7.c deleted file mode 100644 index 3d3364c73c..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock7.c +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock7.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; pretty random */ -/* as to which is received first... */ -/* same as any_src-can-deadlock4.c */ -/* except tasks 1 and 2 are interchanged */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock8.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock8.c deleted file mode 100644 index 14c48311cb..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock8.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock8.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; sleeps generally */ -/* make order 1 before 2 with all task */ -/* 0 ops being posted after both 1 and 2 */ -/* same as any_src-can-deadlock6.c */ -/* except tasks 1 and 2 are interchanged */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { -// sleep (60); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-can-deadlock9.c b/teshsuite/smpi/isp/umpire/any_src-can-deadlock9.c deleted file mode 100644 index 3e08adf352..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-can-deadlock9.c +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 26 2003 */ -/* any_src-can-deadlock9.c -- deadlock occurs if task 0 receives */ -/* from task 2 first; sleeps generally */ -/* make order 2 before 1 with all task */ -/* 0 ops being posted after both 1 and 2 */ -/* same as any_src-can-deadlock5.c */ -/* except tasks 1 and 2 are interchanged */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - //sleep (60); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 2) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - // sleep (30); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-deadlock.c b/teshsuite/smpi/isp/umpire/any_src-deadlock.c deleted file mode 100644 index 8841969557..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-deadlock.c +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Recv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-wait-deadlock.c b/teshsuite/smpi/isp/umpire/any_src-wait-deadlock.c deleted file mode 100644 index c3f864c1df..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-wait-deadlock.c +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Wait (&req, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Wait (&req, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-wait-deadlock2.c b/teshsuite/smpi/isp/umpire/any_src-wait-deadlock2.c deleted file mode 100644 index 572a26590b..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-wait-deadlock2.c +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - printf("Proc 0: Request number - %p\n",req); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Wait (&req, &status); - printf("Proc 0: Request number after wait test- %p\n",req); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - printf("Proc 1: Request number - %p\n",req); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Wait (&req, &status); - printf("Proc 1: Request number after wait test- %p\n",req); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock.c b/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock.c deleted file mode 100644 index e267da2310..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - - MPI_Send (buf0, buf_size, MPI_INT, 2, 2, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - } - else if (rank == 2) - { - MPI_Recv (buf0, buf_size, MPI_INT, 0, 2, MPI_COMM_WORLD, statuses); - - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2.c b/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2.c deleted file mode 100644 index 7fd911327a..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock2.c +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3.c b/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3.c deleted file mode 100644 index e0bb1267d2..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-waitall-deadlock3.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 1's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-waitany-deadlock.c b/teshsuite/smpi/isp/umpire/any_src-waitany-deadlock.c deleted file mode 100644 index 50509a612c..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-waitany-deadlock.c +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int done; - MPI_Status status; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitany (2, reqs, &done, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2.c b/teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2.c deleted file mode 100644 index c6b2e6025a..0000000000 --- a/teshsuite/smpi/isp/umpire/any_src-waitany-deadlock2.c +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int done; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitany (2, reqs, &done, statuses); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Wait (&reqs[(done + 1) % 2], statuses); - } - else if (rank == 2) - { - // sleep (60); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-cart_create.c b/teshsuite/smpi/isp/umpire/basic-deadlock-cart_create.c deleted file mode 100644 index 67c86e0067..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-cart_create.c +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define TWOD 2 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm comm; - MPI_Group world_group, dgroup; - int *granks; - int dims[TWOD], periods[TWOD]; - int drank, dnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 4) { - printf ("not enough tasks\n"); - } - else { - /* create a 2 X nprocs/2 torus topology, allow reordering */ - dims[0] = 2; - dims[1] = nprocs/2; - periods[0] = periods[1] = 1; - MPI_Cart_create (MPI_COMM_WORLD, TWOD, dims, periods, 1, &comm); - - if (comm != MPI_COMM_NULL) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - } - else { - printf ("(%d) Derived communicator too small (size = %d)\n", - rank, dnprocs); - } - - MPI_Comm_free (&comm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-cart_sub.c b/teshsuite/smpi/isp/umpire/basic-deadlock-cart_sub.c deleted file mode 100644 index 1fc0879f28..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-cart_sub.c +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define TWOD 2 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, comm; - MPI_Group world_group, dgroup; - int *granks; - int dims[TWOD], periods[TWOD], remain_dims[TWOD]; - int drank, dnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 4) { - printf ("not enough tasks\n"); - } - else { - /* need to make cartesian communicator temporarily... */ - /* create a 2 X nprocs/2 torus topology, allow reordering */ - dims[0] = 2; - dims[1] = nprocs/2; - periods[0] = periods[1] = 1; - MPI_Cart_create (MPI_COMM_WORLD, TWOD, dims, periods, 1, &temp); - - if (temp != MPI_COMM_NULL) { - /* create 2 1 X nprocs/2 topologies... */ - remain_dims[0] = 0; - remain_dims[1] = 1; - MPI_Cart_sub (temp, remain_dims, &comm); - /* free up temporarily created cartesian communicator... */ - MPI_Comm_free (&temp); - } - else { - comm = MPI_COMM_NULL; - } - - if (comm != MPI_COMM_NULL) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - } - else { - printf ("(%d) Derived communicator too small (size = %d)\n", - rank, dnprocs); - } - - MPI_Comm_free (&comm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-comm_create.c b/teshsuite/smpi/isp/umpire/basic-deadlock-comm_create.c deleted file mode 100644 index c70951909f..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-comm_create.c +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm comm; - MPI_Group world_group, dgroup; - int *granks; - int i, drank, dnprocs, newsize; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - printf ("not enough tasks\n"); - } - else { - MPI_Comm_group (MPI_COMM_WORLD, &world_group); - if (nprocs % 2) - newsize = (nprocs/2) + 1; - else - newsize = nprocs/2; - granks = (int *) malloc (sizeof(int) * (newsize)); - for (i = 0; i < newsize; i++) - granks [i] = 2 * i; - MPI_Group_incl (world_group, newsize, granks, &dgroup); - MPI_Comm_create (MPI_COMM_WORLD, dgroup, &comm); - MPI_Group_free (&world_group); - MPI_Group_free (&dgroup); - free (granks); - - if (comm != MPI_COMM_NULL) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - } - else { - printf ("(%d) Derived communicator too small (size = %d)\n", - rank, dnprocs); - } - - MPI_Comm_free (&comm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup.c b/teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup.c deleted file mode 100644 index a4a8b7c5b1..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-comm_dup.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm comm; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - MPI_Comm_dup (MPI_COMM_WORLD, &comm); - - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - - MPI_Comm_free (&comm); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-comm_split.c b/teshsuite/smpi/isp/umpire/basic-deadlock-comm_split.c deleted file mode 100644 index 826f80c2c0..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-comm_split.c +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm comm; - int drank, dnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - printf ("not enough tasks\n"); - } - else { - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &comm); - - if (comm != MPI_COMM_NULL) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - } - else { - printf ("(%d) Derived communicator too small (size = %d)\n", - rank, dnprocs); - } - - MPI_Comm_free (&comm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-graph_create.c b/teshsuite/smpi/isp/umpire/basic-deadlock-graph_create.c deleted file mode 100644 index f7351ed767..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-graph_create.c +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define GRAPH_SZ 4 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm comm; - int drank, dnprocs; - int graph_index[] = { 2, 3, 4, 6 }; - int graph_edges[] = { 1, 3, 0, 3, 0, 2 }; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 4) { - printf ("not enough tasks\n"); - } - else { - /* create the graph on p.268 MPI: The Complete Reference... */ - MPI_Graph_create (MPI_COMM_WORLD, GRAPH_SZ, - graph_index, graph_edges, 1, &comm); - - if (comm != MPI_COMM_NULL) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - } - else { - printf ("(%d) Derived communicator too small (size = %d)\n", - rank, dnprocs); - } - - MPI_Comm_free (&comm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_create.c b/teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_create.c deleted file mode 100644 index 92df65d1f1..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_create.c +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, intercomm; - int drank, dnprocs, rleader, rnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_free (&temp); - - if (intercomm != MPI_COMM_NULL) { - MPI_Comm_size (intercomm, &dnprocs); - MPI_Comm_rank (intercomm, &drank); - MPI_Comm_remote_size (intercomm, &rnprocs); - - if (rnprocs > drank) { - if (rank % 2) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, drank, 0, intercomm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, drank, 0, intercomm); - } - else { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, drank, 0, intercomm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, drank, 0, intercomm); - } - } - else { - printf ("(%d) Intercomm too small (lrank = %d; remote size = %d)\n", - rank, drank, rnprocs); - } - - MPI_Comm_free (&intercomm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_merge.c b/teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_merge.c deleted file mode 100644 index 2a1f1acdb5..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock-intercomm_merge.c +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm comm, temp, intercomm; - int drank, dnprocs, rleader; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_free (&temp); - - if (intercomm == MPI_COMM_NULL) { - printf ("(%d) MPI_Intercomm_Create returned MPI_COMM_NULL\n", rank); - printf ("(%d) Aborting...\n", rank); - MPI_Abort (MPI_COMM_WORLD, 666); - exit (666); - } - - MPI_Intercomm_merge (intercomm, rank % 2, &comm); - - MPI_Comm_free (&intercomm); - - if (comm != MPI_COMM_NULL) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - } - else if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - } - else { - printf ("(%d) Derived communicator too small (size = %d)\n", - rank, dnprocs); - } - - MPI_Comm_free (&comm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/basic-deadlock.c b/teshsuite/smpi/isp/umpire/basic-deadlock.c deleted file mode 100644 index b9a5840965..0000000000 --- a/teshsuite/smpi/isp/umpire/basic-deadlock.c +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/bcast-deadlock.c b/teshsuite/smpi/isp/umpire/bcast-deadlock.c deleted file mode 100644 index 66e7c384c4..0000000000 --- a/teshsuite/smpi/isp/umpire/bcast-deadlock.c +++ /dev/null @@ -1,43 +0,0 @@ - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int rank; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - MPI_Bcast (buf0, buf_size, MPI_INT, 1, MPI_COMM_WORLD); - MPI_Bcast (buf0, buf_size, MPI_INT, 0, MPI_COMM_WORLD); - } - else { - if (rank == 1) - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Bcast (buf0, buf_size, MPI_INT, 0, MPI_COMM_WORLD); - MPI_Bcast (buf0, buf_size, MPI_INT, 1, MPI_COMM_WORLD); - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/change-send-buffer-exhaustive.c b/teshsuite/smpi/isp/umpire/change-send-buffer-exhaustive.c deleted file mode 100644 index 2ac360136d..0000000000 --- a/teshsuite/smpi/isp/umpire/change-send-buffer-exhaustive.c +++ /dev/null @@ -1,284 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ -/* change-send-buffer-exhaustive.c -- do lots pt-2-pt ops with */ -/* send buffer overwrite errors*/ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/change-send-buffer-exhaustive.c,v 1.5 2002/10/24 17:04:54 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define BUF_SIZE 128 -#define NUM_SEND_TYPES 8 -#define NUM_PERSISTENT_SEND_TYPES 4 -#define NUM_BSEND_TYPES 2 -#define NUM_COMPLETION_MECHANISMS 8 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int bbuf[(BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES]; - int buf[BUF_SIZE * 2 * NUM_SEND_TYPES]; - int i, j, k, at_size, send_t_number, index, outcount, total, flag; - int num_errors, error_count, indices[2 * NUM_SEND_TYPES]; - MPI_Request aReq[2 * NUM_SEND_TYPES]; - MPI_Status aStatus[2 * NUM_SEND_TYPES]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Buffer_attach (bbuf, sizeof(int) * - (BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES); - - if (rank == 0) { - /* set up persistent sends... */ - send_t_number = NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES; - - MPI_Send_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Send_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Bsend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Bsend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - - send_t_number++; - - MPI_Rsend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Rsend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Ssend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Ssend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - } - - for (k = 0; k < (NUM_COMPLETION_MECHANISMS * 2); k++) { - if (rank == 0) { - /* initialize all of the send buffers */ - for (j = 0; j < NUM_SEND_TYPES; j++) { - for (i = 0; i < BUF_SIZE; i++) { - buf[2 * j * BUF_SIZE + i] = i; - buf[((2 * j + 1) * BUF_SIZE) + i] = BUF_SIZE - 1 - i; - } - } - } - else if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 * NUM_SEND_TYPES); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* set up transient sends... */ - send_t_number = 0; - - MPI_Isend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Isend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Ibsend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Ibsend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - - MPI_Irsend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Irsend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Issend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Issend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - /* just to be paranoid */ - send_t_number++; - assert (send_t_number == NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES); - - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (NUM_PERSISTENT_SEND_TYPES * 2, &aReq[2 * send_t_number]); - } - else { - for (j = 0; j < NUM_PERSISTENT_SEND_TYPES * 2; j++) { - MPI_Start (&aReq[2 * send_t_number + j]); - } - } - - /* NOTE: Changing the send buffer of a Bsend is NOT an error... */ - for (j = 0; j < NUM_SEND_TYPES; j++) { - /* muck the buffers */ - buf[j * 2 * BUF_SIZE + (BUF_SIZE >> 1)] = BUF_SIZE; - } - - printf ("USER MSG: 6 change send buffer errors in iteration #%d:\n", k); - - /* complete the sends */ - switch (k/2) { - case 0: - /* use MPI_Wait */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - break; - - case 1: - /* use MPI_Waitall */ - MPI_Waitall (NUM_SEND_TYPES * 2, aReq, aStatus); - break; - - case 2: - /* use MPI_Waitany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Waitany (NUM_SEND_TYPES * 2, aReq, &index, aStatus); - } - - break; - - case 3: - /* use MPI_Waitsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - MPI_Waitsome (NUM_SEND_TYPES * 2, aReq, &outcount, indices, aStatus); - - total += outcount; - } - - break; - - case 4: - /* use MPI_Test */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - - break; - - case 5: - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (NUM_SEND_TYPES * 2, aReq, &flag, aStatus); - } - - break; - - case 6: - /* use MPI_Testany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (NUM_SEND_TYPES * 2, aReq, &index, &flag, aStatus); - } - } - - break; - - case 7: - /* use MPI_Testsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - outcount = 0; - - while (!outcount) { - MPI_Testsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - } - - total += outcount; - } - - break; - - default: - assert (0); - break; - } - } - else if (rank == 1) { - /* set up receives for all of the sends */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], BUF_SIZE, - MPI_INT, 0, j, comm, &aReq[j]); - } - - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - - /* complete all of the receives... */ - MPI_Waitall (NUM_SEND_TYPES * 2, aReq, aStatus); - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent requests */ - for (i = 2* (NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES); - i < 2 * NUM_SEND_TYPES; i++) { - MPI_Request_free (&aReq[i]); - } - } - - MPI_Buffer_detach (bbuf, &at_size); - - assert (at_size == - sizeof(int) * (BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/change-send-buffer-type-exhaustive.c b/teshsuite/smpi/isp/umpire/change-send-buffer-type-exhaustive.c deleted file mode 100644 index 8ce9636563..0000000000 --- a/teshsuite/smpi/isp/umpire/change-send-buffer-type-exhaustive.c +++ /dev/null @@ -1,747 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive-with-isends.c -- send with weird types */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/change-send-buffer-type-exhaustive.c,v 1.1 2002/06/08 09:11:34 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -typedef struct _test_basic_struct_t -{ - double the_double; - char the_char; -} -test_basic_struct_t; - - -typedef struct _test_lb_ub_struct_t -{ - double dontsend_double1; - double the_double_to_send; - char the_chars[8]; /* only send the first one... */ - double dontsend_double2; -} -test_lb_ub_struct_t; - - -#define TYPE_CONSTRUCTOR_COUNT 7 -#define MSG_COUNT 3 - -/* -*/ -#define RUN_TYPE_STRUCT -#define RUN_TYPE_VECTOR -#define RUN_TYPE_HVECTOR -#define RUN_TYPE_INDEXED -#define RUN_TYPE_HINDEXED -#define RUN_TYPE_CONTIGUOUS -#define RUN_TYPE_STRUCT_LB_UB -/* -*/ - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i, j, k, basic_extent; - int blocklens[4], displs[4]; - MPI_Datatype structtypes[4]; - MPI_Datatype newtype[TYPE_CONSTRUCTOR_COUNT]; - MPI_Request aReq[TYPE_CONSTRUCTOR_COUNT]; - MPI_Status aStatus[TYPE_CONSTRUCTOR_COUNT]; -#ifdef RUN_TYPE_STRUCT - test_basic_struct_t struct_buf[MSG_COUNT]; -#endif -#ifdef RUN_TYPE_VECTOR - test_basic_struct_t vector_buf[7*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_HVECTOR - test_basic_struct_t hvector_buf[44*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_INDEXED - test_basic_struct_t indexed_buf[132*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_HINDEXED - test_basic_struct_t hindexed_buf[272*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_CONTIGUOUS - test_basic_struct_t contig_buf[2720*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_STRUCT - test_lb_ub_struct_t struct_lb_ub_send_buf[MSG_COUNT]; - test_basic_struct_t struct_lb_ub_recv_buf[MSG_COUNT]; -#endif - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - structtypes[0] = MPI_DOUBLE; - structtypes[1] = MPI_CHAR; - blocklens[0] = blocklens[1] = 1; - displs[0] = 0; - displs[1] = sizeof(double); - - MPI_Barrier (comm); - - /* create the types */ - MPI_Type_struct (2, blocklens, displs, structtypes, &newtype[0]); - - MPI_Type_extent (newtype[0], &basic_extent); - if (basic_extent != sizeof (test_basic_struct_t)) { - fprintf (stderr, "(%d): Unexpected extent for struct\n"); - MPI_Abort (MPI_COMM_WORLD, 666); - } - - MPI_Type_vector (2, 3, 4, newtype[0], &newtype[1]); - MPI_Type_hvector (3, 2, 15 * sizeof (test_basic_struct_t), - newtype[1], &newtype[2]); - displs[1] = 2; - MPI_Type_indexed (2, blocklens, displs, newtype[2], &newtype[3]); - displs[1] = 140 * sizeof (test_basic_struct_t); - MPI_Type_hindexed (2, blocklens, displs, newtype[3], &newtype[4]); - MPI_Type_contiguous (10, newtype[4], &newtype[5]); - - structtypes[0] = MPI_LB; - structtypes[1] = MPI_DOUBLE; - structtypes[2] = MPI_CHAR; - structtypes[3] = MPI_UB; - blocklens[0] = blocklens[1] = blocklens[2] = blocklens[3] = 1; - displs[0] = -sizeof(double); - displs[1] = 0; - displs[2] = sizeof(double); - displs[3] = 2*sizeof(double)+8*sizeof(char); - - MPI_Type_struct (4, blocklens, displs, structtypes, &newtype[6]); - -#ifdef RUN_TYPE_STRUCT - MPI_Type_commit (&newtype[0]); -#endif - -#ifdef RUN_TYPE_VECTOR - MPI_Type_commit (&newtype[1]); -#endif - -#ifdef RUN_TYPE_HVECTOR - MPI_Type_commit (&newtype[2]); -#endif - -#ifdef RUN_TYPE_INDEXED - MPI_Type_commit (&newtype[3]); -#endif - -#ifdef RUN_TYPE_HINDEXED - MPI_Type_commit (&newtype[4]); -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - MPI_Type_commit (&newtype[5]); -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - MPI_Type_commit (&newtype[6]); -#endif - - if (rank == 0) { - /* initialize buffers */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - struct_buf[i].the_double = 1.0; - struct_buf[i].the_char = 'a'; -#endif - -#ifdef RUN_TYPE_VECTOR - for (j = 0; j < 7; j++) { - vector_buf[i*7 + j].the_double = 1.0; - vector_buf[i*7 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_HVECTOR - for (j = 0; j < 44; j++) { - hvector_buf[i*44 + j].the_double = 1.0; - hvector_buf[i*44 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_INDEXED - for (j = 0; j < 132; j++) { - indexed_buf[i*132 + j].the_double = 1.0; - indexed_buf[i*132 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_HINDEXED - for (j = 0; j < 272; j++) { - hindexed_buf[i*272 + j].the_double = 1.0; - hindexed_buf[i*272 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 2720; j++) { - contig_buf[i*2720 + j].the_double = 1.0; - contig_buf[i*2720 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - struct_lb_ub_send_buf[i].dontsend_double1 = 1.0; - struct_lb_ub_send_buf[i].the_double_to_send = 1.0; - for (j = 0; j < 8; j++) - struct_lb_ub_send_buf[i].the_chars[j] = 'a'; - struct_lb_ub_send_buf[i].dontsend_double2 = 1.0; -#endif - } - - /* set up the sends */ -#ifdef RUN_TYPE_STRUCT - MPI_Isend (struct_buf, MSG_COUNT, newtype[0], 1, 0, comm, &aReq[0]); -#else - aReq[0] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_VECTOR - MPI_Isend (vector_buf, MSG_COUNT, newtype[1], 1, 1, comm, &aReq[1]); -#else - aReq[1] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HVECTOR - MPI_Isend (hvector_buf, MSG_COUNT, newtype[2], 1, 2, comm, &aReq[2]); -#else - aReq[2] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_INDEXED - MPI_Isend (indexed_buf, MSG_COUNT, newtype[3], 1, 3, comm, &aReq[3]); -#else - aReq[3] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HINDEXED - MPI_Isend (hindexed_buf, MSG_COUNT, newtype[4], 1, 4, comm, &aReq[4]); -#else - aReq[4] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - MPI_Isend (contig_buf, MSG_COUNT, newtype[5], 1, 5, comm, &aReq[5]); -#else - aReq[5] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_STRUCT - MPI_Isend (&(struct_lb_ub_send_buf[0].the_double_to_send), - MSG_COUNT, newtype[6], 1, 6, comm, &aReq[6]); -#else - aReq[6] = MPI_REQUEST_NULL; -#endif - } - else if (rank == 1) { - /* initialize buffers */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - struct_buf[i].the_double = 2.0; - struct_buf[i].the_char = 'b'; -#endif - -#ifdef RUN_TYPE_VECTOR - for (j = 0; j < 7; j++) { - vector_buf[i*7 + j].the_double = 2.0; - vector_buf[i*7 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_HVECTOR - for (j = 0; j < 44; j++) { - hvector_buf[i*44 + j].the_double = 2.0; - hvector_buf[i*44 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_INDEXED - for (j = 0; j < 132; j++) { - indexed_buf[i*132 + j].the_double = 2.0; - indexed_buf[i*132 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_HINDEXED - for (j = 0; j < 272; j++) { - hindexed_buf[i*272 + j].the_double = 2.0; - hindexed_buf[i*272 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 2720; j++) { - contig_buf[i*2720 + j].the_double = 2.0; - contig_buf[i*2720 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - struct_lb_ub_recv_buf[i].the_double = 2.0; - struct_lb_ub_recv_buf[i].the_char = 'b'; -#endif - } - - /* set up the receives... */ -#ifdef RUN_TYPE_STRUCT - MPI_Irecv (struct_buf, MSG_COUNT, newtype[0], 0, 0, comm, &aReq[0]); -#else - aReq[0] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_VECTOR - MPI_Irecv (vector_buf, MSG_COUNT, newtype[1], 0, 1, comm, &aReq[1]); -#else - aReq[1] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HVECTOR - MPI_Irecv (hvector_buf, MSG_COUNT, newtype[2], 0, 2, comm, &aReq[2]); -#else - aReq[2] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_INDEXED - MPI_Irecv (indexed_buf, MSG_COUNT, newtype[3], 0, 3, comm, &aReq[3]); -#else - aReq[3] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HINDEXED - MPI_Irecv (hindexed_buf, MSG_COUNT, newtype[4], 0, 4, comm, &aReq[4]); -#else - aReq[4] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - MPI_Irecv (contig_buf, MSG_COUNT, newtype[5], 0, 5, comm, &aReq[5]); -#else - aReq[5] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - MPI_Irecv (struct_lb_ub_recv_buf, - MSG_COUNT, newtype[0], 0, 6, comm, &aReq[6]); -#else - aReq[6] = MPI_REQUEST_NULL; -#endif - } - - if (rank == 0) { - /* muck something in each that is not in the holes... */ - /* see below to see where the holes are... */ - /* don't use the first one to test handling of count arg */ - i = (MSG_COUNT > 1) ? 1 : 0; - -#ifdef RUN_TYPE_STRUCT - /* muck the char member... */ - struct_buf[i].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_VECTOR - /* muck the element after the hole due to stride in vector... */ - vector_buf[i*7 + 4].the_double = 3.0; - vector_buf[i*7 + 4].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_HVECTOR - /* muck the element after the hole due to stride in hvector... */ - hvector_buf[i*44 + 15].the_double = 3.0; - hvector_buf[i*44 + 15].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_INDEXED - /* muck the element after the hole due to indexed displacements... */ - indexed_buf[i*132 + 44 + 44].the_double = 3.0; - indexed_buf[i*132 + 44 + 44].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_HINDEXED - /* muck the element after the hole due to hindexed displacements... */ - hindexed_buf[i*272 + 132 + 8].the_double = 3.0; - hindexed_buf[i*272 + 132 + 8].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - /* muck element after the hole due to hindex displacements, hindex 2... */ - contig_buf[i*2720 + 272 + 140].the_double = 3.0; - contig_buf[i*2720 + 272 + 140].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - /* muck the double member and char member being sent... */ - struct_lb_ub_send_buf[i].the_double_to_send = 3.0; - struct_lb_ub_send_buf[i].the_chars[0] = 'c'; -#endif - } - - if ((rank == 0) || (rank == 1)) - /* wait on everything... */ - MPI_Waitall (TYPE_CONSTRUCTOR_COUNT, aReq, aStatus); - - if (rank == 1) { - /* check the holes... */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - /* no holes in struct_buf... */ -#endif - -#ifdef RUN_TYPE_VECTOR - /* one hole in vector_buf... */ - assert ((vector_buf[i*7 + 3].the_double == 2.0) && - (vector_buf[i*7 + 3].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_HVECTOR - /* eight holes in hvector_buf... */ - /* hole in first vector, first block... */ - assert ((hvector_buf[i*44 + 3].the_double == 2.0) && - (hvector_buf[i*44 + 3].the_char == 'b')); - /* hole in second vector, first block... */ - assert ((hvector_buf[i*44 + 10].the_double == 2.0) && - (hvector_buf[i*44 + 10].the_char == 'b')); - /* hole in between first and second vector blocks... */ - assert ((hvector_buf[i*44 + 14].the_double == 2.0) && - (hvector_buf[i*44 + 14].the_char == 'b')); - /* hole in first vector, second block... */ - assert ((hvector_buf[i*44 + 18].the_double == 2.0) && - (hvector_buf[i*44 + 18].the_char == 'b')); - /* hole in second vector, second block... */ - assert ((hvector_buf[i*44 + 25].the_double == 2.0) && - (hvector_buf[i*44 + 25].the_char == 'b')); - /* hole in between second and third vector blocks... */ - assert ((hvector_buf[i*44 + 29].the_double == 2.0) && - (hvector_buf[i*44 + 29].the_char == 'b')); - /* hole in first vector, third block... */ - assert ((hvector_buf[i*44 + 33].the_double == 2.0) && - (hvector_buf[i*44 + 33].the_char == 'b')); - /* hole in second vector, third block... */ - assert ((hvector_buf[i*44 + 40].the_double == 2.0) && - (hvector_buf[i*44 + 40].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_INDEXED - /* sixty holes in indexed_buf... */ - /* hole in first vector, first block, first hvector... */ - assert ((indexed_buf[i*132 + 3].the_double == 2.0) && - (indexed_buf[i*132 + 3].the_char == 'b')); - /* hole in second vector, first block, first hvector... */ - assert ((indexed_buf[i*132 + 10].the_double == 2.0) && - (indexed_buf[i*132 + 10].the_char == 'b')); - /* hole in between first and second vector blocks, first hvector... */ - assert ((indexed_buf[i*132 + 14].the_double == 2.0) && - (indexed_buf[i*132 + 14].the_char == 'b')); - /* hole in first vector, second block, first hvector... */ - assert ((indexed_buf[i*132 + 18].the_double == 2.0) && - (indexed_buf[i*132 + 18].the_char == 'b')); - /* hole in second vector, second block, first hvector... */ - assert ((indexed_buf[i*132 + 25].the_double == 2.0) && - (indexed_buf[i*132 + 25].the_char == 'b')); - /* hole in between second and third vector blocks, first hvector... */ - assert ((indexed_buf[i*132 + 29].the_double == 2.0) && - (indexed_buf[i*132 + 29].the_char == 'b')); - /* hole in first vector, third block, first hvector... */ - assert ((indexed_buf[i*132 + 33].the_double == 2.0) && - (indexed_buf[i*132 + 33].the_char == 'b')); - /* hole in second vector, third block, first hvector... */ - assert ((indexed_buf[i*132 + 40].the_double == 2.0) && - (indexed_buf[i*132 + 40].the_char == 'b')); - /* hole in between hvectors... */ - for (j = 0; j < 44; j++) { - assert ((indexed_buf[i*132 + 44 + j].the_double == 2.0) && - (indexed_buf[i*132 + 44 + j].the_char == 'b')); - } - /* hole in first vector, first block, second hvector... */ - assert ((indexed_buf[i*132 + 3 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 3 + 88].the_char == 'b')); - /* hole in second vector, first block, second hvector... */ - assert ((indexed_buf[i*132 + 10 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 10 + 88].the_char == 'b')); - /* hole in between first and second vector blocks, second hvector... */ - assert ((indexed_buf[i*132 + 14 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 14 + 88].the_char == 'b')); - /* hole in first vector, second block, second hvector... */ - assert ((indexed_buf[i*132 + 18 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 18 + 88].the_char == 'b')); - /* hole in second vector, second block, second hvector... */ - assert ((indexed_buf[i*132 + 25 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 25 + 88].the_char == 'b')); - /* hole in between second and third vector blocks, second hvector... */ - assert ((indexed_buf[i*132 + 29 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 29 + 88].the_char == 'b')); - /* hole in first vector, third block, second hvector... */ - assert ((indexed_buf[i*132 + 33 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 33 + 88].the_char == 'b')); - /* hole in second vector, third block, second hvector... */ - assert ((indexed_buf[i*132 + 40 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 40 + 88].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_HINDEXED - /* one hundred twenty eight holes in hindexed_buf... */ - /* hole in first vector, first block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 3].the_double == 2.0) && - (hindexed_buf[i*272 + 3].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 10].the_double == 2.0) && - (hindexed_buf[i*272 + 10].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 1... */ - assert ((hindexed_buf[i*272 + 14].the_double == 2.0) && - (hindexed_buf[i*272 + 14].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 18].the_double == 2.0) && - (hindexed_buf[i*272 + 18].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 25].the_double == 2.0) && - (hindexed_buf[i*272 + 25].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 1... */ - assert ((hindexed_buf[i*272 + 29].the_double == 2.0) && - (hindexed_buf[i*272 + 29].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 33].the_double == 2.0) && - (hindexed_buf[i*272 + 33].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 40].the_double == 2.0) && - (hindexed_buf[i*272 + 40].the_char == 'b')); - /* hole in between hvectors, index 1... */ - for (j = 0; j < 44; j++) { - assert ((hindexed_buf[i*272 + 44 + j].the_double == 2.0) && - (hindexed_buf[i*272 + 44 + j].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 3 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 3 + 88].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 10 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 10 + 88].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 1... */ - assert ((hindexed_buf[i*272 + 14 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 14 + 88].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 18 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 18 + 88].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 25 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 25 + 88].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 1... */ - assert ((hindexed_buf[i*272 + 29 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 29 + 88].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 33 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 33 + 88].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 40 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 40 + 88].the_char == 'b')); - /* indexed hole... */ - for (j = 0; j < 8; j++) { - assert ((hindexed_buf[i*272 + 132 + j].the_double == 2.0) && - (hindexed_buf[i*272 + 132 + j].the_char == 'b')); - } - /* hole in first vector, first block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 3 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 3 + 140].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 10 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 10 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 2... */ - assert ((hindexed_buf[i*272 + 14 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 14 + 140].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 18 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 18 + 140].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 25 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 25 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 2... */ - assert ((hindexed_buf[i*272 + 29 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 29 + 140].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 33 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 33 + 140].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 40 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 40 + 140].the_char == 'b')); - /* hole in between hvectors, index 2... */ - for (j = 0; j < 44; j++) { - assert ((hindexed_buf[i*272 + 44 + j + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 44 + j + 140].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 3 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 3 + 88 + 140].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 10 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 10 + 88 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 2... */ - assert ((hindexed_buf[i*272 + 14 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 14 + 88 + 140].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 18 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 18 + 88 + 140].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 25 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 25 + 88 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 2... */ - assert ((hindexed_buf[i*272 + 29 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 29 + 88 + 140].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 33 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 33 + 88 + 140].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 40 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 40 + 88 + 140].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 10; j++) { - /* hole in first vector, first block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 3].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 10].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 14].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 18].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 25].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 29].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 33].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 40].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40].the_char == 'b')); - /* hole in between hvectors, index 1... */ - for (k = 0; k < 44; k++) { - assert ((contig_buf[i*2720 + j*272 + 44 + k].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 44 + k].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 3 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3 + 88].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 10 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10 + 88].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 14 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14 + 88].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 18 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18 + 88].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 25 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25 + 88].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 29 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29 + 88].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 33 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33 + 88].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 40 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40 + 88].the_char == 'b')); - /* indexed hole... */ - for (k = 0; k < 8; k++) { - assert ((contig_buf[i*2720 + j*272 + 132 + k].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 132 + k].the_char == 'b')); - } - /* hole in first vector, first block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 3 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3 + 140].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 10 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 14 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14 + 140].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 18 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18 + 140].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 25 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 29 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29 + 140].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 33 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33 + 140].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 40 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40 + 140].the_char == 'b')); - /* hole in between hvectors, index 2... */ - for (k = 0; k < 44; k++) { - assert ((contig_buf[i*2720+j*272+44+k+140].the_double == 2.0) && - (contig_buf[i*2720 +j*272+44+k+140].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+3+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3 + 88 + 140].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+10+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10 + 88 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 2... */ - assert ((contig_buf[i*2720+j*272+14+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14 + 88 + 140].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+18+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18 + 88 + 140].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+25+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25 + 88 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 2... */ - assert ((contig_buf[i*2720+j*272+29+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29 + 88 + 140].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+33+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33 + 88 + 140].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+40+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40 + 88 + 140].the_char == 'b')); - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - /* no holes in struct_lb_ub_recv_buf... */ -#endif - } - } - - for (i = 0; i < TYPE_CONSTRUCTOR_COUNT; i++) - MPI_Type_free (&newtype[i]); - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/change-send-buffer.c b/teshsuite/smpi/isp/umpire/change-send-buffer.c deleted file mode 100644 index e3c9d3ea3f..0000000000 --- a/teshsuite/smpi/isp/umpire/change-send-buffer.c +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/change-send-buffer.c,v 1.3 2002/07/30 21:34:42 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int tag1 = 0; - int tag2 = 0; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf0[128]; - int buf1[128]; - int i; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - for (i = 0; i < 128; i++) - { - buf0[i] = i; - buf1[i] = 127 - i; - } - - MPI_Barrier(MPI_COMM_WORLD); - - switch (rank) - { - case 0: - MPI_Isend (buf0, 128, MPI_INT, 1, tag1, comm, &aReq[0]); - MPI_Isend (buf1, 128, MPI_INT, 1, tag2, comm, &aReq[1]); - /* do some work here */ - - buf0[64] = 1000000; - - MPI_Wait (&aReq[0], &aStatus[0]); - MPI_Wait (&aReq[1], &aStatus[1]); - - break; - - case 1: - MPI_Irecv (buf0, 128, MPI_INT, 0, tag1, comm, &aReq[0]); - MPI_Irecv (buf1, 128, MPI_INT, 0, tag2, comm, &aReq[1]); - /* do some work here ... */ - MPI_Wait (&aReq[0], &aStatus[0]); - MPI_Wait (&aReq[1], &aStatus[1]); - break; - - default: - /* do nothing */ - break; - } - - - MPI_Barrier(MPI_COMM_WORLD); - - for (i = 0; i < 128; i++) - { - buf0[i] = i; - buf1[i] = 127 - i; - } - switch (rank) - { - case 0: - MPI_Isend (buf0, 128, MPI_INT, 1, tag1, comm, &aReq[0]); - MPI_Isend (buf1, 128, MPI_INT, 1, tag2, comm, &aReq[1]); - /* do some work here */ - - buf0[64] = 1000000; - - MPI_Waitall (2, aReq, aStatus); - - break; - - case 1: - MPI_Irecv (buf0, 128, MPI_INT, 0, tag1, comm, &aReq[0]); - MPI_Irecv (buf1, 128, MPI_INT, 0, tag2, comm, &aReq[1]); - /* do some work here ... */ - MPI_Waitall (2, aReq, aStatus); - break; - - default: - /* do nothing */ - break; - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/collective-exhaustive-byte-int-mismatch.c b/teshsuite/smpi/isp/umpire/collective-exhaustive-byte-int-mismatch.c deleted file mode 100644 index a32b1f4e0c..0000000000 --- a/teshsuite/smpi/isp/umpire/collective-exhaustive-byte-int-mismatch.c +++ /dev/null @@ -1,801 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Oct 17 2002 */ -/* collective-exhaustive-byte-int-mismatch.c -- do many collective */ -/* operations with simple type mismatches whenever possible (i.e., */ -/* MPI_INT does not match MPI_BYTE, despite many thinking it does) */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/collective-exhaustive-byte-int-mismatch.c,v 1.1 2002/10/24 17:04:54 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -#define RUN_BARRIER -#define RUN_BCAST -#define RUN_GATHER -#define RUN_GATHERV -#define RUN_SCATTER -#define RUN_SCATTERV -#define RUN_ALLGATHER -#define RUN_ALLGATHERV -#define RUN_ALLTOALL -#define RUN_ALLTOALLV -#define RUN_REDUCE -#define RUN_ALLREDUCE -#define RUN_REDUCE_SCATTER -#define RUN_SCAN - - -#define RUN_MAX -#define RUN_MIN -#define RUN_SUM -#define RUN_PROD -#define RUN_LAND -#define RUN_BAND -#define RUN_LOR -#define RUN_BOR -#define RUN_LXOR -#define RUN_BXOR -#define RUN_USEROP - - -#define buf_size 128 -#define OP_COUNT 1 - - -#ifdef RUN_USEROP -typedef struct { - double real, imag; -} complex_t; - -void -complex_prod (void *inp, void *inoutp, int *len, MPI_Datatype *dptr) -{ - int i, stop; - complex_t c; - complex_t *in = (complex_t *) inp; - complex_t *inout = (complex_t *) inoutp; - - if (*dptr == MPI_BYTE) - stop = (*len)/(2 * sizeof(double)); - else - stop = *len; - - for (i = 0; i < stop; i++) { - c.real = inout->real * in->real - inout->imag * in->imag; - c.imag = inout->real * in->imag + inout->imag * in->real; - *inout = c; - in++; - inout++; - } - - return; -} -#endif - - -int -main (int argc, char **argv) -{ - int i, nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int *buf0, *buf1, *displs, *counts, *rcounts, *alltoallvcounts; -#ifdef RUN_USEROP - MPI_Op user_op; - complex_t *a, *answer; - MPI_Datatype ctype; -#endif - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - buf0 = (int *) malloc (buf_size * nprocs * sizeof(int)); - assert (buf0); - for (i = 0; i < buf_size * nprocs; i++) - buf0[i] = rank; - -#ifdef RUN_ALLTOALLV - alltoallvcounts = (int *) malloc (nprocs * sizeof(int)); - assert (alltoallvcounts); -#endif - -#ifdef RUN_USEROP - a = (complex_t *) malloc (buf_size * nprocs * sizeof(complex_t)); - for (i = 0; i < buf_size * nprocs; i++) { - a[i].real = ((double) rank)/((double) nprocs); - a[i].imag = ((double) (-rank))/((double) nprocs); - } - - MPI_Type_contiguous (2, MPI_DOUBLE, &ctype); - MPI_Type_commit (&ctype); - - MPI_Op_create (complex_prod, 1 /* TRUE */, &user_op); -#endif - - if (rank == 0) { - buf1 = (int *) malloc (buf_size * nprocs * sizeof(int)); - assert (buf1); - for (i = 0; i < buf_size * nprocs; i++) - buf1[i] = i; - - displs = (int *) malloc (nprocs * sizeof(int)); - counts = (int *) malloc (nprocs * sizeof(int)); - rcounts = (int *) malloc (nprocs * sizeof(int)); - assert (displs && counts && rcounts); - for (i = 0; i < nprocs; i++) { - displs[i] = i * buf_size; - if (i < buf_size) - rcounts[i] = counts[i] = i; - else - rcounts[i] = counts[i] = buf_size; - if ((i + rank) < buf_size) - alltoallvcounts[i] = i + rank; - else - alltoallvcounts[i] = buf_size; - } - -#ifdef RUN_USEROP - answer = (complex_t *) malloc (buf_size * nprocs * sizeof(complex_t)); -#endif - -#ifdef RUN_BARRIER - for (i = 0; i < OP_COUNT; i++) - MPI_Barrier (comm); -#endif - -#ifdef RUN_BCAST - for (i = 0; i < OP_COUNT; i++) - MPI_Bcast (buf0, buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_GATHER - for (i = 0; i < OP_COUNT; i++) - MPI_Gather (&buf0[rank*buf_size], buf_size, - MPI_INT, buf1, buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_SCATTER - for (i = 0; i < OP_COUNT; i++) - MPI_Scatter (buf1, buf_size, MPI_INT, buf0, buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_GATHERV - for (i = 0; i < OP_COUNT; i++) - MPI_Gatherv (&buf0[rank*buf_size], - (rank < buf_size) ? rank : buf_size, - MPI_INT, buf1, rcounts, displs, MPI_INT, 0, comm); -#endif - -#ifdef RUN_SCATTERV - for (i = 0; i < OP_COUNT; i++) - MPI_Scatterv (buf1, counts, displs, MPI_INT, buf0, - (rank < buf_size) ? rank : buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_REDUCE -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_MAX, 0, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_MIN, 0, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_SUM, 0, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_PROD, 0, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_LAND, 0, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_BAND, 0, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_LOR, 0, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_BOR, 0, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_LXOR, 0, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_BXOR, 0, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (a, answer, buf_size, ctype, user_op, 0, comm); -#endif -#endif - -#ifdef RUN_ALLGATHER - for (i = 0; i < OP_COUNT; i++) - MPI_Allgather (buf0, buf_size, MPI_INT, buf1, buf_size, MPI_INT, comm); -#endif - -#ifdef RUN_ALLTOALL - for (i = 0; i < OP_COUNT; i++) - MPI_Alltoall (buf1, buf_size, MPI_INT, buf0, buf_size, MPI_INT, comm); -#endif - -#ifdef RUN_ALLGATHERV - for (i = 0; i < OP_COUNT; i++) - MPI_Allgatherv (buf0, - (rank < buf_size) ? rank : buf_size, - MPI_INT, buf1, rcounts, displs, MPI_INT, comm); -#endif - -#ifdef RUN_ALLTOALLV - for (i = 0; i < OP_COUNT; i++) - MPI_Alltoallv (buf1, alltoallvcounts, displs, MPI_INT, - buf0, alltoallvcounts, displs, MPI_INT, comm); -#endif - -#ifdef RUN_ALLREDUCE -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_BXOR, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (a, answer, buf_size, ctype, user_op, comm); -#endif -#endif - -#ifdef RUN_REDUCE_SCATTER -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_BXOR, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (a, answer, rcounts, ctype, user_op, comm); -#endif -#endif - -#ifdef RUN_SCAN -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_BXOR, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (a, answer, buf_size, ctype, user_op, comm); -#endif -#endif - } - else { - int *ricounts, *rdcounts; - -#ifdef RUN_BARRIER - for (i = 0; i < OP_COUNT; i++) - MPI_Barrier (comm); -#endif - -#ifdef RUN_BCAST - for (i = 0; i < OP_COUNT; i++) - MPI_Bcast (buf0, buf_size * sizeof(int), MPI_BYTE, 0, comm); -#endif - -#ifdef RUN_GATHER - for (i = 0; i < OP_COUNT; i++) - MPI_Gather (&buf0[rank*buf_size], buf_size * sizeof(int), - MPI_BYTE, buf1, buf_size * sizeof(int), MPI_BYTE, 0, comm); -#endif - -#ifdef RUN_SCATTER - for (i = 0; i < OP_COUNT; i++) - MPI_Scatter (buf1, buf_size * sizeof(int), MPI_BYTE, - buf0, buf_size * sizeof(int), MPI_BYTE, 0, comm); -#endif - -#ifdef RUN_GATHERV - for (i = 0; i < OP_COUNT; i++) - MPI_Gatherv (&buf0[rank*buf_size], - ((rank < buf_size) ? rank : buf_size) * sizeof(int), - MPI_BYTE, buf1, rcounts, displs, MPI_BYTE, 0, comm); -#endif - -#ifdef RUN_SCATTERV - for (i = 0; i < OP_COUNT; i++) - MPI_Scatterv (buf1, counts, displs, MPI_BYTE, buf0, - ((rank < buf_size) ? rank : buf_size) * sizeof(int), - MPI_BYTE, 0, comm); -#endif - -#ifdef RUN_REDUCE -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_MAX, 0, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_MIN, 0, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_SUM, 0, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_PROD, 0, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LAND, 0, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, - buf_size * sizeof(int), MPI_BYTE, MPI_BAND, 0, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LOR, 0, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, - buf_size * sizeof(int), MPI_BYTE, MPI_BOR, 0, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LXOR, 0, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, - buf_size * sizeof(int), MPI_BYTE, MPI_BXOR, 0, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (a, answer, - buf_size * 2 * sizeof(double), MPI_BYTE, user_op, 0, comm); -#endif -#endif - - buf1 = (int *) malloc (buf_size * nprocs * sizeof(int)); - assert (buf1); - for (i = 0; i < buf_size * nprocs; i++) - buf1[i] = i; - - displs = (int *) malloc (nprocs * sizeof(int)); - counts = (int *) malloc (nprocs * sizeof(int)); - rcounts = (int *) malloc (nprocs * sizeof(int)); - ricounts = (int *) malloc (nprocs * sizeof(int)); - rdcounts = (int *) malloc (nprocs * sizeof(int)); - assert (displs && counts && rcounts); - for (i = 0; i < nprocs; i++) { - displs[i] = i * buf_size * sizeof(int); - if (i < buf_size) { - rcounts[i] = counts[i] = i * sizeof(int); - ricounts[i] = i; - rdcounts[i] = i * 2 * sizeof(double); - } - else { - rcounts[i] = counts[i] = buf_size * sizeof(int); - ricounts[i] = buf_size; - rdcounts[i] = buf_size * 2 * sizeof(double); - } - if ((i + rank) < buf_size) - alltoallvcounts[i] = i + rank * sizeof(int); - else - alltoallvcounts[i] = buf_size * sizeof(int); - } - -#ifdef RUN_USEROP - answer = (complex_t *) malloc (buf_size * nprocs * sizeof(complex_t)); -#endif - -#ifdef RUN_ALLGATHER - for (i = 0; i < OP_COUNT; i++) - MPI_Allgather (buf0, buf_size * sizeof(int), MPI_BYTE, - buf1, buf_size * sizeof(int), MPI_BYTE, comm); -#endif - -#ifdef RUN_ALLTOALL - for (i = 0; i < OP_COUNT; i++) - MPI_Alltoall (buf1, buf_size * sizeof(int), MPI_BYTE, - buf0, buf_size * sizeof(int), MPI_BYTE, comm); -#endif - -#ifdef RUN_ALLGATHERV - for (i = 0; i < OP_COUNT; i++) - MPI_Allgatherv (buf0, - ((rank < buf_size) ? rank : buf_size) * sizeof(int), - MPI_BYTE, buf1, rcounts, displs, MPI_BYTE, comm); -#endif - -#ifdef RUN_ALLTOALLV - for (i = 0; i < OP_COUNT; i++) - MPI_Alltoallv (buf1, alltoallvcounts, displs, MPI_BYTE, - buf0, alltoallvcounts, displs, MPI_BYTE, comm); -#endif - -#ifdef RUN_ALLREDUCE -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, - buf_size * sizeof (int), MPI_BYTE, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, - buf_size * sizeof (int), MPI_BYTE, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, - buf_size * sizeof (int), MPI_BYTE, MPI_BXOR, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (a, answer, - buf_size * 2 * sizeof (double), MPI_BYTE, user_op, comm); -#endif -#endif - -#ifdef RUN_REDUCE_SCATTER -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_BYTE, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_BYTE, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, ricounts, MPI_UNSIGNED, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_BYTE, MPI_BXOR, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (a, answer, rdcounts, MPI_BYTE, user_op, comm); -#endif -#endif - -#ifdef RUN_SCAN -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size * sizeof(int), MPI_BYTE, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size * sizeof(int), MPI_BYTE, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_UNSIGNED, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size * sizeof(int), MPI_BYTE, MPI_BXOR, comm); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (a, answer, - buf_size * 2 * sizeof(double), MPI_BYTE, user_op, comm); -#endif -#endif - } - -#ifdef RUN_BARRIER - MPI_Barrier (comm); -#endif - -#ifdef RUN_USEROP - free (a); - free (answer); - MPI_Op_free (&user_op); - MPI_Type_free (&ctype); -#endif - -#ifdef RUN_ALLTOALLV - free (alltoallvcounts); -#endif - - free (buf0); - free (buf1); - free (displs); - free (counts); - free (rcounts); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); - - return 0; -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/collective-exhaustive-no-error.c b/teshsuite/smpi/isp/umpire/collective-exhaustive-no-error.c deleted file mode 100644 index 98fcd9fcbe..0000000000 --- a/teshsuite/smpi/isp/umpire/collective-exhaustive-no-error.c +++ /dev/null @@ -1,550 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Oct 17 2002 */ -/* collective-exhaustive-no-error.c -- do some many collective operations */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/collective-exhaustive-no-error.c,v 1.1 2002/10/24 17:04:54 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -#define RUN_BARRIER -#define RUN_BCAST -#define RUN_GATHER -#define RUN_GATHERV -#define RUN_SCATTER -#define RUN_SCATTERV -#define RUN_ALLGATHER -#define RUN_ALLGATHERV -#define RUN_ALLTOALL -#define RUN_ALLTOALLV -#define RUN_REDUCE -#define RUN_ALLREDUCE -#define RUN_REDUCE_SCATTER -#define RUN_SCAN - - -#define RUN_MAX -#define RUN_MIN -#define RUN_SUM -#define RUN_PROD -#define RUN_LAND -#define RUN_BAND -#define RUN_LOR -#define RUN_BOR -#define RUN_LXOR -#define RUN_BXOR -#define RUN_MAXLOC -#define RUN_MINLOC -#define RUN_USEROP - - -#define buf_size 128 -#define OP_COUNT 10 - - -#ifdef RUN_USEROP -typedef struct { - double real, imag; -} complex_t; - -void -complex_prod (void *inp, void *inoutp, int *len, MPI_Datatype *dptr) -{ - int i; - complex_t c; - complex_t *in = (complex_t *) inp; - complex_t *inout = (complex_t *) inoutp; - - for (i = 0; i < *len; i++) { - c.real = inout->real * in->real - inout->imag * in->imag; - c.imag = inout->real * in->imag + inout->imag * in->real; - *inout = c; - in++; - inout++; - } - - return; -} -#endif - - -int -main (int argc, char **argv) -{ - int i, nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int *buf0, *buf1, *displs, *counts, *rcounts, *alltoallvcounts; -#ifdef RUN_USEROP - MPI_Op user_op; - complex_t *a, *answer; - MPI_Datatype ctype; -#endif - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - buf0 = (int *) malloc (buf_size * nprocs * sizeof(int)); - assert (buf0); - for (i = 0; i < buf_size * nprocs; i++) - buf0[i] = rank; - -#ifdef RUN_ALLTOALLV - alltoallvcounts = (int *) malloc (nprocs * sizeof(int)); - assert (alltoallvcounts); - for (i = 0; i < nprocs; i++) - if ((i + rank) < buf_size) - alltoallvcounts[i] = i + rank; - else - alltoallvcounts[i] = buf_size; -#endif - -#ifdef RUN_USEROP - a = (complex_t *) malloc (buf_size * nprocs * sizeof(complex_t)); - for (i = 0; i < buf_size * nprocs; i++) { - a[i].real = ((double) rank)/((double) nprocs); - a[i].imag = ((double) (-rank))/((double) nprocs); - } - - MPI_Type_contiguous (2, MPI_DOUBLE, &ctype); - MPI_Type_commit (&ctype); - - MPI_Op_create (complex_prod, 1 /* TRUE */, &user_op); -#endif - - if (rank == 0) { - buf1 = (int *) malloc (buf_size * nprocs * sizeof(int)); - assert (buf1); - for (i = 0; i < buf_size * nprocs; i++) - buf1[i] = i; - - displs = (int *) malloc (nprocs * sizeof(int)); - counts = (int *) malloc (nprocs * sizeof(int)); - rcounts = (int *) malloc (nprocs * sizeof(int)); - assert (displs && counts && rcounts); - for (i = 0; i < nprocs; i++) { - displs[i] = i * buf_size; - if (i < buf_size) - rcounts[i] = counts[i] = i; - else - rcounts[i] = counts[i] = buf_size; - } - -#ifdef RUN_USEROP - answer = (complex_t *) malloc (buf_size * nprocs * sizeof(complex_t)); -#endif - } - -#ifdef RUN_BARRIER - for (i = 0; i < OP_COUNT; i++) - MPI_Barrier (comm); -#endif - -#ifdef RUN_BCAST - for (i = 0; i < OP_COUNT; i++) - MPI_Bcast (buf0, buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_GATHER - for (i = 0; i < OP_COUNT; i++) - MPI_Gather (&buf0[rank*buf_size], buf_size, - MPI_INT, buf1, buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_SCATTER - for (i = 0; i < OP_COUNT; i++) - MPI_Scatter (buf1, buf_size, MPI_INT, buf0, buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_GATHERV - for (i = 0; i < OP_COUNT; i++) - MPI_Gatherv (&buf0[rank*buf_size], - (rank < buf_size) ? rank : buf_size, - MPI_INT, buf1, rcounts, displs, MPI_INT, 0, comm); -#endif - -#ifdef RUN_SCATTERV - for (i = 0; i < OP_COUNT; i++) - MPI_Scatterv (buf1, counts, displs, MPI_INT, buf0, - (rank < buf_size) ? rank : buf_size, MPI_INT, 0, comm); -#endif - -#ifdef RUN_REDUCE -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_MAX, 0, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_MIN, 0, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_SUM, 0, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_PROD, 0, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_LAND, 0, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_BAND, 0, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_LOR, 0, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_BOR, 0, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_LXOR, 0, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_INT, MPI_BXOR, 0, comm); -#endif - -#ifdef RUN_MAXLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_2INT, MPI_MAXLOC, 0, comm); - else - fprintf (stderr, "Not enough tasks for MAXLOC test\n"); -#endif - -#ifdef RUN_MINLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (buf0, buf1, buf_size, MPI_2INT, MPI_MINLOC, 0, comm); - else - fprintf (stderr, "Not enough tasks for MINLOC test\n"); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce (a, answer, buf_size, ctype, user_op, 0, comm); -#endif -#endif - - if (rank != 0) { - buf1 = (int *) malloc (buf_size * nprocs * sizeof(int)); - assert (buf1); - for (i = 0; i < buf_size * nprocs; i++) - buf1[i] = i; - - displs = (int *) malloc (nprocs * sizeof(int)); - counts = (int *) malloc (nprocs * sizeof(int)); - rcounts = (int *) malloc (nprocs * sizeof(int)); - assert (displs && counts && rcounts); - for (i = 0; i < nprocs; i++) { - displs[i] = i * buf_size; - if (i < buf_size) - rcounts[i] = counts[i] = i; - else - rcounts[i] = counts[i] = buf_size; - } - -#ifdef RUN_USEROP - answer = (complex_t *) malloc (buf_size * nprocs * sizeof(complex_t)); -#endif - } - -#ifdef RUN_ALLGATHER - for (i = 0; i < OP_COUNT; i++) - MPI_Allgather (buf0, buf_size, MPI_INT, buf1, buf_size, MPI_INT, comm); -#endif - -#ifdef RUN_ALLTOALL - for (i = 0; i < OP_COUNT; i++) - MPI_Alltoall (buf1, buf_size, MPI_INT, buf0, buf_size, MPI_INT, comm); -#endif - -#ifdef RUN_ALLGATHERV - for (i = 0; i < OP_COUNT; i++) - MPI_Allgatherv (buf0, - (rank < buf_size) ? rank : buf_size, - MPI_INT, buf1, rcounts, displs, MPI_INT, comm); -#endif - -#ifdef RUN_ALLTOALLV - for (i = 0; i < OP_COUNT; i++) - MPI_Alltoallv (buf1, alltoallvcounts, displs, MPI_INT, - buf0, alltoallvcounts, displs, MPI_INT, comm); -#endif - -#ifdef RUN_ALLREDUCE -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_INT, MPI_BXOR, comm); -#endif - -#ifdef RUN_MAXLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_2INT, MPI_MAXLOC, comm); - else - fprintf (stderr, "Not enough tasks for MAXLOC test\n"); -#endif - -#ifdef RUN_MINLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (buf0, buf1, buf_size, MPI_2INT, MPI_MINLOC, comm); - else - fprintf (stderr, "Not enough tasks for MINLOC test\n"); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Allreduce (a, answer, buf_size, ctype, user_op, comm); -#endif -#endif - -#ifdef RUN_REDUCE_SCATTER -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_INT, MPI_BXOR, comm); -#endif - -#ifdef RUN_MAXLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_2INT, MPI_MAXLOC, comm); - else - fprintf (stderr, "Not enough tasks for MAXLOC test\n"); -#endif - -#ifdef RUN_MINLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (buf0, buf1, rcounts, MPI_2INT, MPI_MINLOC, comm); - else - fprintf (stderr, "Not enough tasks for MINLOC test\n"); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Reduce_scatter (a, answer, rcounts, ctype, user_op, comm); -#endif -#endif - -#ifdef RUN_SCAN -#ifdef RUN_MAX - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_MAX, comm); -#endif - -#ifdef RUN_MIN - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_MIN, comm); -#endif - -#ifdef RUN_SUM - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_SUM, comm); -#endif - -#ifdef RUN_PROD - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_PROD, comm); -#endif - -#ifdef RUN_LAND - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_LAND, comm); -#endif - -#ifdef RUN_BAND - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_BAND, comm); -#endif - -#ifdef RUN_LOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_LOR, comm); -#endif - -#ifdef RUN_BOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_BOR, comm); -#endif - -#ifdef RUN_LXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_LXOR, comm); -#endif - -#ifdef RUN_BXOR - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_INT, MPI_BXOR, comm); -#endif - -#ifdef RUN_MAXLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_2INT, MPI_MAXLOC, comm); - else - fprintf (stderr, "Not enough tasks for MAXLOC test\n"); -#endif - -#ifdef RUN_MINLOC - if (nprocs > 1) - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (buf0, buf1, buf_size, MPI_2INT, MPI_MINLOC, comm); - else - fprintf (stderr, "Not enough tasks for MINLOC test\n"); -#endif - -#ifdef RUN_USEROP - for (i = 0; i < OP_COUNT; i++) - MPI_Scan (a, answer, buf_size, ctype, user_op, comm); -#endif -#endif - -#ifdef RUN_BARRIER - MPI_Barrier (comm); -#endif - -#ifdef RUN_USEROP - free (a); - free (answer); - MPI_Op_free (&user_op); - MPI_Type_free (&ctype); -#endif - -#ifdef RUN_ALLTOALLV - free (alltoallvcounts); -#endif - - free (buf0); - free (buf1); - free (displs); - free (counts); - free (rcounts); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); - - return 0; -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/collective-misorder-allreduce.c b/teshsuite/smpi/isp/umpire/collective-misorder-allreduce.c deleted file mode 100644 index 67fc3790c3..0000000000 --- a/teshsuite/smpi/isp/umpire/collective-misorder-allreduce.c +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* collective-misorder.c -- do some collective operations (w/ one of them out of order) */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/collective-misorder-allreduce.c,v 1.2 2000/12/04 19:09:45 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int sbuf[buf_size]; - int rbuf[buf_size]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - memset (sbuf, 0, buf_size*sizeof(int)); - memset (rbuf, 1, buf_size*sizeof(int)); - - MPI_Barrier (comm); - - switch (rank) - { - case 0: - MPI_Reduce(sbuf,rbuf,1,MPI_INT,MPI_MAX,0,comm); - break; - - default: - MPI_Allreduce(sbuf,rbuf,1,MPI_INT, MPI_MAX, comm); - break; - } - - MPI_Barrier(comm); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/collective-misorder.c b/teshsuite/smpi/isp/umpire/collective-misorder.c deleted file mode 100644 index ab6f32c407..0000000000 --- a/teshsuite/smpi/isp/umpire/collective-misorder.c +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* collective-misorder.c -- do some collective operations (w/ one of them out of order) */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/collective-misorder.c,v 1.2 2000/12/04 19:09:45 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - memset (buf0, 0, buf_size*sizeof(int)); - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Barrier (comm); - MPI_Barrier (comm); - - switch (rank) - { - case 0: - MPI_Bcast (buf0, buf_size, MPI_INT, 1, comm); /* note that I didn't use root == 0 */ - MPI_Barrier (comm); - break; - - default: - MPI_Barrier (comm); - MPI_Bcast (buf0, buf_size, MPI_INT, 1, comm); - break; - } - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/collective-misorder2.c b/teshsuite/smpi/isp/umpire/collective-misorder2.c deleted file mode 100644 index 69e7790c0f..0000000000 --- a/teshsuite/smpi/isp/umpire/collective-misorder2.c +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* collective-misorder.c -- do some collective operations (w/ one of them out of order) */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/collective-misorder2.c,v 1.1 2002/01/05 00:19:39 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - memset (buf0, 0, buf_size*sizeof(int)); - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Barrier (comm); - MPI_Barrier (comm); - - switch (rank) - { - case 0: - MPI_Bcast (buf0, buf_size, MPI_INT, 0, comm); - MPI_Barrier (comm); - break; - - default: - MPI_Barrier (comm); - MPI_Bcast (buf0, buf_size, MPI_INT, 0, comm); - break; - } - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-bcast-deadlock.c b/teshsuite/smpi/isp/umpire/comm-bcast-deadlock.c deleted file mode 100644 index 342e3b0ff8..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-bcast-deadlock.c +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Aug 12 2003 */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-bcast-deadlock.c,v 1.1 2003/09/02 15:57:49 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Comm inverted_comm; - int bcast_rank; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs != 3) - { - printf ("Incorrect number of tasks; exactly 3 required\n"); - } - else { - /* create inverted communicator... */ - MPI_Comm_split (comm, 0, nprocs - rank, &inverted_comm); - - if (rank == 1) { - MPI_Bcast (&rank, 1, MPI_INT, 1, inverted_comm); - MPI_Bcast (&bcast_rank, 1, MPI_INT, 2, comm); - } - else if (rank == 2) { - MPI_Bcast (&rank, 1, MPI_INT, 2, comm); - MPI_Bcast (&bcast_rank, 1, MPI_INT, 1, inverted_comm); - } - else { - MPI_Bcast (&bcast_rank, 1, MPI_INT, 2, comm); - MPI_Bcast (&bcast_rank, 1, MPI_INT, 1, inverted_comm); - } - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-deadlock.c b/teshsuite/smpi/isp/umpire/comm-deadlock.c deleted file mode 100644 index 30b297e892..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-deadlock.c +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-deadlock.c,v 1.2 2000/12/04 19:09:45 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Comm nc1; - int dat = 1234; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - if (rank == 0) - { - printf ("Creating first new comm\n"); - } - { - int color = rank % 2; - int key = 1; - int nrank; - int nsize; - MPI_Comm_split (comm, color, key, &nc1); - MPI_Comm_size (nc1, &nsize); - MPI_Comm_rank (nc1, &nrank); - printf ("world task %d/%d/%d maps to new comm task %d/%d/%d\n", - comm, nprocs, rank, nc1, nsize, nrank); - } - - MPI_Barrier (comm); - - printf ("Entering deadlock state.....\n"); - - if (rank == 1) - { - MPI_Bcast (&dat, 1, MPI_INT, 0, nc1); - } - else - { - MPI_Bcast (&dat, 1, MPI_INT, 0, comm); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-dup-no-error.c b/teshsuite/smpi/isp/umpire/comm-dup-no-error.c deleted file mode 100644 index 7d5c4c920a..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-dup-no-error.c +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Dec 20 2002 */ - -/* comm-dup-no-error.c - "correctly" use many communicators... */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-dup-no-error.c,v 1.1 2003/01/13 18:31:47 bronis Exp $"; -#endif - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* Approximately 4100 gets "ERROR: 0032-160 Too many communicators" */ -/* with IBM's MPI (AIX 5.1.0, PSSP 3.4) as of 1/13/03... */ -/* Umpire failure is graceful - comm creates are identified... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 1/13/03... */ -/* UMPIRE FAILURE IS NOT GRACEFUL AS OF THIS TIME IN THIS CASE... */ -#define ITERATIONS 3 - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Comm newcomm[ITERATIONS]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - MPI_Comm_dup (MPI_COMM_WORLD, &newcomm[i]); - } - - for (i = 0; i < ITERATIONS; i++) { - MPI_Barrier (newcomm[i]); - } - - - for (i = 0; i < ITERATIONS; i++) { - MPI_Comm_free (&newcomm[i]); - } - - MPI_Barrier (MPI_COMM_WORLD); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-dup-no-free.c b/teshsuite/smpi/isp/umpire/comm-dup-no-free.c deleted file mode 100644 index 2042d21622..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-dup-no-free.c +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -/* type-commit-twice.c -- do a type commit twice w/ the same type */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-dup-no-free.c,v 1.1.1.1 2000/08/23 17:28:26 vetter Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Comm newcomm; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - MPI_Comm_dup (comm, &newcomm); /* not freed */ - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-dup-no-free2.c b/teshsuite/smpi/isp/umpire/comm-dup-no-free2.c deleted file mode 100644 index 718685a15d..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-dup-no-free2.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Dec 20 2002 */ - -/* comm-dup-no-free2.c - leak many communicators created with comm dup */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-dup-no-free2.c,v 1.1 2003/01/13 18:31:47 bronis Exp $"; -#endif - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* Approximately 4100 gets "ERROR: 0032-160 Too many communicators" */ -/* with IBM's MPI (AIX 5.1.0, PSSP 3.4) as of 1/13/03... */ -/* Umpire failure is graceful - comm creates are identified... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 1/13/03... */ -/* UMPIRE FAILURE IS NOT GRACEFUL AS OF THIS TIME IN THIS CASE... */ -#define ITERATIONS 2 -#define COMMS_PER_ITERATION 2 -#define COMMS_LOST_PER_ITERATION 1 - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j; - char processor_name[128]; - int namelen = 128; - MPI_Comm newcomm[COMMS_PER_ITERATION]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - for (j = 0; j < COMMS_PER_ITERATION; j++) { - MPI_Comm_dup (MPI_COMM_WORLD, &newcomm[j]); - - MPI_Barrier (newcomm[j]); - - if (j < COMMS_PER_ITERATION - COMMS_LOST_PER_ITERATION) { - MPI_Comm_free (&newcomm[j]); - } - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-simple.c b/teshsuite/smpi/isp/umpire/comm-simple.c deleted file mode 100644 index d5946a73bb..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-simple.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-simple.c,v 1.2 2000/12/04 19:09:45 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Comm newcomm; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - printf ("WARNING: doesn't really deadlock yet! work-in-progress.\n"); - - MPI_Barrier (comm); - - { - int color = rank % 2; - int key = 1; - int nrank; - int nsize; - int dat = 0; - - MPI_Comm_split (comm, color, key, &newcomm); - - MPI_Comm_size (newcomm, &nsize); - MPI_Comm_rank (newcomm, &nrank); - printf ("world task %p/%d/%d maps to new comm task %p/%d/%d\n", - comm, nprocs, rank, newcomm, nsize, nrank); - - if (nrank == 0) - { - dat = 1000 + color; - } - - MPI_Bcast (&dat, 1, MPI_INT, 0, newcomm); - - printf ("world task %p/%d/%d maps to new comm task %p/%d/%d --> %d\n", - comm, nprocs, rank, newcomm, nsize, nrank, dat); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-split-no-free.c b/teshsuite/smpi/isp/umpire/comm-split-no-free.c deleted file mode 100644 index bfcaaa563f..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-split-no-free.c +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-split-no-free.c,v 1.1.1.1 2000/08/23 17:28:26 vetter Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Comm newcomm; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - { - int color = rank % 2; - int key = 1; - MPI_Comm_split (comm, color, key, &newcomm); /* not freed */ - } - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/comm-translate-ranks.c b/teshsuite/smpi/isp/umpire/comm-translate-ranks.c deleted file mode 100644 index 7acfc0156c..0000000000 --- a/teshsuite/smpi/isp/umpire/comm-translate-ranks.c +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/comm-translate-ranks.c,v 1.1.1.1 2000/08/23 17:28:26 vetter Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Comm newcomm; - int key = -1; - int nrank; - int nsize; - int color = -1; - - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - { - color = rank % 2; - key = 1; - MPI_Comm_split (comm, color, key, &newcomm); - - MPI_Comm_size (newcomm, &nsize); - MPI_Comm_rank (newcomm, &nrank); - printf ("world task %p/%d/%d maps to new comm task %p/%d/%d\n", - comm, nprocs, rank, newcomm, nsize, nrank); - } - - MPI_Barrier (comm); - - /* after every comm constructor, fetch the rank translation from the - 0 rank of that comm (assume that there is a 0). */ - - if (nrank == 0) - { - int i; - MPI_Group wcGroup; - int wcRanks[128]; - MPI_Group ncGroup; - int ncRanks[128]; - - MPI_Comm_group (comm, &wcGroup); - MPI_Comm_group (newcomm, &ncGroup); - - for (i = 0; i < nprocs; i++) - { - wcRanks[i] = i; - } - - MPI_Group_translate_ranks (wcGroup, nprocs, wcRanks, ncGroup, ncRanks); - - for (i = 0; i < nprocs; i++) - { - if (ncRanks[i] == MPI_UNDEFINED) - { - printf ("World rank %d ->\tUNDEFINED\n", wcRanks[i]); - } - else - { - printf ("World rank %d ->\t%d\n", wcRanks[i], ncRanks[i]); - } - } - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/complex-deadlock.c b/teshsuite/smpi/isp/umpire/complex-deadlock.c deleted file mode 100644 index 47c383a435..0000000000 --- a/teshsuite/smpi/isp/umpire/complex-deadlock.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int zero_to_two; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - zero_to_two = 1; - - MPI_Send (&zero_to_two, 1, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - - MPI_Recv (&zero_to_two, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/deadlock-config.c b/teshsuite/smpi/isp/umpire/deadlock-config.c deleted file mode 100644 index 497c9d3b05..0000000000 --- a/teshsuite/smpi/isp/umpire/deadlock-config.c +++ /dev/null @@ -1,49 +0,0 @@ -/* $Header: /usr/gapps/asde/cvs-vault/umpire/tests/deadlock-config.c,v 1.2 2001/09/20 22:27:28 bronis Exp $ */ - -#include -#include "mpi.h" - -#define buf_size 32000 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - float data[buf_size]; - int tag = 30; - char processor_name[128]; - int namelen = buf_size; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - if (rank == 0) - { - printf ("WARNING: This test depends on the MPI's eager limit. " - "Set it appropriately.\n"); - } - printf ("Initializing (%d of %d)\n", rank, nprocs); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - { - int dest = (rank == nprocs - 1) ? (0) : (rank + 1); - data[0] = rank; - MPI_Send (data, buf_size, MPI_FLOAT, dest, tag, MPI_COMM_WORLD); - printf ("(%d) sent data %f\n", rank, data[0]); - fflush (stdout); - } - { - int src = (rank == 0) ? (nprocs - 1) : (rank - 1); - MPI_Status status; - MPI_Recv (data, buf_size, MPI_FLOAT, src, tag, MPI_COMM_WORLD, &status); - printf ("(%d) got data %f\n", rank, data[0]); - fflush (stdout); - } - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - - /* EOF */ diff --git a/teshsuite/smpi/isp/umpire/deadlock-config_blocking.c b/teshsuite/smpi/isp/umpire/deadlock-config_blocking.c deleted file mode 100644 index 0b9b410291..0000000000 --- a/teshsuite/smpi/isp/umpire/deadlock-config_blocking.c +++ /dev/null @@ -1,48 +0,0 @@ -/* $Header: /usr/gapps/asde/cvs-vault/umpire/tests/deadlock-config.c,v 1.2 2001/09/20 22:27:28 bronis Exp $ */ - -#include -#include "mpi.h" - -#define buf_size 32000 - -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - float data[buf_size]; - int tag = 30; - char processor_name[128]; - int namelen = buf_size; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - if (rank == 0) - { - printf ("WARNING: This test depends on the MPI's eager limit. " - "Set it appropriately.\n"); - } - printf ("Initializing (%d of %d)\n", rank, nprocs); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - { - int dest = (rank == nprocs - 1) ? (0) : (rank + 1); - data[0] = rank; - MPI_Send (data, buf_size, MPI_FLOAT, dest, tag, MPI_COMM_WORLD); - printf ("(%d) sent data %f\n", rank, data[0]); - fflush (stdout); - } - { - int src = (rank == 0) ? (nprocs - 1) : (rank - 1); - MPI_Status status; - MPI_Recv (data, buf_size, MPI_FLOAT, src, tag, MPI_COMM_WORLD, &status); - printf ("(%d) got data %f\n", rank, data[0]); - fflush (stdout); - } - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - - /* EOF */ diff --git a/teshsuite/smpi/isp/umpire/dropped-req.c b/teshsuite/smpi/isp/umpire/dropped-req.c deleted file mode 100644 index ff3560f48a..0000000000 --- a/teshsuite/smpi/isp/umpire/dropped-req.c +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Wed Nov 29 2000 */ -/* dropped-req.c -- create a request that's never matched */ -/* NOTE: THIS TEST ASSUMES THAT MPI LIBRARY USES EAGER SENDS IF */ -/* BUFFER IS ZERO BYTES; WILL DEADLOCK IN WHILE LOOP IF FALSE */ - - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* 10000 breaks umpire due to running out of memory as of 12/20/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 10 - - -#include -#include -#include -#include "mpi.h" - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int tag = 31; - int i; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Request req; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier(comm); - - /* 0 sends task nprocs-1 a message that is never received */ - if (rank == 0) { - for (i = 0; i < ITERATIONS; i++) { - int flag = 0; - MPI_Isend (&tag, 0, MPI_BYTE, nprocs - 1, tag, comm, &req); - - while (!flag) - MPI_Test (&req, &flag, &status); - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/errhandler-no-error.c b/teshsuite/smpi/isp/umpire/errhandler-no-error.c deleted file mode 100644 index 5cc6783fa7..0000000000 --- a/teshsuite/smpi/isp/umpire/errhandler-no-error.c +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* errhandler-no-error.c -- construct some MPI_Errhandlers and free them */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/errhandler-no-error.c,v 1.1 2002/05/29 16:09:47 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -/* multiple instances of same errhandler to exercise more Umpire code... */ -#define ERRHANDLER_COUNT 5 - - - -void -myErrhandler (MPI_Comm *comm, int *errorcode, ...) -{ - char buf[MPI_MAX_ERROR_STRING]; - int error_strlen; - - /* print alert */ - fprintf (stderr, "Caught an MPI Error! Time to abort!\n"); - - /* get and print MPI error message... */ - MPI_Error_string (*(errorcode), buf, &error_strlen); - fprintf (stderr, "%s\n", buf); - - MPI_Abort (*comm, *errorcode); - - return; -} - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Errhandler newerrhandler[ERRHANDLER_COUNT]; - MPI_Errhandler newerrhandler2[ERRHANDLER_COUNT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - for (i = 0; i < ERRHANDLER_COUNT; i++) - MPI_Errhandler_create (myErrhandler, &newerrhandler[i]); - - for (i = 0; i < ERRHANDLER_COUNT; i++) - MPI_Errhandler_free (&newerrhandler[i]); - - MPI_Barrier (comm); - - /* now with an alias... */ - - for (i = 0; i < ERRHANDLER_COUNT; i++) - MPI_Errhandler_create (myErrhandler, &newerrhandler[i]); - - for (i = 0; i < ERRHANDLER_COUNT; i++) { - newerrhandler2[i] = newerrhandler[i]; - MPI_Errhandler_free (&newerrhandler2[i]); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/errhandler-no-free.c b/teshsuite/smpi/isp/umpire/errhandler-no-free.c deleted file mode 100644 index 488a1df238..0000000000 --- a/teshsuite/smpi/isp/umpire/errhandler-no-free.c +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* errhandler-no-error.c -- construct some MPI_Errhandlers and free them */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/errhandler-no-free.c,v 1.1 2002/05/29 16:09:48 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -/* multiple instances of same errhandler to exercise more Umpire code... */ -#define ERRHANDLER_COUNT 5 - - - -void -myErrhandler (MPI_Comm *comm, int *errorcode, ...) -{ - char buf[MPI_MAX_ERROR_STRING]; - int error_strlen; - - /* print alert */ - fprintf (stderr, "Caught an MPI Error! Time to abort!\n"); - - /* get and print MPI error message... */ - MPI_Error_string (*(errorcode), buf, &error_strlen); - fprintf (stderr, "%s\n", buf); - - MPI_Abort (*comm, *errorcode); - - return; -} - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Errhandler newerrhandler[ERRHANDLER_COUNT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - for (i = 0; i < ERRHANDLER_COUNT; i++) - MPI_Errhandler_create (myErrhandler, &newerrhandler[i]); - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/finalize-deadlock.c b/teshsuite/smpi/isp/umpire/finalize-deadlock.c deleted file mode 100644 index 2e3278ea6a..0000000000 --- a/teshsuite/smpi/isp/umpire/finalize-deadlock.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* finalize-deadlock.c -- deadlock caused by calling MPI_Finalize */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int its_raining = 0; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - } - else if ((rank == 1) && (its_raining)) - { - /* This code is never executed... */ - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-error-exhaustive.c b/teshsuite/smpi/isp/umpire/group-no-error-exhaustive.c deleted file mode 100644 index fd07b400d0..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-error-exhaustive.c +++ /dev/null @@ -1,165 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive.c -- use all group constructors correctly */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-error-exhaustive.c,v 1.2 2002/07/30 21:34:42 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define GROUP_CONSTRUCTOR_COUNT 8 -#define INTERCOMM_CREATE_TAG 666 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i; - int ranks[2], ranges[1][3]; - MPI_Group newgroup[GROUP_CONSTRUCTOR_COUNT]; - MPI_Group newgroup2[GROUP_CONSTRUCTOR_COUNT]; - MPI_Comm temp; - MPI_Comm intercomm = MPI_COMM_NULL; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - ranks[0] = 0; - ranks[1] = 1; - - ranges[0][0] = 0; - ranges[0][1] = 2; - ranges[0][2] = 2; - - MPI_Barrier (comm); - - if (nprocs < 3) { - printf ("requires at least 3 tasks\n"); - } - else { - /* create the groups */ - if (GROUP_CONSTRUCTOR_COUNT > 0) - MPI_Comm_group (MPI_COMM_WORLD, &newgroup[0]); - - if (GROUP_CONSTRUCTOR_COUNT > 1) - MPI_Group_incl (newgroup[0], 2, ranks, &newgroup[1]); - - if (GROUP_CONSTRUCTOR_COUNT > 2) - MPI_Group_excl (newgroup[0], 2, ranks, &newgroup[2]); - - if (GROUP_CONSTRUCTOR_COUNT > 3) - MPI_Group_range_incl (newgroup[0], 1, ranges, &newgroup[3]); - - if (GROUP_CONSTRUCTOR_COUNT > 4) - MPI_Group_range_excl (newgroup[0], 1, ranges, &newgroup[4]); - - if (GROUP_CONSTRUCTOR_COUNT > 5) - MPI_Group_union (newgroup[1], newgroup[3], &newgroup[5]); - - if (GROUP_CONSTRUCTOR_COUNT > 6) - MPI_Group_intersection (newgroup[5], newgroup[2], &newgroup[6]); - - if (GROUP_CONSTRUCTOR_COUNT > 7) - MPI_Group_difference (newgroup[5], newgroup[2], &newgroup[7]); - - if (GROUP_CONSTRUCTOR_COUNT > 8) { - /* need lots of stuff for this constructor... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &temp); - - if (rank % 3) { - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_remote_group (intercomm, &newgroup[8]); - - MPI_Comm_free (&intercomm); - } - else { - MPI_Comm_group (temp, &newgroup[8]); - } - - MPI_Comm_free (&temp); - } - - for (i = 0; i < GROUP_CONSTRUCTOR_COUNT; i++) - MPI_Group_free (&newgroup[i]); - - MPI_Barrier (comm); - - /* create the groups again and free with an alias... */ - if (GROUP_CONSTRUCTOR_COUNT > 0) - MPI_Comm_group (MPI_COMM_WORLD, &newgroup[0]); - - if (GROUP_CONSTRUCTOR_COUNT > 1) - MPI_Group_incl (newgroup[0], 2, ranks, &newgroup[1]); - - if (GROUP_CONSTRUCTOR_COUNT > 2) - MPI_Group_excl (newgroup[0], 2, ranks, &newgroup[2]); - - if (GROUP_CONSTRUCTOR_COUNT > 3) - MPI_Group_range_incl (newgroup[0], 1, ranges, &newgroup[3]); - - if (GROUP_CONSTRUCTOR_COUNT > 4) - MPI_Group_range_excl (newgroup[0], 1, ranges, &newgroup[4]); - - if (GROUP_CONSTRUCTOR_COUNT > 5) - MPI_Group_union (newgroup[1], newgroup[3], &newgroup[5]); - - if (GROUP_CONSTRUCTOR_COUNT > 6) - MPI_Group_intersection (newgroup[5], newgroup[2], &newgroup[6]); - - if (GROUP_CONSTRUCTOR_COUNT > 7) - MPI_Group_difference (newgroup[5], newgroup[2], &newgroup[7]); - - if (GROUP_CONSTRUCTOR_COUNT > 8) { - /* need lots of stuff for this constructor... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &temp); - - if (rank % 3) { - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_remote_group (intercomm, &newgroup[8]); - - MPI_Comm_free (&intercomm); - } - else { - MPI_Comm_group (temp, &newgroup[8]); - } - - MPI_Comm_free (&temp); - } - - for (i = 0; i < GROUP_CONSTRUCTOR_COUNT; i++) { - newgroup2[i] = newgroup[i]; - MPI_Group_free (&newgroup2[i]); - } - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-error.c b/teshsuite/smpi/isp/umpire/group-no-error.c deleted file mode 100644 index 896aeb6f74..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-error.c +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-error.c -- construct a group and free it */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-error.c,v 1.2 2003/01/13 18:31:48 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - MPI_Group newgroup, newgroup2; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Comm_group (MPI_COMM_WORLD, &newgroup); - MPI_Group_free (&newgroup); - MPI_Barrier (MPI_COMM_WORLD); - /* now with an alias... */ - MPI_Comm_group (MPI_COMM_WORLD, &newgroup); - newgroup2 = newgroup; - MPI_Group_free (&newgroup2); - MPI_Barrier (MPI_COMM_WORLD); - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-error2.c b/teshsuite/smpi/isp/umpire/group-no-error2.c deleted file mode 100644 index a804c81637..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-error2.c +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-error.c -- "correctly" construct many groups and free them */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-error2.c,v 1.1 2003/01/13 18:31:48 bronis Exp $"; -#endif - - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 12/20/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 100 - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Group newgroup[ITERATIONS]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - MPI_Comm_group (MPI_COMM_WORLD, &newgroup[i]); - } - - for (i = 0; i < ITERATIONS; i++) { - MPI_Group_free (&newgroup[i]); - } - - MPI_Barrier (MPI_COMM_WORLD); - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-error3.c b/teshsuite/smpi/isp/umpire/group-no-error3.c deleted file mode 100644 index 2587eb1a10..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-error3.c +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-error3.c -- "correctly" construct many groups and free them */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-error3.c,v 1.1 2003/01/13 18:31:48 bronis Exp $"; -#endif - - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 12/20/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 100 - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Group worldgroup, newgroup[ITERATIONS]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Comm_group (MPI_COMM_WORLD, &worldgroup); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - /* create groups that don't include the local rank... */ - MPI_Group_excl (worldgroup, 1, &rank, &newgroup[i]); - } - - for (i = 0; i < ITERATIONS; i++) { - MPI_Group_free (&newgroup[i]); - } - - MPI_Group_free (&worldgroup); - MPI_Barrier (MPI_COMM_WORLD); - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-free-exhaustive.c b/teshsuite/smpi/isp/umpire/group-no-free-exhaustive.c deleted file mode 100644 index 9956ad174b..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-free-exhaustive.c +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-free-exhaustive.c -- use all group constructors without freeing */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-free-exhaustive.c,v 1.1 2002/05/29 16:09:49 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define GROUP_CONSTRUCTOR_COUNT 9 -#define INTERCOMM_CREATE_TAG 666 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i; - int ranks[2], ranges[1][3]; - MPI_Group newgroup[GROUP_CONSTRUCTOR_COUNT]; - MPI_Group newgroup2[GROUP_CONSTRUCTOR_COUNT]; - MPI_Comm temp; - MPI_Comm intercomm = MPI_COMM_NULL; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - ranks[0] = 0; - ranks[1] = 1; - - ranges[0][0] = 0; - ranges[0][1] = 2; - ranges[0][2] = 2; - - MPI_Barrier (comm); - - if (nprocs < 3) { - printf ("requires at least 3 tasks\n"); - } - else { - /* create the groups */ - if (GROUP_CONSTRUCTOR_COUNT > 0) - MPI_Comm_group (MPI_COMM_WORLD, &newgroup[0]); - - if (GROUP_CONSTRUCTOR_COUNT > 1) - MPI_Group_incl (newgroup[0], 2, ranks, &newgroup[1]); - - if (GROUP_CONSTRUCTOR_COUNT > 2) - MPI_Group_excl (newgroup[0], 2, ranks, &newgroup[2]); - - if (GROUP_CONSTRUCTOR_COUNT > 3) - MPI_Group_range_incl (newgroup[0], 1, ranges, &newgroup[3]); - - if (GROUP_CONSTRUCTOR_COUNT > 4) - MPI_Group_range_excl (newgroup[0], 1, ranges, &newgroup[4]); - - if (GROUP_CONSTRUCTOR_COUNT > 5) - MPI_Group_union (newgroup[1], newgroup[3], &newgroup[5]); - - if (GROUP_CONSTRUCTOR_COUNT > 6) - MPI_Group_intersection (newgroup[5], newgroup[2], &newgroup[6]); - - if (GROUP_CONSTRUCTOR_COUNT > 7) - MPI_Group_difference (newgroup[5], newgroup[2], &newgroup[7]); - - if (GROUP_CONSTRUCTOR_COUNT > 8) { - /* need lots of stuff for this constructor... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &temp); - - if (rank % 3) { - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_remote_group (intercomm, &newgroup[8]); - - MPI_Comm_free (&intercomm); - } - else { - MPI_Comm_group (temp, &newgroup[8]); - } - - MPI_Comm_free (&temp); - } - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-free.c b/teshsuite/smpi/isp/umpire/group-no-free.c deleted file mode 100644 index 2555ed9cb8..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-free.c +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-free.c -- construct a group without freeing */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-free.c,v 1.2 2003/01/13 18:31:48 bronis Exp $"; -#endif - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - MPI_Group newgroup; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Comm_group (MPI_COMM_WORLD, &newgroup); - MPI_Barrier (MPI_COMM_WORLD); - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-free2.c b/teshsuite/smpi/isp/umpire/group-no-free2.c deleted file mode 100644 index 1430443a61..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-free2.c +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-free2.c -- construct many groups without freeing some */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-free2.c,v 1.1 2003/01/13 18:31:48 bronis Exp $"; -#endif - - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 12/20/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 100 -#define GROUPS_PER_ITERATION 3 -#define GROUPS_LOST_PER_ITERATION 1 - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j; - char processor_name[128]; - int namelen = 128; - MPI_Group newgroup[GROUPS_PER_ITERATION]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - for (j = 0; j < GROUPS_PER_ITERATION; j++) { - MPI_Comm_group (MPI_COMM_WORLD, &newgroup[j]); - - if (j < GROUPS_PER_ITERATION - GROUPS_LOST_PER_ITERATION) { - MPI_Group_free (&newgroup[j]); - } - } - } - - MPI_Barrier (MPI_COMM_WORLD); - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/group-no-free3.c b/teshsuite/smpi/isp/umpire/group-no-free3.c deleted file mode 100644 index bdf4d22d69..0000000000 --- a/teshsuite/smpi/isp/umpire/group-no-free3.c +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* group-no-free3.c -- construct many groups without freeing some */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/group-no-free3.c,v 1.1 2003/01/13 18:31:48 bronis Exp $"; -#endif - - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 12/20/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 10 -#define GROUPS_PER_ITERATION 3 -#define GROUPS_LOST_PER_ITERATION 1 - - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j; - char processor_name[128]; - int namelen = 128; - MPI_Group worldgroup, newgroup[GROUPS_PER_ITERATION]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Comm_group (MPI_COMM_WORLD, &worldgroup); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - for (j = 0; j < GROUPS_PER_ITERATION; j++) { - /* create groups that don't include the local rank... */ - MPI_Group_excl (worldgroup, 1, &rank, &newgroup[j]); - - if (j < GROUPS_PER_ITERATION - GROUPS_LOST_PER_ITERATION) { - MPI_Group_free (&newgroup[j]); - } - } - } - - MPI_Group_free (&worldgroup); - MPI_Barrier (MPI_COMM_WORLD); - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/hello.c b/teshsuite/smpi/isp/umpire/hello.c deleted file mode 100644 index 37257e95f0..0000000000 --- a/teshsuite/smpi/isp/umpire/hello.c +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- C -*- - - @PROLOGUE@ - - ----- - - Jeffrey Vetter vetter@llnl.gov - Center for Applied Scientific Computing, LLNL - 31 Oct 2000 - - hello.c -- simple hello world app - - */ -#include -#ifndef lint -static char *rcsid = "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/hello.c,v 1.2 2000/12/04 19:09:46 bronis Exp $"; -#endif - -#include "mpi.h" - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int recvbuf = 0; - - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - printf ("MPI comm size is %d with rank %d executing\n", nprocs, rank); - MPI_Barrier (MPI_COMM_WORLD); - MPI_Reduce (&rank, &recvbuf, 1, MPI_INT, MPI_MAX, 0, MPI_COMM_WORLD); - if (rank == 0) - { - printf ("Reduce max is %d\n", recvbuf); - } - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - - -/* eof */ diff --git a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock.c b/teshsuite/smpi/isp/umpire/intercomm_create-deadlock.c deleted file mode 100644 index 9de9bbec81..0000000000 --- a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock.c +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, intercomm; - int trank, tnprocs; - int drank, dnprocs, rleader, rnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - MPI_Comm_size (temp, &tnprocs); - MPI_Comm_rank (temp, &trank); - - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - - if (trank == 1) { - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, temp, &status); - } - - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - - if (tnprocs > 1) { - if (trank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, temp); - } - } - else { - printf ("(%d) Split communicator too small\n", rank); - } - - MPI_Comm_free (&temp); - - if (intercomm != MPI_COMM_NULL) { - MPI_Comm_size (intercomm, &dnprocs); - MPI_Comm_rank (intercomm, &drank); - MPI_Comm_remote_size (intercomm, &rnprocs); - - if (rnprocs > drank) { - if (rank % 2) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, drank, 0, intercomm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, drank, 0, intercomm); - } - else { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, drank, 0, intercomm); - - MPI_Recv (buf1, buf_size, MPI_INT, drank, 0, intercomm, &status); - } - } - else { - printf ("(%d) Intercomm too small (lrank = %d; remote size = %d)\n", - rank, drank, rnprocs); - } - - MPI_Comm_free (&intercomm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock2.c b/teshsuite/smpi/isp/umpire/intercomm_create-deadlock2.c deleted file mode 100644 index 8eae0c49a0..0000000000 --- a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock2.c +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, intercomm; - int trank, tnprocs; - int drank, dnprocs, rleader, rnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - MPI_Comm_size (temp, &tnprocs); - MPI_Comm_rank (temp, &trank); - - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - - if ((trank == 0) && (rank % 2)) { - MPI_Recv (buf0, buf_size, MPI_INT, - rleader, 0, MPI_COMM_WORLD, &status); - } - - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - - if ((trank == 0) && !(rank % 2)) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, temp); - } - else { - printf ("(%d) Split communicator too small\n", rank); - } - - MPI_Comm_free (&temp); - - if (intercomm != MPI_COMM_NULL) { - MPI_Comm_size (intercomm, &dnprocs); - MPI_Comm_rank (intercomm, &drank); - MPI_Comm_remote_size (intercomm, &rnprocs); - - if (rnprocs > drank) { - if (rank % 2) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, drank, 0, intercomm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, drank, 0, intercomm); - } - else { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, drank, 0, intercomm); - - MPI_Recv (buf1, buf_size, MPI_INT, drank, 0, intercomm, &status); - } - } - else { - printf ("(%d) Intercomm too small (lrank = %d; remote size = %d)\n", - rank, drank, rnprocs); - } - - MPI_Comm_free (&intercomm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock3.c b/teshsuite/smpi/isp/umpire/intercomm_create-deadlock3.c deleted file mode 100644 index 5f42b245dc..0000000000 --- a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock3.c +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, intercomm; - int trank, tnprocs; - int drank, dnprocs, rleader, rnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 4) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - MPI_Comm_size (temp, &tnprocs); - MPI_Comm_rank (temp, &trank); - - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - - if (rank == 1) { - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - } - - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - } - - MPI_Comm_free (&temp); - - if (intercomm != MPI_COMM_NULL) { - MPI_Comm_size (intercomm, &dnprocs); - MPI_Comm_rank (intercomm, &drank); - MPI_Comm_remote_size (intercomm, &rnprocs); - - if (rnprocs > drank) { - if (rank % 2) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, drank, 0, intercomm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, drank, 0, intercomm); - } - else { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, drank, 0, intercomm); - - MPI_Recv (buf1, buf_size, MPI_INT, drank, 0, intercomm, &status); - } - } - else { - printf ("(%d) Intercomm too small (lrank = %d; remote size = %d)\n", - rank, drank, rnprocs); - } - - MPI_Comm_free (&intercomm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock4.c b/teshsuite/smpi/isp/umpire/intercomm_create-deadlock4.c deleted file mode 100644 index f7746d7564..0000000000 --- a/teshsuite/smpi/isp/umpire/intercomm_create-deadlock4.c +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, intercomm; - int trank, tnprocs; - int drank, dnprocs, rleader, rnprocs; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 5) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - MPI_Comm_size (temp, &tnprocs); - MPI_Comm_rank (temp, &trank); - - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - - if ((rank % 2) && (trank == 0)) { - MPI_Recv (buf0, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 0) { - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - } - - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - - if (rank == 2) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, rleader, 0, MPI_COMM_WORLD); - } - else if (rank == 1) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Comm_free (&temp); - - if (intercomm != MPI_COMM_NULL) { - MPI_Comm_size (intercomm, &dnprocs); - MPI_Comm_rank (intercomm, &drank); - MPI_Comm_remote_size (intercomm, &rnprocs); - - if (rnprocs > drank) { - if (rank % 2) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, drank, 0, intercomm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, drank, 0, intercomm); - } - else { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, drank, 0, intercomm); - - MPI_Recv (buf1, buf_size, MPI_INT, drank, 0, intercomm, &status); - } - } - else { - printf ("(%d) Intercomm too small (lrank = %d; remote size = %d)\n", - rank, drank, rnprocs); - } - - MPI_Comm_free (&intercomm); - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/intercomm_create-no-error.c b/teshsuite/smpi/isp/umpire/intercomm_create-no-error.c deleted file mode 100644 index e85dfcecde..0000000000 --- a/teshsuite/smpi/isp/umpire/intercomm_create-no-error.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive.c -- use all group constructors correctly */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/intercomm_create-no-error.c,v 1.1 2002/07/30 21:34:43 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define INTERCOMM_CREATE_TAG 666 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i; - MPI_Comm temp, intercomm = MPI_COMM_NULL; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("requires at least 2 tasks\n"); - } - else { - /* need lots of stuff for this constructor... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - nprocs - - ((rank % 2) ? 2 - (nprocs % 2) : 1 + (nprocs % 2)), - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_free (&intercomm); - - MPI_Comm_free (&temp); - } - - MPI_Barrier (MPI_COMM_WORLD); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/intercomm_merge-deadlock.c b/teshsuite/smpi/isp/umpire/intercomm_merge-deadlock.c deleted file mode 100644 index 6cabf5c2a3..0000000000 --- a/teshsuite/smpi/isp/umpire/intercomm_merge-deadlock.c +++ /dev/null @@ -1,150 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -#define INTERCOMM_CREATE_TAG 666 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Comm temp, intercomm, intercomm2, comm, comm2; - int trank, tnprocs; - int drank, dnprocs, rleader; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 4) { - printf ("not enough tasks\n"); - } - else { - /* need to make split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - /* create an intercommunicator temporarily so can merge it... */ - rleader = ((rank + nprocs) % 2) ? nprocs - 2 : nprocs - 1; - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm); - MPI_Comm_free (&temp); - - if (intercomm != MPI_COMM_NULL) { - /* need to make a different split communicator temporarily... */ - MPI_Comm_split (MPI_COMM_WORLD, - rank < nprocs/2, nprocs - rank, &temp); - - if (temp != MPI_COMM_NULL) { - /* create another intercommunicator temporarily to merge... */ - rleader = (rank < nprocs/2) ? nprocs - 1 : nprocs/2 - 1; - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, rleader, - INTERCOMM_CREATE_TAG, &intercomm2); - MPI_Comm_free (&temp); - - if (intercomm2 != MPI_COMM_NULL) { - if (rank < nprocs/2) { - MPI_Intercomm_merge (intercomm2, rank < nprocs/2, &comm2); - MPI_Comm_free (&intercomm2); - MPI_Intercomm_merge (intercomm, rank % 2, &comm); - MPI_Comm_free (&intercomm); - } - else { - MPI_Intercomm_merge (intercomm, rank % 2, &comm); - MPI_Comm_free (&intercomm); - MPI_Intercomm_merge (intercomm2, rank < nprocs/2, &comm2); - MPI_Comm_free (&intercomm2); - } - - if ((comm != MPI_COMM_NULL) && (comm2 != MPI_COMM_NULL)) { - MPI_Comm_size (comm, &dnprocs); - MPI_Comm_rank (comm, &drank); - - if (dnprocs > 1) { - if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm); - } - else if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm, &status); - } - } - else { - printf ("(%d) comm too small\n", rank); - } - - MPI_Comm_size (comm2, &dnprocs); - MPI_Comm_rank (comm2, &drank); - - if (dnprocs > 1) { - if (drank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, comm2, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, comm2); - } - else if (drank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, comm2); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, comm2, &status); - } - } - else { - printf ("(%d) comm2 too small\n", rank); - } - } - else { - printf ("(%d) Got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) Got MPI_COMM_NULL for intercomm2\n", rank); - } - } - else { - printf ("(%d) Second MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - else { - printf ("(%d) Got MPI_COMM_NULL for intercomm1\n", rank); - } - } - else { - printf ("(%d) First MPI_Comm_split got MPI_COMM_NULL\n", rank); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/irecv-deadlock.c b/teshsuite/smpi/isp/umpire/irecv-deadlock.c deleted file mode 100644 index d9a51a1168..0000000000 --- a/teshsuite/smpi/isp/umpire/irecv-deadlock.c +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else - { - int dest = (rank == nprocs - 1) ? (0) : (rank + 1); - int src = (rank == 0) ? (nprocs - 1) : (rank - 1); - memset (buf0, rank, buf_size*sizeof(int)); - MPI_Irecv (buf0, buf_size, MPI_INT, src, 0, MPI_COMM_WORLD, &req); - MPI_Wait(&req,&status); - MPI_Send (buf0, buf_size, MPI_INT, dest, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/irecv-isend-ok.c b/teshsuite/smpi/isp/umpire/irecv-isend-ok.c deleted file mode 100644 index 68520868a5..0000000000 --- a/teshsuite/smpi/isp/umpire/irecv-isend-ok.c +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req1; - MPI_Request req2; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else - { - int dest = (rank == nprocs - 1) ? (0) : (rank + 1); - int src = (rank == 0) ? (nprocs - 1) : (rank - 1); - memset (buf0, rank, buf_size*sizeof(int)); - memset (buf1, rank, buf_size*sizeof(int)); - MPI_Irecv (buf0, buf_size, MPI_INT, src, 0, MPI_COMM_WORLD, &req1); - MPI_Isend (buf1, buf_size, MPI_INT, dest, 0, MPI_COMM_WORLD, &req2); - MPI_Wait(&req2,&status); - MPI_Wait(&req1,&status); - } - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/irecv-isend-ok2.c b/teshsuite/smpi/isp/umpire/irecv-isend-ok2.c deleted file mode 100644 index 1b8d51186d..0000000000 --- a/teshsuite/smpi/isp/umpire/irecv-isend-ok2.c +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 -#define req_count 20 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int i; - MPI_Status status; - MPI_Request req1; - MPI_Request req2; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else - { - int dest = (rank == nprocs - 1) ? (0) : (rank + 1); - int src = (rank == 0) ? (nprocs - 1) : (rank - 1); - memset (buf0, rank, buf_size*sizeof(int)); - memset (buf1, rank, buf_size*sizeof(int)); - - for (i = 0; i < req_count; i++) { - MPI_Irecv (buf0, buf_size, MPI_INT, src, 0, MPI_COMM_WORLD, &req1); - MPI_Isend (buf1, buf_size, MPI_INT, dest, 0, MPI_COMM_WORLD, &req2); - MPI_Wait(&req2,&status); - MPI_Wait(&req1,&status); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/lost-request-waitall.c b/teshsuite/smpi/isp/umpire/lost-request-waitall.c deleted file mode 100644 index 58976d3a15..0000000000 --- a/teshsuite/smpi/isp/umpire/lost-request-waitall.c +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/lost-request-waitall.c,v 1.1.1.1 2000/08/23 17:28:26 vetter Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define buf_size 128 - -static int mydelay(void) /* about 6 seconds */ -{ - int i; - int val; - for (i = 0; i < 3000000; i++) - { - val = getpid (); /* about 2.06 usecs on snow */ - } - return val; -} - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int tag1 = 31; - int tag2 = 32; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request req; - MPI_Status status; - MPI_Request areq[10]; - MPI_Status astatus[10]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - memset (buf0, 0, buf_size*sizeof(int)); - memset (buf1, 1, buf_size*sizeof(int)); - - /* 0 sends 1 two messages, but the request gets overwritten */ - switch (rank) - { - case 0: - MPI_Isend (buf0, buf_size, MPI_INT, 1, tag1, comm, &(areq[0])); - MPI_Isend (buf1, buf_size, MPI_INT, 1, tag2, comm, &(areq[1])); - /* do some work here */ - //mydelay (); - MPI_Waitall (2, areq, astatus); - break; - - case 1: - MPI_Irecv (buf0, buf_size, MPI_INT, 0, tag1, comm, &req); - MPI_Irecv (buf1, buf_size, MPI_INT, 0, tag2, comm, &req); /* overwrite req */ - /* do some work here and get confused */ - MPI_Wait (&req, &status); - break; - - default: - /* do nothing */ - break; - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/lost-request.c b/teshsuite/smpi/isp/umpire/lost-request.c deleted file mode 100644 index 840c5db6a5..0000000000 --- a/teshsuite/smpi/isp/umpire/lost-request.c +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/lost-request.c,v 1.3 2003/01/13 18:31:48 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define buf_size 128 - -mydelay () /* about 6 seconds */ -{ - int i; - int val; - for (i = 0; i < 3000000; i++) - { - val = getpid (); /* about 2.06 usecs on snow */ - } - return val; -} - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int tag1 = 31; - int tag2 = 32; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request req, req0, req1; - MPI_Status status, status0, status1; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - memset (buf0, 1, buf_size*sizeof(int)); - memset (buf1, 2, buf_size*sizeof(int)); - - MPI_Barrier(MPI_COMM_WORLD); - - /* 0 sends 1 two messages, but the request gets overwritten */ - switch (rank) - { - case 0: - MPI_Isend (buf0, buf_size, MPI_INT, 1, tag1, MPI_COMM_WORLD, &req0); - MPI_Isend (buf1, buf_size, MPI_INT, 1, tag2, MPI_COMM_WORLD, &req1); - - /* do some work here */ - - mydelay (); - MPI_Wait (&req0, &status0); - MPI_Wait (&req1, &status1); - break; - - case 1: - MPI_Irecv (buf0, buf_size, MPI_INT, 0, tag1, MPI_COMM_WORLD, &req); - MPI_Irecv (buf1, buf_size, MPI_INT, 0, tag2, MPI_COMM_WORLD, &req); /* overwrite req */ - - /* do some work here and get confused */ - - MPI_Wait (&req, &status); - break; - - default: - /* do nothing */ - break; - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/lost-request2.c b/teshsuite/smpi/isp/umpire/lost-request2.c deleted file mode 100644 index 614566448f..0000000000 --- a/teshsuite/smpi/isp/umpire/lost-request2.c +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Modifier: Bronis R. de Supinski (bronis@llnl.gov) Wed Nov 29 2000 */ -/* lost-request2.c -- create requests that are never completed */ -/* Derived directly from comm-split.c by John Gyllenhaal (see below) */ -/* Written by John Gyllenhaal 10/25/02 to reproduce Gary Kerbel - * request leak that caused: - * 0:ERROR: 0032-160 Too many communicators (2046) in - * MPI_Comm_split, task 0 - * when run for too many cycles. - * - * Compile with: - * mpxlc comm_split.c -o comm_split - * Run with a multiple of two tasks, even tasks have the problem: - * comm_split -nodes 1 -procs 4 - */ - - -#include "mpi.h" -#include - - -#define CYCLE_COUNT 5 - -int main -(int argc, char **argv) -{ - int numtasks, rank, rc, split_rank, recv_int; - int cycle; - char processor_name[128]; - int namelen = 128; - MPI_Comm split_comm; - MPI_Status status; - MPI_Request request; - int done; - - rc = MPI_Init(&argc,&argv); - if (rc != MPI_SUCCESS) - { - printf ("Error starting MPI program. Terminating.\n"); - MPI_Abort(MPI_COMM_WORLD, rc); - } - - MPI_Comm_size(MPI_COMM_WORLD,&numtasks); - MPI_Comm_rank(MPI_COMM_WORLD,&rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - /* Must be multiple of two for this test */ - if ((numtasks & 1) != 0) - { - printf ("Tasks must be multiple of two for this test. Terminating.\n"); - MPI_Abort(MPI_COMM_WORLD, rc); - } - - MPI_Barrier (MPI_COMM_WORLD); - - /* CYCLE_COUNT = 2500 causes IBM implementation to die from request leak */ - /* Can see problem with only a few (5) cycles */ - for (cycle = 0; cycle < CYCLE_COUNT; cycle ++) - { - /* Split adjacent pairs into their own communicator group */ - rc = MPI_Comm_split (MPI_COMM_WORLD, rank/2, rank, &split_comm); - if (rc != MPI_SUCCESS) - { - printf ("Error (rc %i) cycle %i doing MPI_Comm_split!\n", - rc, cycle); - MPI_Abort(MPI_COMM_WORLD, rc); - } - - if (rank < 2) - printf ("Split_comm handle %i in cycle %i\n", split_comm, cycle); - - MPI_Comm_rank(split_comm, &split_rank); - - if (split_rank == 0) - { - rc = MPI_Issend (&cycle, 1, MPI_INT, 1, 0, split_comm, &request); - if (rc != MPI_SUCCESS) - { - printf ("Error (rc %i) cycle %i doing MPI_Isend!\n", - rc, cycle); - MPI_Abort(MPI_COMM_WORLD, rc); - } - /* HERE IS THE PROBLEM! Request not waited on, memory leak! */ - } - else if (split_rank == 1) - { - rc = MPI_Irecv (&recv_int, 1, MPI_INT, 0, 0, split_comm, - &request); - if (rc != MPI_SUCCESS) - { - printf ("Error (rc %i) cycle %i doing MPI_Irecv!\n", - rc, cycle); - MPI_Abort(MPI_COMM_WORLD, rc); - } - done = 0; - while (!done) - { - rc = MPI_Test (&request, &done, &status); - if (rc != MPI_SUCCESS) - { - printf ("Error (rc %i) cycle %i doing MPI_Test!\n", - rc, cycle); - MPI_Abort(MPI_COMM_WORLD, rc); - } - } - if (rank == 1) - { - printf ("Received %i in recv_int\n", recv_int); - } - } - - /* Free the communicator */ - rc = MPI_Comm_free (&split_comm); - if (rc != MPI_SUCCESS) - { - printf ("Error (rc %i) cycle %i doing MPI_Comm_free!\n", - rc, cycle); - MPI_Abort(MPI_COMM_WORLD, rc); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize(); - printf ("(%d) Finished normally\n", rank); - - return 0; -} - diff --git a/teshsuite/smpi/isp/umpire/lost-request3.c b/teshsuite/smpi/isp/umpire/lost-request3.c deleted file mode 100644 index ef8b4dda47..0000000000 --- a/teshsuite/smpi/isp/umpire/lost-request3.c +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Dec 20 2002 */ -/* lost-request3.c -- lose lots of requests */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/lost-request3.c,v 1.1 2003/01/13 18:31:48 bronis Exp $"; -#endif - - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* UNKNOWN N breaks umpire due to running out of memory as of 12/20/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 10000 -#define REQS_PER_ITERATION 3 -#define REQS_LOST_PER_ITERATION 1 - - -#include -#include "mpi.h" - -#define buf_size 128 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j; - char processor_name[128]; - int namelen = 128; - int buf[buf_size * REQS_PER_ITERATION]; - MPI_Request req[REQS_PER_ITERATION]; - MPI_Status statuses[REQS_PER_ITERATION]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier(MPI_COMM_WORLD); - - /* 0 sends 1 two messages, but the request gets overwritten */ - switch (rank) - { - case 0: - for (i = 0; i < ITERATIONS; i++) { - memset (buf, 1, buf_size*sizeof(int) * REQS_PER_ITERATION); - - for (j = 0; j < REQS_PER_ITERATION; j++) { - MPI_Isend (&buf[j*buf_size], buf_size, MPI_INT, - 1, j, MPI_COMM_WORLD, &req[j]); - } - - MPI_Waitall (REQS_PER_ITERATION, req, statuses); - } - - break; - - case 1: - for (i = 0; i < ITERATIONS; i++) { - memset (buf, 2, buf_size*sizeof(int) * REQS_PER_ITERATION); - - for (j = 0; j < REQS_PER_ITERATION; j++) { - MPI_Irecv (&buf[j*buf_size], buf_size, MPI_INT, - 0, j, MPI_COMM_WORLD, &req[j]); - } - - /* do some work here and get confused */ - MPI_Waitall(REQS_PER_ITERATION-REQS_LOST_PER_ITERATION,req,statuses); - } - - break; - - default: - /* do nothing */ - break; - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-any_src.c b/teshsuite/smpi/isp/umpire/no-error-any_src.c deleted file mode 100644 index 107b0fca06..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-any_src.c +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* no-error3.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i; - char processor_name[128]; - int namelen = 128; - int buf[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - for (i = 1; i < nprocs; i++) { - MPI_Recv (buf, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - } - } - else { - memset (buf, 1, buf_size*sizeof(int)); - - MPI_Send (buf, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-derived-comms.c b/teshsuite/smpi/isp/umpire/no-error-derived-comms.c deleted file mode 100644 index daef65fed9..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-derived-comms.c +++ /dev/null @@ -1,327 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* no-error-derived-comms.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - - -#define RUN_COMM_DUP -#define RUN_COMM_CREATE -#define RUN_INTERCOMM_CREATE -#define RUN_CART_CREATE -#define RUN_GRAPH_CREATE -#define RUN_CART_SUB -#define RUN_INTERCOMM_MERGE - - -#define buf_size 128 -#define DCOMM_CALL_COUNT 7 /* MPI_Cart_create; MPI_Cart_sub; - MPI_Comm_create; MPI_Comm_dup; - MPI_Comm_split; MPI_Graph_create; - and MPI_Intercomm_merge; store - MPI_Intercomm_create separately... */ -#define TWOD 2 -#define GRAPH_SZ 4 -#define INTERCOMM_CREATE_TAG 666 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j; - int *granks; - char processor_name[128]; - int namelen = 128; - int buf[buf_size]; - MPI_Status status; - MPI_Comm temp; - MPI_Comm intercomm = MPI_COMM_NULL; - MPI_Comm dcomms[DCOMM_CALL_COUNT]; - MPI_Group world_group, dgroup; - int intersize, dnprocs[DCOMM_CALL_COUNT], drank[DCOMM_CALL_COUNT]; - int dims[TWOD], periods[TWOD], remain_dims[TWOD]; - int graph_index[] = { 2, 3, 4, 6 }; - int graph_edges[] = { 1, 3, 0, 3, 0, 2 }; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* probably want number to be higher... */ - if (nprocs < 4) { - printf ("not enough tasks\n"); - } - else { - if (DCOMM_CALL_COUNT > 0) { -#ifdef RUN_COMM_DUP - /* create all of the derived communicators... */ - /* simplest is created by MPI_Comm_dup... */ - MPI_Comm_dup (MPI_COMM_WORLD, &dcomms[0]); -#else - dcomms[0] = MPI_COMM_NULL; -#endif - } - - if (DCOMM_CALL_COUNT > 1) { -#ifdef RUN_COMM_CREATE - /* use subset of MPI_COMM_WORLD group for MPI_Comm_create... */ - MPI_Comm_group (MPI_COMM_WORLD, &world_group); - granks = (int *) malloc (sizeof(int) * (nprocs/2)); - for (i = 0; i < nprocs/2; i++) - granks [i] = 2 * i; - MPI_Group_incl (world_group, nprocs/2, granks, &dgroup); - MPI_Comm_create (MPI_COMM_WORLD, dgroup, &dcomms[1]); - MPI_Group_free (&world_group); - MPI_Group_free (&dgroup); - free (granks); -#else - dcomms[1] = MPI_COMM_NULL; -#endif - } - - if (DCOMM_CALL_COUNT > 2) { -#ifdef RUN_COMM_SPLIT - /* split into thirds with inverted ranks... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &dcomms[2]); -#else - dcomms[2] = MPI_COMM_NULL; -#endif - } - -#ifdef RUN_INTERCOMM_CREATE - if ((DCOMM_CALL_COUNT < 2) || (dcomms[2] == MPI_COMM_NULL)) { - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &temp); - } - else { - temp = dcomms[2]; - } - if (rank % 3) { - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); - } - if ((DCOMM_CALL_COUNT < 2) || (dcomms[2] == MPI_COMM_NULL)) { - MPI_Comm_free (&temp); - } -#endif - - if (DCOMM_CALL_COUNT > 3) { -#ifdef RUN_CART_CREATE - /* create a 2 X nprocs/2 torus topology, allow reordering */ - dims[0] = 2; - dims[1] = nprocs/2; - periods[0] = periods[1] = 1; - MPI_Cart_create (MPI_COMM_WORLD, TWOD, dims, periods, 1, &dcomms[3]); -#else - dcomms[3] = MPI_COMM_NULL; -#endif - } - - if (DCOMM_CALL_COUNT > 4) { -#ifdef RUN_GRAPH_CREATE - /* create the graph on p.268 MPI: The Complete Reference... */ - MPI_Graph_create (MPI_COMM_WORLD, GRAPH_SZ, - graph_index, graph_edges, 1, &dcomms[4]); -#else - dcomms[4] = MPI_COMM_NULL; -#endif - } - - if (DCOMM_CALL_COUNT > 5) { -#ifdef RUN_CART_SUB -#ifndef RUN_CART_CREATE - /* need to make cartesian communicator temporarily... */ - /* create a 2 X nprocs/2 torus topology, allow reordering */ - dims[0] = 2; - dims[1] = nprocs/2; - periods[0] = periods[1] = 1; - MPI_Cart_create (MPI_COMM_WORLD, TWOD, dims, periods, 1, &dcomms[3]); -#endif - if (dcomms[3] != MPI_COMM_NULL) { - /* create 2 1 X nprocs/2 topologies... */ - remain_dims[0] = 0; - remain_dims[1] = 1; - MPI_Cart_sub (dcomms[3], remain_dims, &dcomms[5]); -#ifndef RUN_CART_CREATE - /* free up temporarily created cartesian communicator... */ - MPI_Comm_free (&dcomms[3]); -#endif - } - else { - dcomms[5] = MPI_COMM_NULL; - } -#else - dcomms[5] = MPI_COMM_NULL; -#endif - } - - if (DCOMM_CALL_COUNT > 6) { -#ifdef RUN_INTERCOMM_MERGE -#ifndef RUN_INTERCOMM_CREATE -#ifndef RUN_COMM_SPLIT - /* need to make split communicator temporarily... */ - /* split into thirds with inverted ranks... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &dcomms[2]); -#endif -#endif - /* create an intercommunicator and merge it... */ - if (rank % 3) { -#ifndef RUN_INTERCOMM_CREATE - MPI_Intercomm_create (dcomms[2], 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); -#endif - - MPI_Intercomm_merge (intercomm, ((rank % 3) == 1), &dcomms[6]); - -#ifndef RUN_INTERCOMM_CREATE - /* we are done with intercomm... */ - MPI_Comm_free (&intercomm); -#endif - } - else { - dcomms[6] = MPI_COMM_NULL; - } -#ifndef RUN_INTERCOMM_CREATE -#ifndef RUN_COMM_SPLIT - if (dcomms[2] != MPI_COMM_NULL) - /* free up temporarily created split communicator... */ - MPI_Comm_free (&dcomms[2]); -#endif -#endif -#else - dcomms[6] = MPI_COMM_NULL; -#endif - } - - /* get all of the sizes and ranks... */ - for (i = 0; i < DCOMM_CALL_COUNT; i++) { - if (dcomms[i] != MPI_COMM_NULL) { - MPI_Comm_size (dcomms[i], &dnprocs[i]); - MPI_Comm_rank (dcomms[i], &drank[i]); - } - else { - dnprocs[i] = 0; - drank[i] = -1; - } - } - -#ifdef RUN_INTERCOMM_CREATE - /* get the intercomm remote size... */ - if (rank % 3) { - MPI_Comm_remote_size (intercomm, &intersize); - } -#endif - - /* do some point to point on all of the dcomms... */ - for (i = 0; i < DCOMM_CALL_COUNT; i++) { - if (dnprocs[i] > 1) { - if (drank[i] == 0) { - for (j = 1; j < dnprocs[i]; j++) { - MPI_Recv (buf, buf_size, MPI_INT, j, 0, dcomms[i], &status); - } - } - else { - memset (buf, 1, buf_size*sizeof(int)); - - MPI_Send (buf, buf_size, MPI_INT, 0, 0, dcomms[i]); - } - } - } - -#ifdef RUN_INTERCOMM_CREATE - /* do some point to point on the intercomm... */ - if ((rank % 3) == 1) { - for (j = 0; j < intersize; j++) { - MPI_Recv (buf, buf_size, MPI_INT, j, 0, intercomm, &status); - } - } - else if ((rank % 3) == 2) { - for (j = 0; j < intersize; j++) { - memset (buf, 1, buf_size*sizeof(int)); - - MPI_Send (buf, buf_size, MPI_INT, j, 0, intercomm); - } - } -#endif - - /* do a bcast on all of the dcomms... */ - for (i = 0; i < DCOMM_CALL_COUNT; i++) { - /* IBM's implementation gets error with comm over MPI_COMM_NULL... */ - if (dnprocs[i] > 0) - MPI_Bcast (buf, buf_size, MPI_INT, 0, dcomms[i]); - } - - /* use any source receives... */ - for (i = 0; i < DCOMM_CALL_COUNT; i++) { - if (dnprocs[i] > 1) { - if (drank[i] == 0) { - for (j = 1; j < dnprocs[i]; j++) { - MPI_Recv (buf, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, dcomms[i], &status); - } - } - else { - memset (buf, 1, buf_size*sizeof(int)); - - MPI_Send (buf, buf_size, MPI_INT, 0, 0, dcomms[i]); - } - } - } - -#ifdef RUN_INTERCOMM_CREATE - /* do any source receives on the intercomm... */ - if ((rank % 3) == 1) { - for (j = 0; j < intersize; j++) { - MPI_Recv (buf, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, intercomm, &status); - } - } - else if ((rank % 3) == 2) { - for (j = 0; j < intersize; j++) { - memset (buf, 1, buf_size*sizeof(int)); - - MPI_Send (buf, buf_size, MPI_INT, j, 0, intercomm); - } - } -#endif - - /* do a barrier on all of the dcomms... */ - for (i = 0; i < DCOMM_CALL_COUNT; i++) { - /* IBM's implementation gets with communication over MPI_COMM_NULL... */ - if (dnprocs[i] > 0) - MPI_Barrier (dcomms[i]); - } - - /* free all of the derived communicators... */ - for (i = 0; i < DCOMM_CALL_COUNT; i++) { - /* freeing MPI_COMM_NULL is explicitly defined as erroneous... */ - if (dnprocs[i] > 0) - MPI_Comm_free (&dcomms[i]); - } - -#ifdef RUN_INTERCOMM_CREATE - if (rank % 3) - /* we are done with intercomm... */ - MPI_Comm_free (&intercomm); -#endif - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-interleaved-isend.c b/teshsuite/smpi/isp/umpire/no-error-interleaved-isend.c deleted file mode 100644 index 4b534685f1..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-interleaved-isend.c +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ -/* no-error-interleaved-isend.c - use isends with vector type */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-interleaved-isend.c,v 1.2 2002/06/07 20:41:22 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[buf_size]; - int i; - MPI_Request req; - MPI_Status status; - MPI_Datatype strided_type; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Type_vector (buf_size/2, 1, 2, MPI_INT, &strided_type); - MPI_Type_commit (&strided_type); - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank < 2) - { - for (i = rank; i < buf_size; i = i + 2) - buf[i] = i; - - MPI_Isend (&buf[rank], 1, - strided_type, (rank + 1) % 2, 0, comm, &req); - - MPI_Recv (&buf[(rank + 1) % 2], 1, - strided_type, (rank + 1) % 2, 0, comm, &status); - - MPI_Wait (&req, &status); - - for (i = 0; i < buf_size; i++) - assert (buf[i] == i); - } - - MPI_Barrier(MPI_COMM_WORLD); - - MPI_Type_free (&strided_type); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-persistent-all-completions.c b/teshsuite/smpi/isp/umpire/no-error-persistent-all-completions.c deleted file mode 100644 index 0b05874378..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-persistent-all-completions.c +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-persistent-all-completions.c,v 1.1 2002/01/14 18:58:06 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define BUF_SIZE 128 -#define NUM_COMPLETION_MECHANISMS 8 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2]; - int i, j, k, index, outcount, flag; - int indices[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (&buf[0], BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (i = 0; i < BUF_SIZE; i++) { - buf[i] = i; - buf[BUF_SIZE + i] = BUF_SIZE - 1 - i; - } - } - - for (k = 0; k < (NUM_COMPLETION_MECHANISMS * 2); k++) { - if (rank == 1) { - /* zero out the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (2, &aReq[0]); - } - else { - for (j = 0; j < 2; j++) { - MPI_Start (&aReq[j]); - } - } - - /* complete the sends */ - switch (k/2) { - case 0: - /* use MPI_Wait */ - for (j = 0; j < 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - break; - - case 1: - /* use MPI_Waitall */ - MPI_Waitall (2, aReq, aStatus); - break; - - case 2: - /* use MPI_Waitany */ - for (j = 0; j < 2; j++) { - MPI_Waitany (2, aReq, &index, aStatus); - } - break; - - case 3: - /* use MPI_Waitsome */ - j = 0; - while (j < 2) { - MPI_Waitsome (2, aReq, &outcount, indices, aStatus); - j += outcount; - } - break; - - case 4: - /* use MPI_Test */ - for (j = 0; j < 2; j++) { - flag = 0; - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - break; - - case 5: - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (2, aReq, &flag, aStatus); - } - break; - - case 6: - /* use MPI_Testany */ - for (j = 0; j < 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (2, aReq, &index, &flag, aStatus); - } - } - break; - - case 7: - /* use MPI_Testsome */ - j = 0; - while (j < 2) { - outcount = 0; - while (!outcount) { - MPI_Testsome (2, aReq, &outcount, indices, aStatus); - } - j += outcount; - } - break; - - default: - assert (0); - break; - } - } - else if (rank == 1) { - /* set up receives for all of the sends */ - for (j = 0; j < 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], BUF_SIZE, - MPI_INT, 0, j, comm, &aReq[j]); - } - /* complete all of the receives... */ - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent requests */ - for (i = 0 ; i < 2; i++) { - MPI_Request_free (&aReq[i]); - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-persistent-test.c b/teshsuite/smpi/isp/umpire/no-error-persistent-test.c deleted file mode 100644 index c8ac0d924f..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-persistent-test.c +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-persistent-test.c,v 1.1 2002/01/14 18:58:07 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define BUF_SIZE 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2]; - int i, j, k, index, outcount, flag; - int indices[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (&buf[0], BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (i = 0; i < BUF_SIZE; i++) { - buf[i] = i; - buf[BUF_SIZE + i] = BUF_SIZE - 1 - i; - } - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (2, &aReq[0]); - } - else { - for (j = 0; j < 2; j++) { - MPI_Start (&aReq[j]); - } - } - - /* complete the sends */ - if (k < 2) { - /* use MPI_Test */ - for (j = 0; j < 2; j++) { - flag = 0; - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - } - else { - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (2, aReq, &flag, aStatus); - } - } - } - else if (rank == 1) { - /* set up receives for all of the sends */ - for (j = 0; j < 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], BUF_SIZE, - MPI_INT, 0, j, comm, &aReq[j]); - } - /* complete all of the receives... */ - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent requests */ - for (i = 0 ; i < 2; i++) { - MPI_Request_free (&aReq[i]); - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-persistent-testpartial.c b/teshsuite/smpi/isp/umpire/no-error-persistent-testpartial.c deleted file mode 100644 index 7d5fd62138..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-persistent-testpartial.c +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis de Supinski (bronis@llnl.gov) */ -/* no-error-testpartial.c -- persistent requests and testany/testsome */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-persistent-testpartial.c,v 1.2 2002/07/30 21:34:43 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define BUF_SIZE 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2]; - int i, j, k, index, outcount, flag; - int indices[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (&buf[0], BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (i = 0; i < BUF_SIZE; i++) { - buf[i] = i; - buf[BUF_SIZE + i] = BUF_SIZE - 1 - i; - } - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (2, &aReq[0]); - } - else { - for (j = 0; j < 2; j++) { - MPI_Start (&aReq[j]); - } - } - - /* complete the sends */ - if (k < 2) { - /* use MPI_Testany */ - for (j = 0; j < 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (2, aReq, &index, &flag, aStatus); - } - } - } - else { - /* use MPI_Testsome */ - j = 0; - while (j < 2) { - outcount = 0; - while (!outcount) { - MPI_Testsome (2, aReq, &outcount, indices, aStatus); - } - j += outcount; - } - } - } - else if (rank == 1) { - /* set up receives for all of the sends */ - for (j = 0; j < 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], BUF_SIZE, - MPI_INT, 0, j, comm, &aReq[j]); - } - /* complete all of the receives... */ - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent requests */ - for (i = 0 ; i < 2; i++) { - MPI_Request_free (&aReq[i]); - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-persistent-waitpartial.c b/teshsuite/smpi/isp/umpire/no-error-persistent-waitpartial.c deleted file mode 100644 index f8abc6b637..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-persistent-waitpartial.c +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-persistent-waitpartial.c,v 1.1 2002/01/15 23:55:08 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define BUF_SIZE 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2]; - int i, j, k, index, outcount, flag; - int indices[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (&buf[0], BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (i = 0; i < BUF_SIZE; i++) { - buf[i] = i; - buf[BUF_SIZE + i] = BUF_SIZE - 1 - i; - } - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (2, &aReq[0]); - } - else { - for (j = 0; j < 2; j++) { - MPI_Start (&aReq[j]); - } - } - - /* complete the sends */ - if (k < 2) { - /* use MPI_Waitany */ - for (j = 0; j < 2; j++) - MPI_Waitany (2, aReq, &index, aStatus); - } - else { - /* use MPI_Waitsome */ - j = 0; - while (j < 2) { - MPI_Waitsome (2, aReq, &outcount, indices, aStatus); - j += outcount; - } - } - } - else if (rank == 1) { - /* set up receives for all of the sends */ - for (j = 0; j < 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], BUF_SIZE, - MPI_INT, 0, j, comm, &aReq[j]); - } - /* complete all of the receives... */ - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent requests */ - for (i = 0 ; i < 2; i++) { - MPI_Request_free (&aReq[i]); - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-persistent.c b/teshsuite/smpi/isp/umpire/no-error-persistent.c deleted file mode 100644 index e9fe2a6d57..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-persistent.c +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (j-vetter@llnl.gov) Mon Nov 1 1999 */ -/* lost-request.c -- overwrite a request and essentially lose a synch point */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-persistent.c,v 1.1 2002/01/14 18:58:07 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define BUF_SIZE 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2]; - int i, j, k, index, outcount, flag; - int indices[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (&buf[0], BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (i = 0; i < BUF_SIZE; i++) { - buf[i] = i; - buf[BUF_SIZE + i] = BUF_SIZE - 1 - i; - } - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (2, &aReq[0]); - } - else { - for (j = 0; j < 2; j++) { - MPI_Start (&aReq[j]); - } - } - - /* complete the sends */ - if (k < 2) - /* use MPI_Wait */ - for (j = 0; j < 2; j++) - MPI_Wait (&aReq[j], &aStatus[j]); - else - /* use MPI_Waitall */ - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - /* set up receives for all of the sends */ - for (j = 0; j < 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], BUF_SIZE, - MPI_INT, 0, j, comm, &aReq[j]); - } - /* complete all of the receives... */ - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent requests */ - for (i = 0 ; i < 2; i++) { - MPI_Request_free (&aReq[i]); - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-probe-any_src.c b/teshsuite/smpi/isp/umpire/no-error-probe-any_src.c deleted file mode 100644 index a40c21c463..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-probe-any_src.c +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Wed Oct 30 2002 */ -/* no-error-probe-any_src.c -- do some MPI calls without any errors */ -/* adapted from MPI The Complete Reference, p. 77... */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i, j; - double x; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* use probe to guarantee msg has arrived when blocking recv is called */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - i = 0; - - MPI_Send (&i, 1, MPI_INT, 2, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - x = 1.0; - - MPI_Send (&x, 1, MPI_DOUBLE, 2, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - for (j = 0; j < 2; j++) { - MPI_Probe (MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - if (status.MPI_SOURCE == 0) - MPI_Recv (&i, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - else - MPI_Recv (&x, 1, MPI_DOUBLE, 1, 0, MPI_COMM_WORLD, &status); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-probe-any_tag.c b/teshsuite/smpi/isp/umpire/no-error-probe-any_tag.c deleted file mode 100644 index 4bfc777a3a..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-probe-any_tag.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Wed Oct 30 2002 */ -/* no-error-probe-any_tag.c -- do some MPI calls without any errors */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i, j; - double x; - MPI_Status status; - MPI_Request req0, req1; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* use probe to guarantee msg has arrived when blocking recv is called */ - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - i = 0; - x = 1.0; - - MPI_Isend (&i, 1, MPI_INT, 1, 0, MPI_COMM_WORLD, &req0); - - MPI_Isend (&x, 1, MPI_DOUBLE, 1, 1, MPI_COMM_WORLD, &req1); - - MPI_Wait (&req1, &status); - - MPI_Wait (&req0, &status); - } - else if (rank == 1) - { - for (j = 0; j < 2; j++) { - MPI_Probe (0, MPI_ANY_TAG, MPI_COMM_WORLD, &status); - - if (status.MPI_TAG == 0) - MPI_Recv (&i, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - else - MPI_Recv (&x, 1, MPI_DOUBLE, 0, 1, MPI_COMM_WORLD, &status); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-probe.c b/teshsuite/smpi/isp/umpire/no-error-probe.c deleted file mode 100644 index ee5d4ec9f7..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-probe.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Jan 3 2002 */ -/* no-error-probe.c -- do some MPI calls without any errors */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i, j; - double x; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - i = 0; - - MPI_Send (&i, 1, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Probe (1, 0, MPI_COMM_WORLD, &status); - - MPI_Recv (&x, 1, MPI_DOUBLE, 1, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - x = 1.0; - - MPI_Probe (0, 0, MPI_COMM_WORLD, &status); - - MPI_Recv (&i, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (&x, 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-test.c b/teshsuite/smpi/isp/umpire/no-error-test.c deleted file mode 100644 index 8622177d7a..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-test.c +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int flag = 0; - MPI_Status status; - MPI_Request req; - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &req); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - while (!flag) - MPI_Test (&req, &flag, &status); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &req); - - while (!flag) - MPI_Test (&req, &flag, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-testall.c b/teshsuite/smpi/isp/umpire/no-error-testall.c deleted file mode 100644 index 9d8c31d455..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-testall.c +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error-testall.c -- use MPI_Testall without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int flag = 0; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[1]); - - while (!flag) - MPI_Testall (2, reqs, &flag, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - while (!flag) - MPI_Testall (2, reqs, &flag, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - } - else if (rank == 2) - { - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-testany.c b/teshsuite/smpi/isp/umpire/no-error-testany.c deleted file mode 100644 index dc3422ba07..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-testany.c +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error-waitany.c -- do some MPI calls without any errors */ - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int buf2[buf_size]; - int i, flipbit, done, flag; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Request reqs[3]; - - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, &reqs[0]); - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 2, MPI_COMM_WORLD, &reqs[1]); - MPI_Irecv (buf2, buf_size, MPI_INT, 1, 3, MPI_COMM_WORLD, &reqs[2]); - - for (i = 3; i > 0; i--) { - MPI_Send (&flipbit, 1, MPI_INT, 1, i, MPI_COMM_WORLD); - - flag = 0; - printf("req = %p", reqs); - while (!flag) - MPI_Testany (i, reqs, &done, &flag, &status); - - assert (done == (i - 1)); - } - } - else if (rank == 1) - { - memset (buf0, 1, buf_size*sizeof(int)); - - for (i = 3; i > 0; i--) { - MPI_Recv (&flipbit, 1, MPI_INT, 0, i, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 0, i, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-vector-isend.c b/teshsuite/smpi/isp/umpire/no-error-vector-isend.c deleted file mode 100644 index a3a86216b4..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-vector-isend.c +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ -/* no-error-vector-isend.c - use isend with vector type; touch holes */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/no-error-vector-isend.c,v 1.1 2002/06/07 20:41:22 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[buf_size]; - int i; - MPI_Request req; - MPI_Status status; - MPI_Datatype strided_type; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Type_vector (buf_size/2, 1, 2, MPI_INT, &strided_type); - MPI_Type_commit (&strided_type); - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - for (i = 0; i < buf_size; i = i + 2) - buf[i] = i; - - MPI_Isend (&buf[rank], 1, strided_type, (rank + 1) % 2, 0, comm, &req); - - for (i = 1; i < buf_size; i = i + 2) - buf[i] = i; - - MPI_Wait (&req, &status); - - for (i = 0; i < buf_size; i++) - assert (buf[i] == i); - } - else if (rank == 1) { - for (i = 1; i < buf_size; i = i + 2) - buf[i] = i; - - MPI_Recv (&buf[(rank + 1) % 2], 1, - strided_type, (rank + 1) % 2, 0, comm, &status); - - for (i = 0; i < buf_size; i++) - assert (buf[i] == i); - } - - MPI_Barrier(MPI_COMM_WORLD); - - MPI_Type_free (&strided_type); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-wait-any_src.c b/teshsuite/smpi/isp/umpire/no-error-wait-any_src.c deleted file mode 100644 index ee2e2aea08..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-wait-any_src.c +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Wait (&req, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-wait-any_src2.c b/teshsuite/smpi/isp/umpire/no-error-wait-any_src2.c deleted file mode 100644 index de167a3fcf..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-wait-any_src2.c +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 1, MPI_COMM_WORLD, &req); - - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-wait-any_src3.c b/teshsuite/smpi/isp/umpire/no-error-wait-any_src3.c deleted file mode 100644 index 70bdf9c1a4..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-wait-any_src3.c +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 -#define NUMREPS 3 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int i; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - MPI_Barrier (MPI_COMM_WORLD); - - if (NUMREPS < 1) - { - printf ("not enough repetitions\n"); - } - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - for (i = 0; i < NUMREPS; i++) { - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - } - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &req); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - for (i = 0; i < NUMREPS-1; i++) { - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - } - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Wait (&req, &status); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-wait-any_src4.c b/teshsuite/smpi/isp/umpire/no-error-wait-any_src4.c deleted file mode 100644 index 52b39a135b..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-wait-any_src4.c +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Wait (reqs, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - - MPI_Wait (&reqs[1], statuses); - } - else if (rank == 2) - { - //sleep (60); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-wait.c b/teshsuite/smpi/isp/umpire/no-error-wait.c deleted file mode 100644 index 057523cf59..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-wait.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &req); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Wait (&req, &status); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &req); - - MPI_Wait (&req, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-wait2.c b/teshsuite/smpi/isp/umpire/no-error-wait2.c deleted file mode 100644 index 1744416b7f..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-wait2.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error-wait2.c -- do some MPI calls without any errors */ -/* use assignment of handles to confuse address checking */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req, req2; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &req); - - req2 = req; - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Wait (&req2, &status, i); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &req); - - req2 = req; - - MPI_Wait (&req2, &status, i); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitall-any_src.c b/teshsuite/smpi/isp/umpire/no-error-waitall-any_src.c deleted file mode 100644 index d3125b3988..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitall-any_src.c +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* the following code is "correct although its result */ - /* is non-deterministic - in task 0, either buf0 will */ - /* hold result of memset to 0 and buf1 will hold result */ - /* of memset to 1 or buf0 will hold result of memset to */ - /* 1 and buf1 will hold result of memset to 0; in task 1, */ - /* buf1 will mirror task 0 buf1 result while, in task 2, */ - /* buf0 will mirror task 0 buf0 result; thus buf0 may */ - /* be equal to buf1 in tasks 1 and 2 or it may not... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - - MPI_Send (buf0, buf_size, MPI_INT, 2, 2, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 2, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitall-any_src2.c b/teshsuite/smpi/isp/umpire/no-error-waitall-any_src2.c deleted file mode 100644 index b886746b2a..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitall-any_src2.c +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - //sleep (60); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitall-any_src3.c b/teshsuite/smpi/isp/umpire/no-error-waitall-any_src3.c deleted file mode 100644 index 53e97855e9..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitall-any_src3.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - } - else if (rank == 2) - { - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitall.c b/teshsuite/smpi/isp/umpire/no-error-waitall.c deleted file mode 100644 index d341c7e797..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitall.c +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - } - else if (rank == 2) - { - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitany-any_src.c b/teshsuite/smpi/isp/umpire/no-error-waitany-any_src.c deleted file mode 100644 index d3a584acea..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitany-any_src.c +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error-waitany.c -- do some MPI calls without any errors */ - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int buf2[buf_size]; - int i, flipbit, done; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Request reqs[3]; - - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 1, MPI_COMM_WORLD, &reqs[0]); - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 2, MPI_COMM_WORLD, &reqs[1]); - MPI_Irecv (buf2, buf_size, MPI_INT, - MPI_ANY_SOURCE, 3, MPI_COMM_WORLD, &reqs[2]); - - for (i = 3; i > 0; i--) { - MPI_Send (&flipbit, 1, MPI_INT, 1, i, MPI_COMM_WORLD); - - MPI_Waitany (i, reqs, &done, &status); - - assert (done == (i - 1)); - } - } - else if (rank == 1) - { - memset (buf0, 1, buf_size*sizeof(int)); - - for (i = 3; i > 0; i--) { - MPI_Recv (&flipbit, 1, MPI_INT, - MPI_ANY_SOURCE, i, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 0, i, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitany-any_src2.c b/teshsuite/smpi/isp/umpire/no-error-waitany-any_src2.c deleted file mode 100644 index f4b58f0c5b..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitany-any_src2.c +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int done; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to any_src-waitall-deadlock.c */ - /* but eliminates the deadlock by using MPI_Waitany... */ - /* also very similar to no-error-waitall-any_src.c but */ - /* this code is deterministic; buf0 holds result of */ - /* memset to 0 and buf1 holds the result of memset to */ - /* in all three tasks since must match the first Irecv first... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitany (2, reqs, &done, &status); - - assert (done == 0); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - - MPI_Send (buf0, buf_size, MPI_INT, 2, 2, MPI_COMM_WORLD); - - MPI_Wait (&reqs[1], &status); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, &status); - } - else if (rank == 2) - { - MPI_Recv (buf0, buf_size, MPI_INT, 0, 2, MPI_COMM_WORLD, &status); - - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitany-any_src3.c b/teshsuite/smpi/isp/umpire/no-error-waitany-any_src3.c deleted file mode 100644 index 21defbc859..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitany-any_src3.c +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int done; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitany (2, reqs, &done, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - - MPI_Wait (&reqs[(done + 1) % 2], statuses); - } - else if (rank == 2) - { - sleep (60); - - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitany.c b/teshsuite/smpi/isp/umpire/no-error-waitany.c deleted file mode 100644 index 9ac0495dd1..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitany.c +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error-waitany.c -- do some MPI calls without any errors */ - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int buf2[buf_size]; - int i, flipbit, done; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Request reqs[3]; - - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, &reqs[0]); - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 2, MPI_COMM_WORLD, &reqs[1]); - MPI_Irecv (buf2, buf_size, MPI_INT, 1, 3, MPI_COMM_WORLD, &reqs[2]); - - for (i = 3; i > 0; i--) { - MPI_Send (&flipbit, 1, MPI_INT, 1, i, MPI_COMM_WORLD); - - MPI_Waitany (i, reqs, &done, &status); - - assert (done == (i - 1)); - } - } - else if (rank == 1) - { - memset (buf0, 1, buf_size*sizeof(int)); - - for (i = 3; i > 0; i--) { - MPI_Recv (&flipbit, 1, MPI_INT, 0, i, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 0, i, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error-waitany2.c b/teshsuite/smpi/isp/umpire/no-error-waitany2.c deleted file mode 100644 index 9ca6b79577..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error-waitany2.c +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Mon Jan 21 2003 */ -/* no-error-waitany2.c -- test behavior with MPI_Waitany & MPI_REQUEST_NULL */ - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int buf2[buf_size]; - int i, flipbit, done; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Request reqs[3]; - - /* first just try MPI_Waitany on explicit MPI_REQUEST_NULL set... */ - reqs[0] = reqs[1] = reqs[2] = MPI_REQUEST_NULL; - - MPI_Waitany (3, reqs, &done, &status); - - assert (done < 0); - - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, &reqs[0]); - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 2, MPI_COMM_WORLD, &reqs[1]); - MPI_Irecv (buf2, buf_size, MPI_INT, 1, 3, MPI_COMM_WORLD, &reqs[2]); - - for (i = 3; i >= 0; i--) { - MPI_Send (&flipbit, 1, MPI_INT, 1, i, MPI_COMM_WORLD); - - MPI_Waitany (3, reqs, &done, &status); -printf ("Done = %d\n", done); - - if (i > 0) { - assert (done == (i - 1)); - } - else { - assert (done < 0); - } - } - } - else if (rank == 1) - { - memset (buf0, 1, buf_size*sizeof(int)); - - for (i = 3; i >= 0; i--) { - MPI_Recv (&flipbit, 1, MPI_INT, 0, i, MPI_COMM_WORLD, &status); - - if (i > 0) { - MPI_Send (buf0, buf_size, MPI_INT, 0, i, MPI_COMM_WORLD); - } - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error.c b/teshsuite/smpi/isp/umpire/no-error.c deleted file mode 100644 index 0891d5298d..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error.c +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else - { - if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, 1, 0, - buf1, buf_size, MPI_INT, 1, 0, - MPI_COMM_WORLD, &status); - - MPI_Sendrecv (buf1, buf_size, MPI_INT, 1, 0, - buf0, buf_size, MPI_INT, 1, 0, - MPI_COMM_WORLD, &status); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, 1, 0, - buf1, buf_size, MPI_INT, 1, 0, - MPI_COMM_WORLD, &status); - } - else - { - if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Sendrecv (buf1, buf_size, MPI_INT, 0, 0, - buf0, buf_size, MPI_INT, 0, 0, - MPI_COMM_WORLD, &status); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, 0, 0, - buf1, buf_size, MPI_INT, 0, 0, - MPI_COMM_WORLD, &status); - - MPI_Sendrecv (buf1, buf_size, MPI_INT, 0, 0, - buf0, buf_size, MPI_INT, 0, 0, - MPI_COMM_WORLD, &status); - } - } - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error2.c b/teshsuite/smpi/isp/umpire/no-error2.c deleted file mode 100644 index a323019f04..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error2.c +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error2.c -- do some MPI calls without any errors */ -/* unlike no-error.c, this uses a raing and calls MPI_Barrier... */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int src, dest; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - src = (rank + 1) % nprocs; - dest = (rank - 1 + nprocs) % nprocs; - - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, dest, 0, - buf1, buf_size, MPI_INT, src, 0, MPI_COMM_WORLD, &status); - - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Sendrecv (buf1, buf_size, MPI_INT, src, 0, - buf0, buf_size, MPI_INT, dest, 0, MPI_COMM_WORLD, &status); - - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, dest, 0, - buf1, buf_size, MPI_INT, src, 0, MPI_COMM_WORLD, &status); - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error3-any_src.c b/teshsuite/smpi/isp/umpire/no-error3-any_src.c deleted file mode 100644 index 3562abd0ce..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error3-any_src.c +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* no-error3.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, 1, 0, - buf1, buf_size, MPI_INT, MPI_ANY_SOURCE, 0, - MPI_COMM_WORLD, &status); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error3.c b/teshsuite/smpi/isp/umpire/no-error3.c deleted file mode 100644 index 2ed4e13e0a..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error3.c +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* no-error3.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, 1, 0, - buf1, buf_size, MPI_INT, 1, 0, - MPI_COMM_WORLD, &status); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error4-any_src.c b/teshsuite/smpi/isp/umpire/no-error4-any_src.c deleted file mode 100644 index c0ab9fcdef..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error4-any_src.c +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* no-error3.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send_init (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Recv_init (buf1, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv_init (buf0, buf_size, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Send_init (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf1, 0, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Request_free (&aReq[0]); - MPI_Request_free (&aReq[1]); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/no-error4.c b/teshsuite/smpi/isp/umpire/no-error4.c deleted file mode 100644 index a1a2593ea8..0000000000 --- a/teshsuite/smpi/isp/umpire/no-error4.c +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* no-error3.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send_init (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Recv_init (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv_init (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Send_init (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf1, 0, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Request_free (&aReq[0]); - MPI_Request_free (&aReq[1]); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/op-no-error.c b/teshsuite/smpi/isp/umpire/op-no-error.c deleted file mode 100644 index 41d5864c04..0000000000 --- a/teshsuite/smpi/isp/umpire/op-no-error.c +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* op-no-error.c -- construct some MPI_Ops and free them */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/op-no-error.c,v 1.1 2002/05/29 16:09:50 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -/* construct multiple instances of same op to exercise more Umpire code... */ -#define OP_COUNT 5 - - -typedef struct { - double real, imag; -} Complex; - -void -myProd (void *inp, void *inoutp, int *len, MPI_Datatype *dptr) -{ - int i; - Complex c; - Complex *in = (Complex *) inp; - Complex *inout = (Complex *) inoutp; - - for (i =0; i < *len; ++i) { - c.real = inout->real*in->real - inout->imag*in->imag; - c.imag = inout->real*in->imag + inout->imag*in->real; - *inout = c; - in++; inout++; - } - - return; -} - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Op newop[OP_COUNT]; - MPI_Op newop2[OP_COUNT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - for (i = 0; i < OP_COUNT; i++) - MPI_Op_create (myProd, 1, &newop[i]); - - for (i = 0; i < OP_COUNT; i++) - MPI_Op_free (&newop[i]); - - MPI_Barrier (comm); - - /* now with an alias... */ - for (i = 0; i < OP_COUNT; i++) - MPI_Op_create (myProd, 1, &newop[i]); - - for (i = 0; i < OP_COUNT; i++) { - newop2[i] = newop[i]; - MPI_Op_free (&newop2[i]); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/op-no-free.c b/teshsuite/smpi/isp/umpire/op-no-free.c deleted file mode 100644 index 40e31e623a..0000000000 --- a/teshsuite/smpi/isp/umpire/op-no-free.c +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* op-no-free.c -- construct some MPI_Ops without freeing them */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/op-no-free.c,v 1.1 2002/05/29 16:09:50 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -/* construct multiple instances of same op to exercise more Umpire code... */ -#define OP_COUNT 5 - - -typedef struct { - double real, imag; -} Complex; - -void -myProd (void *inp, void *inoutp, int *len, MPI_Datatype *dptr) -{ - int i; - Complex c; - Complex *in = (Complex *) inp; - Complex *inout = (Complex *) inoutp; - - for (i =0; i < *len; ++i) { - c.real = inout->real*in->real - inout->imag*in->imag; - c.imag = inout->real*in->imag + inout->imag*in->real; - *inout = c; - in++; inout++; - } - - return; -} - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - int i; - char processor_name[128]; - int namelen = 128; - MPI_Op newop[OP_COUNT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - for (i = 0; i < OP_COUNT; i++) - MPI_Op_create (myProd, 1, &newop[i]); - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/partial-recv-exhaustive.c b/teshsuite/smpi/isp/umpire/partial-recv-exhaustive.c deleted file mode 100644 index 151755001d..0000000000 --- a/teshsuite/smpi/isp/umpire/partial-recv-exhaustive.c +++ /dev/null @@ -1,402 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Oct 17, 2002 */ -/* partial-recv-exhaustive.c -- do lots pt-2-pt ops w/oversized recv bufs */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/partial-recv-exhaustive.c,v 1.1 2002/10/24 17:04:56 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -#define BUF_SIZE 128 -#define NUM_SEND_TYPES 8 -#define NUM_PERSISTENT_SEND_TYPES 4 -#define NUM_BSEND_TYPES 2 -#define NUM_COMPLETION_MECHANISMS 8 -#define NUM_RECV_TYPES 2 -#define SLOP 128 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int bbuf[(BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES]; - int buf[BUF_SIZE * 2 * NUM_SEND_TYPES + SLOP]; - int i, j, k, l, m, at_size, send_t_number, index, outcount, total, flag; - int num_errors, error_count, indices[2 * NUM_SEND_TYPES]; - MPI_Request aReq[2 * NUM_SEND_TYPES]; - MPI_Status aStatus[2 * NUM_SEND_TYPES]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Buffer_attach (bbuf, sizeof(int) * - (BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES); - - if (rank == 0) { - /* set up persistent sends... */ - send_t_number = NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES; - - MPI_Send_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Send_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Bsend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Bsend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - - send_t_number++; - - MPI_Rsend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Rsend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Ssend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Ssend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - } - - for (m = 0; m < NUM_RECV_TYPES; m++) { - if ((m == 1) && (rank == 1)) { - /* set up the persistent receives... */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Recv_init (&buf[j * BUF_SIZE], - BUF_SIZE + (j % 2) * SLOP, - MPI_INT, 0, j, comm, &aReq[j]); - } - } - - for (l = 0; l < (NUM_COMPLETION_MECHANISMS * 2); l++) { - for (k = 0; k < (NUM_COMPLETION_MECHANISMS * 2); k++) { - if (rank == 0) { - /* initialize all of the send buffers */ - for (j = 0; j < NUM_SEND_TYPES; j++) { - for (i = 0; i < BUF_SIZE; i++) { - buf[2 * j * BUF_SIZE + i] = i; - buf[((2 * j + 1) * BUF_SIZE) + i] = BUF_SIZE - 1 - i; - } - } - } - else if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 * NUM_SEND_TYPES); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* set up transient sends... */ - send_t_number = 0; - - MPI_Isend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Isend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Ibsend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Ibsend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - - MPI_Irsend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Irsend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Issend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Issend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - /* just to be paranoid */ - send_t_number++; - assert (send_t_number == - NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES); - - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (NUM_PERSISTENT_SEND_TYPES * 2, - &aReq[2 * send_t_number]); - } - else { - for (j = 0; j < NUM_PERSISTENT_SEND_TYPES * 2; j++) { - MPI_Start (&aReq[2 * send_t_number + j]); - } - } - - /* complete the sends */ - switch (k/2) { - case 0: - /* use MPI_Wait */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - break; - - case 1: - /* use MPI_Waitall */ - MPI_Waitall (NUM_SEND_TYPES * 2, aReq, aStatus); - break; - - case 2: - /* use MPI_Waitany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Waitany (NUM_SEND_TYPES * 2, aReq, &index, aStatus); - } - - break; - - case 3: - /* use MPI_Waitsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - MPI_Waitsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - - total += outcount; - } - - break; - - case 4: - /* use MPI_Test */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - - break; - - case 5: - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (NUM_SEND_TYPES * 2, aReq, &flag, aStatus); - } - - break; - - case 6: - /* use MPI_Testany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (NUM_SEND_TYPES * 2, aReq, - &index, &flag, aStatus); - } - } - - break; - - case 7: - /* use MPI_Testsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - outcount = 0; - - while (!outcount) { - MPI_Testsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - } - - total += outcount; - } - - break; - - default: - assert (0); - break; - } - } - else if (rank == 1) { - /* start receives for all of the sends */ - if (m == 0) { - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Irecv (&buf[j * BUF_SIZE], - BUF_SIZE + (j % 2) * SLOP, - MPI_INT, 0, j, comm, &aReq[j]); - } - } - else { - /* start the persistent receives... */ - if (l % 2) { - MPI_Startall (NUM_SEND_TYPES * 2, aReq); - } - else { - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Start (&aReq[j]); - } - } - } - - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - - /* complete all of the receives... */ - switch (l/2) { - case 0: - /* use MPI_Wait */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - break; - - case 1: - /* use MPI_Waitall */ - MPI_Waitall (NUM_SEND_TYPES * 2, aReq, aStatus); - break; - - case 2: - /* use MPI_Waitany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Waitany (NUM_SEND_TYPES * 2, aReq, &index, aStatus); - } - - break; - - case 3: - /* use MPI_Waitsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - MPI_Waitsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - - total += outcount; - } - - break; - - case 4: - /* use MPI_Test */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - - break; - - case 5: - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (NUM_SEND_TYPES * 2, aReq, &flag, aStatus); - } - - break; - - case 6: - /* use MPI_Testany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (NUM_SEND_TYPES * 2, aReq, - &index, &flag, aStatus); - } - } - - break; - - case 7: - /* use MPI_Testsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - outcount = 0; - - while (!outcount) { - MPI_Testsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - } - - total += outcount; - } - - break; - - default: - assert (0); - break; - } - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent send requests */ - for (i = 2* (NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES); - i < 2 * NUM_SEND_TYPES; i++) { - MPI_Request_free (&aReq[i]); - } - } - else if (rank == 1) { - /* free the persistent receive requests */ - for (i = 0; i < 2 * NUM_SEND_TYPES; i++) { - MPI_Request_free (&aReq[i]); - } - } - - - MPI_Buffer_detach (bbuf, &at_size); - - assert (at_size == - sizeof(int) * (BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/partial-recv-persistent.c b/teshsuite/smpi/isp/umpire/partial-recv-persistent.c deleted file mode 100644 index 1ccac54316..0000000000 --- a/teshsuite/smpi/isp/umpire/partial-recv-persistent.c +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Wed Jan 22, 2003 */ -/* partial-recv-persistent.c -- do persistent ops w/oversized recv bufs */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/partial-recv-persistent.c,v 1.1 2003/05/17 11:05:31 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define BUF_SIZE 128 -#define SLOP 128 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2 + SLOP]; - int k, flag; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (buf, BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (k = 0; k < BUF_SIZE; k++) { - buf[k] = k; - buf[BUF_SIZE + k] = BUF_SIZE - 1 - k; - } - } - else { - /* set up the persistent receives... */ - MPI_Recv_init (buf, BUF_SIZE, MPI_INT, 0, 0, comm, &aReq[0]); - MPI_Recv_init (&buf[BUF_SIZE],BUF_SIZE+SLOP,MPI_INT,0,1,comm,&aReq[1]); - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 + SLOP); - } - - /* start the persistent requests... */ - if (rank < 2) { - if (k % 2) { - MPI_Startall (2, aReq); - } - else { - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - } - - MPI_Barrier(MPI_COMM_WORLD); - - /* complete the requests */ - if (k/2) { - /* use MPI_Waitall */ - MPI_Waitall (2, aReq, aStatus); - } - else { - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (2, aReq, &flag, aStatus); - } - } - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank < 2) { - /* free the persistent requests */ - MPI_Request_free (&aReq[0]); - MPI_Request_free (&aReq[1]); - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/partial-recv-persistent2.c b/teshsuite/smpi/isp/umpire/partial-recv-persistent2.c deleted file mode 100644 index 754749acd3..0000000000 --- a/teshsuite/smpi/isp/umpire/partial-recv-persistent2.c +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Jan 24, 2003 */ -/* partial-recv-persistent2.c -- do persistent ops w/oversized recv bufs */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/partial-recv-persistent2.c,v 1.1 2003/05/17 11:05:31 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define BUF_SIZE 128 -#define SLOP 128 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2 + SLOP]; - int j, k, flag, index; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (buf, BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (k = 0; k < BUF_SIZE; k++) { - buf[k] = k; - buf[BUF_SIZE + k] = BUF_SIZE - 1 - k; - } - } - else { - /* set up the persistent receives... */ - MPI_Recv_init (buf, BUF_SIZE, MPI_INT, 0, 0, comm, &aReq[0]); - MPI_Recv_init (&buf[BUF_SIZE],BUF_SIZE+SLOP,MPI_INT,0,1,comm,&aReq[1]); - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 + SLOP); - } - - /* start the persistent requests... */ - if (rank < 2) { - if (k % 2) { - MPI_Startall (2, aReq); - } - else { - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - } - - MPI_Barrier(MPI_COMM_WORLD); - - /* complete the requests */ - if (k/2) { - /* use MPI_Waitany */ - for (j = 0; j < 2; j++) { - MPI_Waitany (2, aReq, &index, aStatus); - } - } - else { - /* use MPI_Testany */ - for (j = 0; j < 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (2, aReq, &index, &flag, aStatus); - } - } - } - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank < 2) { - /* free the persistent requests */ - MPI_Request_free (&aReq[0]); - MPI_Request_free (&aReq[1]); - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/partial-recv-persistent3.c b/teshsuite/smpi/isp/umpire/partial-recv-persistent3.c deleted file mode 100644 index 27a4757aaf..0000000000 --- a/teshsuite/smpi/isp/umpire/partial-recv-persistent3.c +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Jan 24, 2003 */ -/* partial-recv-persistent2.c -- do persistent ops w/oversized recv bufs */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/partial-recv-persistent3.c,v 1.1 2003/05/17 11:05:31 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define BUF_SIZE 128 -#define SLOP 128 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2 + SLOP]; - int j, k, flag, total, outcount, indices[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (buf, BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (k = 0; k < BUF_SIZE; k++) { - buf[k] = k; - buf[BUF_SIZE + k] = BUF_SIZE - 1 - k; - } - } - else { - /* set up the persistent receives... */ - MPI_Recv_init (buf, BUF_SIZE, MPI_INT, 0, 0, comm, &aReq[0]); - MPI_Recv_init (&buf[BUF_SIZE],BUF_SIZE+SLOP,MPI_INT,0,1,comm,&aReq[1]); - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 + SLOP); - } - - /* start the persistent requests... */ - if (rank < 2) { - if (k % 2) { - MPI_Startall (2, aReq); - } - else { - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - } - - MPI_Barrier(MPI_COMM_WORLD); - - /* complete the requests */ - if (k/2) { - /* use MPI_Waitsome */ - total = 0; - while (total < 2) { - MPI_Waitsome (2, aReq, &outcount, indices, aStatus); - total += outcount; - } - } - else { - /* use MPI_Testsome */ - total = 0; - while (total < 2) { - outcount = 0; - - while (!outcount) { - MPI_Testsome (2, aReq, &outcount, indices, aStatus); - } - - total += outcount; - } - } - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank < 2) { - /* free the persistent requests */ - MPI_Request_free (&aReq[0]); - MPI_Request_free (&aReq[1]); - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/partial-recv-persistent4.c b/teshsuite/smpi/isp/umpire/partial-recv-persistent4.c deleted file mode 100644 index c6216055b7..0000000000 --- a/teshsuite/smpi/isp/umpire/partial-recv-persistent4.c +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Jan 24, 2003 */ -/* partial-recv-persistent2.c -- do persistent ops w/oversized recv bufs */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/partial-recv-persistent4.c,v 1.1 2003/05/17 11:05:31 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define BUF_SIZE 128 -#define SLOP 128 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int buf[BUF_SIZE * 2 + SLOP]; - int j, k, flag; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (rank == 0) { - /* set up persistent sends... */ - MPI_Send_init (buf, BUF_SIZE, MPI_INT, 1, 0, comm, &aReq[0]); - MPI_Send_init (&buf[BUF_SIZE], BUF_SIZE, MPI_INT, 1, 1, comm, &aReq[1]); - - /* initialize the send buffers */ - for (k = 0; k < BUF_SIZE; k++) { - buf[k] = k; - buf[BUF_SIZE + k] = BUF_SIZE - 1 - k; - } - } - else { - /* set up the persistent receives... */ - MPI_Recv_init (buf, BUF_SIZE, MPI_INT, 0, 0, comm, &aReq[0]); - MPI_Recv_init (&buf[BUF_SIZE],BUF_SIZE+SLOP,MPI_INT,0,1,comm,&aReq[1]); - } - - for (k = 0; k < 4; k++) { - if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 + SLOP); - } - - /* start the persistent requests... */ - if (rank < 2) { - if (k % 2) { - MPI_Startall (2, aReq); - } - else { - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - } - - MPI_Barrier(MPI_COMM_WORLD); - - /* complete the requests */ - if (k/2) { - /* use MPI_Wait */ - for (j = 0; j < 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - } - else { - /* use MPI_Test */ - for (j = 0; j < 2; j++) { - flag = 0; - - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - } - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank < 2) { - /* free the persistent requests */ - MPI_Request_free (&aReq[0]); - MPI_Request_free (&aReq[1]); - } - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/partial-recv.c b/teshsuite/smpi/isp/umpire/partial-recv.c deleted file mode 100644 index 7ab0c557e9..0000000000 --- a/teshsuite/smpi/isp/umpire/partial-recv.c +++ /dev/null @@ -1,147 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive-with-isends.c -- send with weird types */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/partial-recv.c,v 1.1 2002/10/24 17:04:56 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -typedef struct _test_small_struct_t -{ - double the_double; - char the_char; -} -test_small_struct_t; - - -typedef struct _test_big_struct_t -{ - double the_double; - char the_char; - double the_other_double; -} -test_big_struct_t; - - -#define SMALL_SIZE 10 -#define BIG_SIZE 10 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i; - MPI_Aint basic_extent; - int blocklens[3]; - MPI_Aint displs[3]; - MPI_Datatype structtypes[3]; - MPI_Datatype newtype[2]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - test_small_struct_t small_struct_buf[SMALL_SIZE]; - test_big_struct_t big_struct_buf[BIG_SIZE]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - structtypes[0] = MPI_DOUBLE; - structtypes[1] = MPI_CHAR; - structtypes[2] = MPI_DOUBLE; - blocklens[0] = blocklens[1] = blocklens[2] = 1; - displs[0] = 0; - displs[1] = sizeof(double); - displs[2] = - ((void *) &(big_struct_buf[0].the_other_double)) - - ((void *) big_struct_buf); - - if (displs[2] < 0) displs[2] = -displs[2]; - - MPI_Barrier (comm); - - /* create the types */ - MPI_Type_struct (2, blocklens, displs, structtypes, &newtype[0]); - MPI_Type_struct (3, blocklens, displs, structtypes, &newtype[1]); - - MPI_Type_extent (newtype[0], &basic_extent); - if (basic_extent != sizeof (test_small_struct_t)) { - fprintf (stderr, "(%d): Unexpected extent for small struct\n", rank); - MPI_Abort (MPI_COMM_WORLD, 666); - } - - MPI_Type_extent (newtype[1], &basic_extent); - if (basic_extent != sizeof (test_big_struct_t)) { - fprintf (stderr, "(%d): Unexpected extent for big struct\n", rank); - MPI_Abort (MPI_COMM_WORLD, 666); - } - - MPI_Type_commit (&newtype[0]); - MPI_Type_commit (&newtype[1]); - - if (rank == 0) { - /* initialize buffers */ - for (i = 0; i < SMALL_SIZE; i++) { - small_struct_buf[i].the_double = 1.0; - small_struct_buf[i].the_char = 'a'; - } - - for (i = 0; i < BIG_SIZE; i++) { - big_struct_buf[i].the_double = 1.0; - big_struct_buf[i].the_char = 'a'; - big_struct_buf[i].the_other_double = 1.0; - } - - /* set up the sends */ - MPI_Isend (small_struct_buf, 1, newtype[0], 1, 0, comm, &aReq[0]); - MPI_Isend (big_struct_buf, 1, newtype[1], 1, 1, comm, &aReq[1]); - } - else if (rank == 1) { - /* initialize buffers */ - for (i = 0; i < SMALL_SIZE; i++) { - small_struct_buf[i].the_double = 2.0; - small_struct_buf[i].the_char = 'b'; - } - - for (i = 0; i < BIG_SIZE; i++) { - big_struct_buf[i].the_double = 2.0; - big_struct_buf[i].the_char = 'b'; - big_struct_buf[i].the_other_double = 2.0; - } - - /* set up the receives... */ - MPI_Irecv (big_struct_buf, BIG_SIZE, newtype[1],0,0, comm, &aReq[0]); - MPI_Irecv (small_struct_buf, SMALL_SIZE, newtype[0],0,1, comm, &aReq[1]); - } - - if ((rank == 0) || (rank == 1)) { - /* wait on everything... */ - MPI_Waitall (2, aReq, aStatus); - } - - for (i = 0; i < 2; i++) { - MPI_Type_free (&newtype[i]); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/persistent.c b/teshsuite/smpi/isp/umpire/persistent.c deleted file mode 100644 index 49c279519b..0000000000 --- a/teshsuite/smpi/isp/umpire/persistent.c +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* persistent.c -- do some MPI persistent calls */ -/* including freeing an active request - the effect of which */ -/* is implementation dependent - usually a detected error */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request aReq[2], free_req; - MPI_Status aStatus[2]; - - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send_init (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Recv_init (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - /* free an active request... */ - free_req = aReq[1]; - MPI_Request_free (&free_req); - - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv_init (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Send_init (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf1, 0, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - /* free an active request... */ - free_req = aReq[1]; - MPI_Request_free (&free_req); - - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Request_free (&aReq[0]); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/persistent2.c b/teshsuite/smpi/isp/umpire/persistent2.c deleted file mode 100644 index 9dd14e7593..0000000000 --- a/teshsuite/smpi/isp/umpire/persistent2.c +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* persistent2.c -- do some persistent MPI calls including activating */ -/* a request twice - the effect of which is undefined - usually an error */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request aReq[2]; - MPI_Status aStatus[2]; - - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send_init (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Recv_init (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - memset (buf0, 0, buf_size*sizeof(int)); - - /* activate a request twice */ - MPI_Start (&aReq[0]); - - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv_init (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Send_init (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf1, 0, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - /* activate a request twice */ - MPI_Start (&aReq[0]); - - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Request_free (&aReq[0]); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/persistent3.c b/teshsuite/smpi/isp/umpire/persistent3.c deleted file mode 100644 index 569f274ebe..0000000000 --- a/teshsuite/smpi/isp/umpire/persistent3.c +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* persistent3.c -- do some MPI persistent calls */ -/* including freeing an active request - the effect of which */ -/* is implementation dependent - usually a detected error */ -/* in this test, the error is made in only task rank 0... */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request aReq[2], free_req; - MPI_Status aStatus[2]; - - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) { - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send_init (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Recv_init (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - /* free an active request... */ - free_req = aReq[1]; - MPI_Request_free (&free_req); - - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv_init (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Send_init (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf1, 0, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Request_free (&aReq[0]); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/persistent4.c b/teshsuite/smpi/isp/umpire/persistent4.c deleted file mode 100644 index c3f82aaad5..0000000000 --- a/teshsuite/smpi/isp/umpire/persistent4.c +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Nov 30 2000 */ -/* persistent3.c -- do some MPI persistent calls */ -/* including freeing an active request - the effect of which */ -/* is implementation dependent - usually a detected error */ -/* in this test, the error is made in only task rank 1... */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Request aReq[2], free_req; - MPI_Status aStatus[2]; - - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) { - /* use at least 3 tasks so there is one non-mgr without error... */ - printf ("not enough tasks\n"); - } - else { - if (rank == 0) { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Send_init (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Recv_init (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf0, 1, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - MPI_Waitall (2, aReq, aStatus); - } - else if (rank == 1) { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv_init (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[0]); - MPI_Send_init (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &aReq[1]); - - MPI_Start (&aReq[0]); - MPI_Start (&aReq[1]); - - MPI_Waitall (2, aReq, aStatus); - - memset (buf1, 0, buf_size*sizeof(int)); - - MPI_Startall (2, aReq); - - /* free an active request... */ - free_req = aReq[1]; - MPI_Request_free (&free_req); - - MPI_Waitall (2, aReq, aStatus); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Request_free (&aReq[0]); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/probe-any_src-types-can-mismatch.c b/teshsuite/smpi/isp/umpire/probe-any_src-types-can-mismatch.c deleted file mode 100644 index 3186ae87bf..0000000000 --- a/teshsuite/smpi/isp/umpire/probe-any_src-types-can-mismatch.c +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Wed Oct 30 2002 */ -/* probe-any_src-types-can-mismatch.c -- do nondeterministic recv after */ -/* Probe; types can mismatch as a result but may not; require that we */ -/* detect the mismatch if occurs; OK to detect (or not) if it doesn't... */ -/* adapted from MPI The Complete Reference, p. 78... */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i, j; - double x; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* because the probe and the receives both use */ - /* MPI_ANY_SOURCE, we are not guaranteed that the */ - /* first recv matches the probed msg, thus types can mismatch... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - i = 0; - - MPI_Send (&i, 1, MPI_INT, 2, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - x = 1.0; - - MPI_Send (&x, 1, MPI_DOUBLE, 2, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - for (j = 0; j < 2; j++) { - MPI_Probe (MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - - if (status.MPI_SOURCE == 0) { - MPI_Recv (&i, 1, MPI_INT, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - if (status.MPI_SOURCE != 0) - printf ("(%d) Type mismatch from matching other message\n", rank); - } - else { - MPI_Recv (&x, 1, MPI_DOUBLE, - MPI_ANY_SOURCE, 0, MPI_COMM_WORLD, &status); - if (status.MPI_SOURCE == 0) - printf ("(%d) Type mismatch from matching other message\n", rank); - } - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/probe-any_tag-types-can-mismatch.c b/teshsuite/smpi/isp/umpire/probe-any_tag-types-can-mismatch.c deleted file mode 100644 index b5b02db77f..0000000000 --- a/teshsuite/smpi/isp/umpire/probe-any_tag-types-can-mismatch.c +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Wed Oct 30 2002 */ -/* probe-any_tag-types-can-mismatch.c -- do nondeterministic recv after */ -/* Probe; types can mismatch as a result but may not; require that we */ -/* detect the mismatch if occurs; OK to detect (or not) if it doesn't... */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i, j; - double x; - MPI_Status status; - MPI_Request req0, req1; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* because the probe and the receives both use */ - /* MPI_ANY_TAG, we are not guaranteed that the */ - /* first recv matches the probed msg, thus types can mismatch... */ - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - i = 0; - x = 1.0; - - MPI_Isend (&i, 1, MPI_INT, 1, 0, MPI_COMM_WORLD, &req0); - - MPI_Isend (&x, 1, MPI_DOUBLE, 1, 1, MPI_COMM_WORLD, &req1); - - MPI_Wait (&req1, &status); - - MPI_Wait (&req0, &status); - } - else if (rank == 1) - { - for (j = 0; j < 2; j++) { - MPI_Probe (0, MPI_ANY_TAG, MPI_COMM_WORLD, &status); - - if (status.MPI_TAG == 0) { - MPI_Recv (&i, 1, MPI_INT, 0, MPI_ANY_TAG, MPI_COMM_WORLD, &status); - - if (status.MPI_TAG != 0) - printf ("(%d) Type mismatch from matching other message\n", rank); - } - else { - MPI_Recv (&x, 1, MPI_DOUBLE, 0, - MPI_ANY_TAG, MPI_COMM_WORLD, &status); - - if (status.MPI_TAG == 0) - printf ("(%d) Type mismatch from matching other message\n", rank); - } - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/probe-deadlock.c b/teshsuite/smpi/isp/umpire/probe-deadlock.c deleted file mode 100644 index 80ed338f99..0000000000 --- a/teshsuite/smpi/isp/umpire/probe-deadlock.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Jan 3 2002 */ -/* no-error-probe.c -- do some MPI calls without any errors */ - - -#include -#include "mpi.h" - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int i, j; - double x; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - i = 0; - - MPI_Probe (1, 0, MPI_COMM_WORLD, &status); - - MPI_Send (&i, 1, MPI_INT, 1, 0, MPI_COMM_WORLD); - - MPI_Recv (&x, 1, MPI_DOUBLE, 1, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - x = 1.0; - - MPI_Probe (0, 0, MPI_COMM_WORLD, &status); - - MPI_Recv (&i, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (&x, 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/pt2pt-byte-int-mismatch.c b/teshsuite/smpi/isp/umpire/pt2pt-byte-int-mismatch.c deleted file mode 100644 index 12805a00f1..0000000000 --- a/teshsuite/smpi/isp/umpire/pt2pt-byte-int-mismatch.c +++ /dev/null @@ -1,405 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Thu Oct 17, 2002 */ -/* pt2pt-byte-int-mismatch.c -- do lots pt-2-pt ops type mismatches */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/pt2pt-byte-int-mismatch.c,v 1.1 2002/10/24 17:04:56 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -#define BUF_SIZE 128 -#define NUM_SEND_TYPES 8 -#define NUM_PERSISTENT_SEND_TYPES 4 -#define NUM_BSEND_TYPES 2 -#define NUM_COMPLETION_MECHANISMS 8 -#define NUM_RECV_TYPES 2 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int bbuf[(BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES]; - int buf[BUF_SIZE * 2 * NUM_SEND_TYPES]; - int i, j, k, l, m, at_size, send_t_number, index, outcount, total, flag; - int num_errors, error_count, indices[2 * NUM_SEND_TYPES]; - MPI_Request aReq[2 * NUM_SEND_TYPES]; - MPI_Status aStatus[2 * NUM_SEND_TYPES]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Buffer_attach (bbuf, sizeof(int) * - (BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES); - - if (rank == 0) { - /* set up persistent sends... */ - send_t_number = NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES; - - MPI_Send_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Send_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Bsend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Bsend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - - send_t_number++; - - MPI_Rsend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Rsend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Ssend_init (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Ssend_init (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - } - - for (m = 0; m < NUM_RECV_TYPES; m++) { - if ((m == 1) && (rank == 1)) { - /* set up the persistent receives... */ - for (j = 0; j < NUM_SEND_TYPES * 2; j+=2) { - MPI_Recv_init (&buf[j * BUF_SIZE], - BUF_SIZE, MPI_INT, 0, j, comm, &aReq[j]); - MPI_Recv_init (&buf[(j + 1) * BUF_SIZE], - BUF_SIZE * sizeof(int), - MPI_BYTE, 0, j + 1, comm, &aReq[j + 1]); - } - } - - for (l = 0; l < (NUM_COMPLETION_MECHANISMS * 2); l++) { - for (k = 0; k < (NUM_COMPLETION_MECHANISMS * 2); k++) { - if (rank == 0) { - /* initialize all of the send buffers */ - for (j = 0; j < NUM_SEND_TYPES; j++) { - for (i = 0; i < BUF_SIZE; i++) { - buf[2 * j * BUF_SIZE + i] = i; - buf[((2 * j + 1) * BUF_SIZE) + i] = BUF_SIZE - 1 - i; - } - } - } - else if (rank == 1) { - /* zero out all of the receive buffers */ - bzero (buf, sizeof(int) * BUF_SIZE * 2 * NUM_SEND_TYPES); - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* set up transient sends... */ - send_t_number = 0; - - MPI_Isend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Isend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Ibsend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Ibsend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - - MPI_Irsend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Irsend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - send_t_number++; - - MPI_Issend (&buf[send_t_number * 2 * BUF_SIZE], BUF_SIZE, MPI_INT, - 1, send_t_number * 2, comm, &aReq[send_t_number * 2]); - MPI_Issend (&buf[(send_t_number * 2 + 1) * BUF_SIZE], - BUF_SIZE, MPI_INT, 1, send_t_number * 2 + 1, - comm, &aReq[send_t_number * 2 + 1]); - - /* just to be paranoid */ - send_t_number++; - assert (send_t_number == - NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES); - - /* start the persistent sends... */ - if (k % 2) { - MPI_Startall (NUM_PERSISTENT_SEND_TYPES * 2, - &aReq[2 * send_t_number]); - } - else { - for (j = 0; j < NUM_PERSISTENT_SEND_TYPES * 2; j++) { - MPI_Start (&aReq[2 * send_t_number + j]); - } - } - - /* complete the sends */ - switch (k/2) { - case 0: - /* use MPI_Wait */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - break; - - case 1: - /* use MPI_Waitall */ - MPI_Waitall (NUM_SEND_TYPES * 2, aReq, aStatus); - break; - - case 2: - /* use MPI_Waitany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Waitany (NUM_SEND_TYPES * 2, aReq, &index, aStatus); - } - - break; - - case 3: - /* use MPI_Waitsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - MPI_Waitsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - - total += outcount; - } - - break; - - case 4: - /* use MPI_Test */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - - break; - - case 5: - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (NUM_SEND_TYPES * 2, aReq, &flag, aStatus); - } - - break; - - case 6: - /* use MPI_Testany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (NUM_SEND_TYPES * 2, aReq, - &index, &flag, aStatus); - } - } - - break; - - case 7: - /* use MPI_Testsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - outcount = 0; - - while (!outcount) { - MPI_Testsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - } - - total += outcount; - } - - break; - - default: - assert (0); - break; - } - } - else if (rank == 1) { - /* start receives for all of the sends */ - if (m == 0) { - for (j = 0; j < NUM_SEND_TYPES * 2; j+=2) { - MPI_Irecv (&buf[j * BUF_SIZE], - BUF_SIZE, MPI_INT, 0, j, comm, &aReq[j]); - MPI_Irecv (&buf[(j + 1) * BUF_SIZE], - BUF_SIZE * sizeof(int), - MPI_BYTE, 0, j + 1, comm, &aReq[j + 1]); - } - } - else { - /* start the persistent receives... */ - if (l % 2) { - MPI_Startall (NUM_SEND_TYPES * 2, aReq); - } - else { - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Start (&aReq[j]); - } - } - } - - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - - /* complete all of the receives... */ - switch (l/2) { - case 0: - /* use MPI_Wait */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Wait (&aReq[j], &aStatus[j]); - } - break; - - case 1: - /* use MPI_Waitall */ - MPI_Waitall (NUM_SEND_TYPES * 2, aReq, aStatus); - break; - - case 2: - /* use MPI_Waitany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - MPI_Waitany (NUM_SEND_TYPES * 2, aReq, &index, aStatus); - } - - break; - - case 3: - /* use MPI_Waitsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - MPI_Waitsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - - total += outcount; - } - - break; - - case 4: - /* use MPI_Test */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - - while (!flag) { - MPI_Test (&aReq[j], &flag, &aStatus[j]); - } - } - - break; - - case 5: - /* use MPI_Testall */ - flag = 0; - while (!flag) { - MPI_Testall (NUM_SEND_TYPES * 2, aReq, &flag, aStatus); - } - - break; - - case 6: - /* use MPI_Testany */ - for (j = 0; j < NUM_SEND_TYPES * 2; j++) { - flag = 0; - while (!flag) { - MPI_Testany (NUM_SEND_TYPES * 2, aReq, - &index, &flag, aStatus); - } - } - - break; - - case 7: - /* use MPI_Testsome */ - total = 0; - while (total < NUM_SEND_TYPES * 2) { - outcount = 0; - - while (!outcount) { - MPI_Testsome (NUM_SEND_TYPES * 2, aReq, - &outcount, indices, aStatus); - } - - total += outcount; - } - - break; - - default: - assert (0); - break; - } - } - else { - /* Barrier to ensure receives are posted for rsends... */ - MPI_Barrier(MPI_COMM_WORLD); - } - } - } - } - - MPI_Barrier(MPI_COMM_WORLD); - - if (rank == 0) { - /* free the persistent send requests */ - for (i = 2* (NUM_SEND_TYPES - NUM_PERSISTENT_SEND_TYPES); - i < 2 * NUM_SEND_TYPES; i++) { - MPI_Request_free (&aReq[i]); - } - } - else if (rank == 1) { - /* free the persistent receive requests */ - for (i = 0; i < 2 * NUM_SEND_TYPES; i++) { - MPI_Request_free (&aReq[i]); - } - } - - - MPI_Buffer_detach (bbuf, &at_size); - - assert (at_size == - sizeof(int) * (BUF_SIZE + MPI_BSEND_OVERHEAD) * 2 * NUM_BSEND_TYPES); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/remote_group-no-error.c b/teshsuite/smpi/isp/umpire/remote_group-no-error.c deleted file mode 100644 index e62fc50270..0000000000 --- a/teshsuite/smpi/isp/umpire/remote_group-no-error.c +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive.c -- use all group constructors correctly */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/remote_group-no-error.c,v 1.1 2002/07/30 21:34:43 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define INTERCOMM_CREATE_TAG 666 - - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i; - MPI_Group newgroup; - MPI_Group newgroup2; - MPI_Comm temp; - MPI_Comm intercomm = MPI_COMM_NULL; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - if (nprocs < 3) { - printf ("requires at least 3 tasks\n"); - } - else { - /* create the groups */ - /* need lots of stuff for this constructor... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &temp); - - if (rank % 3) { - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_remote_group (intercomm, &newgroup); - - MPI_Comm_free (&intercomm); - } - else { - MPI_Comm_group (temp, &newgroup); - } - - MPI_Comm_free (&temp); - - MPI_Group_free (&newgroup); - - MPI_Barrier (comm); - - /* create the groups again and free with an alias... */ - /* need lots of stuff for this constructor... */ - MPI_Comm_split (MPI_COMM_WORLD, rank % 3, nprocs - rank, &temp); - - if (rank % 3) { - MPI_Intercomm_create (temp, 0, MPI_COMM_WORLD, - (((nprocs % 3) == 2) && ((rank % 3) == 2)) ? - nprocs - 1 : nprocs - (rank % 3) - (nprocs % 3), - INTERCOMM_CREATE_TAG, &intercomm); - - MPI_Comm_remote_group (intercomm, &newgroup); - - MPI_Comm_free (&intercomm); - } - else { - MPI_Comm_group (temp, &newgroup); - } - - MPI_Comm_free (&temp); - - newgroup2 = newgroup; - MPI_Group_free (&newgroup2); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/send-recv-ok.c b/teshsuite/smpi/isp/umpire/send-recv-ok.c deleted file mode 100644 index e4325fb667..0000000000 --- a/teshsuite/smpi/isp/umpire/send-recv-ok.c +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- Mode: C; -*- */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - MPI_Recv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - memset (buf1, 1, buf_size*sizeof(int)); - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/sendrecv-deadlock.c b/teshsuite/smpi/isp/umpire/sendrecv-deadlock.c deleted file mode 100644 index 8c91f275c7..0000000000 --- a/teshsuite/smpi/isp/umpire/sendrecv-deadlock.c +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else - { - if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Sendrecv (buf0, buf_size, MPI_INT, 1, 0, - buf1, buf_size, MPI_INT, 1, 0, - MPI_COMM_WORLD, &status); - - MPI_Recv (buf0, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD, &status); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Recv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 2, 0, MPI_COMM_WORLD); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - - MPI_Recv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &status); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-commit-twice.c b/teshsuite/smpi/isp/umpire/type-commit-twice.c deleted file mode 100644 index 34c84661f3..0000000000 --- a/teshsuite/smpi/isp/umpire/type-commit-twice.c +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -/* type-commit-twice.c -- do a type commit twice w/ the same type */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-commit-twice.c,v 1.4 2002/07/30 21:34:43 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Datatype newtype; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - - MPI_Type_contiguous (128, MPI_INT, &newtype); - MPI_Type_commit (&newtype); - - /* COMMITTING TWICE IS NOT AN ERROR - SEE: - http://www.mpi-forum.org/docs/mpi-20-html/node50.htm#Node50 - AT MOST, UMPIRE SHOULD PROVIDE A CLEAR WARNING ABOUT MINOR - PERFORMANCE CONSEQUENCE (JUST A WASTED FUNCTION CALL)... */ - MPI_Type_commit (&newtype); - - MPI_Barrier (comm); - - MPI_Type_free (&newtype); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-error-exhaustive-with-isends.c b/teshsuite/smpi/isp/umpire/type-no-error-exhaustive-with-isends.c deleted file mode 100644 index 4e93bc36aa..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-error-exhaustive-with-isends.c +++ /dev/null @@ -1,1046 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive-with-isends.c -- send with weird types */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-error-exhaustive-with-isends.c,v 1.4 2002/10/24 17:04:56 bronis Exp $"; -#endif - -#include -#include -#include -#include "mpi.h" - - -typedef struct _test_basic_struct_t -{ - double the_double; - char the_char; -} -test_basic_struct_t; - - -typedef struct _test_lb_ub_struct_t -{ - double dontsend_double1; - double the_double_to_send; - char the_chars[8]; /* only send the first one... */ - double dontsend_double2; -} -test_lb_ub_struct_t; - - -#define TYPE_CONSTRUCTOR_COUNT 7 -#define MSG_COUNT 3 - -/* -*/ -#define RUN_TYPE_STRUCT -#define RUN_TYPE_VECTOR -#define RUN_TYPE_HVECTOR -#define RUN_TYPE_INDEXED -#define RUN_TYPE_HINDEXED -#define RUN_TYPE_CONTIGUOUS -/* -*/ -#define RUN_TYPE_STRUCT_LB_UB -/* -*/ - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i, j, k, basic_extent; - int blocklens[4], displs[4]; - MPI_Datatype structtypes[4]; - MPI_Datatype newtype[TYPE_CONSTRUCTOR_COUNT]; - MPI_Request aReq[TYPE_CONSTRUCTOR_COUNT]; - MPI_Status aStatus[TYPE_CONSTRUCTOR_COUNT]; -#ifdef RUN_TYPE_STRUCT - test_basic_struct_t struct_buf[MSG_COUNT]; -#endif -#ifdef RUN_TYPE_VECTOR - test_basic_struct_t vector_buf[7*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_HVECTOR - test_basic_struct_t hvector_buf[44*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_INDEXED - test_basic_struct_t indexed_buf[132*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_HINDEXED - test_basic_struct_t hindexed_buf[272*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_CONTIGUOUS - test_basic_struct_t contig_buf[2720*MSG_COUNT]; -#endif -#ifdef RUN_TYPE_STRUCT_LB_UB - test_lb_ub_struct_t struct_lb_ub_send_buf[MSG_COUNT]; - test_basic_struct_t struct_lb_ub_recv_buf[MSG_COUNT]; -#endif - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - structtypes[0] = MPI_DOUBLE; - structtypes[1] = MPI_CHAR; - blocklens[0] = blocklens[1] = 1; - displs[0] = 0; - displs[1] = sizeof(double); - - MPI_Barrier (comm); - - /* create the types */ - MPI_Type_struct (2, blocklens, displs, structtypes, &newtype[0]); - - MPI_Type_extent (newtype[0], &basic_extent); - if (basic_extent != sizeof (test_basic_struct_t)) { - fprintf (stderr, "(%d): Unexpected extent for struct\n"); - MPI_Abort (MPI_COMM_WORLD, 666); - } - - MPI_Type_vector (2, 3, 4, newtype[0], &newtype[1]); - MPI_Type_hvector (3, 2, 15 * sizeof (test_basic_struct_t), - newtype[1], &newtype[2]); - displs[1] = 2; - MPI_Type_indexed (2, blocklens, displs, newtype[2], &newtype[3]); - displs[1] = 140 * sizeof (test_basic_struct_t); - MPI_Type_hindexed (2, blocklens, displs, newtype[3], &newtype[4]); - MPI_Type_contiguous (10, newtype[4], &newtype[5]); - - structtypes[0] = MPI_LB; - structtypes[1] = MPI_DOUBLE; - structtypes[2] = MPI_CHAR; - structtypes[3] = MPI_UB; - blocklens[0] = blocklens[1] = blocklens[2] = blocklens[3] = 1; - displs[0] = -sizeof(double); - displs[1] = 0; - displs[2] = sizeof(double); - displs[3] = 2*sizeof(double)+8*sizeof(char); - - MPI_Type_struct (4, blocklens, displs, structtypes, &newtype[6]); - -#ifdef RUN_TYPE_STRUCT - MPI_Type_commit (&newtype[0]); -#endif - -#ifdef RUN_TYPE_VECTOR - MPI_Type_commit (&newtype[1]); -#endif - -#ifdef RUN_TYPE_HVECTOR - MPI_Type_commit (&newtype[2]); -#endif - -#ifdef RUN_TYPE_INDEXED - MPI_Type_commit (&newtype[3]); -#endif - -#ifdef RUN_TYPE_HINDEXED - MPI_Type_commit (&newtype[4]); -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - MPI_Type_commit (&newtype[5]); -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB -#ifndef RUN_TYPE_STRUCT - /* need the struct type for the receive... */ - MPI_Type_commit (&newtype[0]); -#endif - MPI_Type_commit (&newtype[6]); -#endif - - if (rank == 0) { - /* initialize buffers */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - struct_buf[i].the_double = 1.0; - struct_buf[i].the_char = 'a'; -#endif - -#ifdef RUN_TYPE_VECTOR - for (j = 0; j < 7; j++) { - vector_buf[i*7 + j].the_double = 1.0; - vector_buf[i*7 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_HVECTOR - for (j = 0; j < 44; j++) { - hvector_buf[i*44 + j].the_double = 1.0; - hvector_buf[i*44 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_INDEXED - for (j = 0; j < 132; j++) { - indexed_buf[i*132 + j].the_double = 1.0; - indexed_buf[i*132 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_HINDEXED - for (j = 0; j < 272; j++) { - hindexed_buf[i*272 + j].the_double = 1.0; - hindexed_buf[i*272 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 2720; j++) { - contig_buf[i*2720 + j].the_double = 1.0; - contig_buf[i*2720 + j].the_char = 'a'; - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - struct_lb_ub_send_buf[i].dontsend_double1 = 1.0; - struct_lb_ub_send_buf[i].the_double_to_send = 1.0; - for (j = 0; j < 8; j++) - struct_lb_ub_send_buf[i].the_chars[j] = 'a'; - struct_lb_ub_send_buf[i].dontsend_double2 = 1.0; -#endif - } - - /* set up the sends */ -#ifdef RUN_TYPE_STRUCT - MPI_Isend (struct_buf, MSG_COUNT, newtype[0], 1, 0, comm, &aReq[0]); -#else - aReq[0] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_VECTOR - MPI_Isend (vector_buf, MSG_COUNT, newtype[1], 1, 1, comm, &aReq[1]); -#else - aReq[1] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HVECTOR - MPI_Isend (hvector_buf, MSG_COUNT, newtype[2], 1, 2, comm, &aReq[2]); -#else - aReq[2] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_INDEXED - MPI_Isend (indexed_buf, MSG_COUNT, newtype[3], 1, 3, comm, &aReq[3]); -#else - aReq[3] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HINDEXED - MPI_Isend (hindexed_buf, MSG_COUNT, newtype[4], 1, 4, comm, &aReq[4]); -#else - aReq[4] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - MPI_Isend (contig_buf, MSG_COUNT, newtype[5], 1, 5, comm, &aReq[5]); -#else - aReq[5] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - MPI_Isend (&(struct_lb_ub_send_buf[0].the_double_to_send), - MSG_COUNT, newtype[6], 1, 6, comm, &aReq[6]); -#else - aReq[6] = MPI_REQUEST_NULL; -#endif - } - else if (rank == 1) { - /* initialize buffers */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - struct_buf[i].the_double = 2.0; - struct_buf[i].the_char = 'b'; -#endif - -#ifdef RUN_TYPE_VECTOR - for (j = 0; j < 7; j++) { - vector_buf[i*7 + j].the_double = 2.0; - vector_buf[i*7 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_HVECTOR - for (j = 0; j < 44; j++) { - hvector_buf[i*44 + j].the_double = 2.0; - hvector_buf[i*44 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_INDEXED - for (j = 0; j < 132; j++) { - indexed_buf[i*132 + j].the_double = 2.0; - indexed_buf[i*132 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_HINDEXED - for (j = 0; j < 272; j++) { - hindexed_buf[i*272 + j].the_double = 2.0; - hindexed_buf[i*272 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 2720; j++) { - contig_buf[i*2720 + j].the_double = 2.0; - contig_buf[i*2720 + j].the_char = 'b'; - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - struct_lb_ub_recv_buf[i].the_double = 2.0; - struct_lb_ub_recv_buf[i].the_char = 'b'; -#endif - } - - /* set up the receives... */ -#ifdef RUN_TYPE_STRUCT - MPI_Irecv (struct_buf, MSG_COUNT, newtype[0], 0, 0, comm, &aReq[0]); -#else - aReq[0] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_VECTOR - MPI_Irecv (vector_buf, MSG_COUNT, newtype[1], 0, 1, comm, &aReq[1]); -#else - aReq[1] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HVECTOR - MPI_Irecv (hvector_buf, MSG_COUNT, newtype[2], 0, 2, comm, &aReq[2]); -#else - aReq[2] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_INDEXED - MPI_Irecv (indexed_buf, MSG_COUNT, newtype[3], 0, 3, comm, &aReq[3]); -#else - aReq[3] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_HINDEXED - MPI_Irecv (hindexed_buf, MSG_COUNT, newtype[4], 0, 4, comm, &aReq[4]); -#else - aReq[4] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - MPI_Irecv (contig_buf, MSG_COUNT, newtype[5], 0, 5, comm, &aReq[5]); -#else - aReq[5] = MPI_REQUEST_NULL; -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - MPI_Irecv (struct_lb_ub_recv_buf, - MSG_COUNT, newtype[0], 0, 6, comm, &aReq[6]); -#else - aReq[6] = MPI_REQUEST_NULL; -#endif - } - - if (rank == 0) { - /* muck the holes... */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - /* no holes in struct_buf... */ -#endif - -#ifdef RUN_TYPE_VECTOR - /* one hole in vector_buf... */ - vector_buf[i*7 + 3].the_double = 3.0; - vector_buf[i*7 + 3].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_HVECTOR - /* eight holes in hvector_buf... */ - /* hole in first vector, first block... */ - hvector_buf[i*44 + 3].the_double = 3.0; - hvector_buf[i*44 + 3].the_char = 'c'; - /* hole in second vector, first block... */ - hvector_buf[i*44 + 10].the_double = 3.0; - hvector_buf[i*44 + 10].the_char = 'c'; - /* hole in between first and second vector blocks... */ - hvector_buf[i*44 + 14].the_double = 3.0; - hvector_buf[i*44 + 14].the_char = 'c'; - /* hole in first vector, second block... */ - hvector_buf[i*44 + 18].the_double = 3.0; - hvector_buf[i*44 + 18].the_char = 'c'; - /* hole in second vector, second block... */ - hvector_buf[i*44 + 25].the_double = 3.0; - hvector_buf[i*44 + 25].the_char = 'c'; - /* hole in between second and third vector blocks... */ - hvector_buf[i*44 + 29].the_double = 3.0; - hvector_buf[i*44 + 29].the_char = 'c'; - /* hole in first vector, third block... */ - hvector_buf[i*44 + 33].the_double = 3.0; - hvector_buf[i*44 + 33].the_char = 'c'; - /* hole in second vector, third block... */ - hvector_buf[i*44 + 40].the_double = 3.0; - hvector_buf[i*44 + 40].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_INDEXED - /* sixty holes in indexed_buf... */ - /* hole in first vector, first block, first hvector... */ - indexed_buf[i*132 + 3].the_double = 3.0; - indexed_buf[i*132 + 3].the_char = 'c'; - /* hole in second vector, first block, first hvector... */ - indexed_buf[i*132 + 10].the_double = 3.0; - indexed_buf[i*132 + 10].the_char = 'c'; - /* hole in between first and second vector blocks, first hvector... */ - indexed_buf[i*132 + 14].the_double = 3.0; - indexed_buf[i*132 + 14].the_char = 'c'; - /* hole in first vector, second block, first hvector... */ - indexed_buf[i*132 + 18].the_double = 3.0; - indexed_buf[i*132 + 18].the_char = 'c'; - /* hole in second vector, second block, first hvector... */ - indexed_buf[i*132 + 25].the_double = 3.0; - indexed_buf[i*132 + 25].the_char = 'c'; - /* hole in between second and third vector blocks, first hvector... */ - indexed_buf[i*132 + 29].the_double = 3.0; - indexed_buf[i*132 + 29].the_char = 'c'; - /* hole in first vector, third block, first hvector... */ - indexed_buf[i*132 + 33].the_double = 3.0; - indexed_buf[i*132 + 33].the_char = 'c'; - /* hole in second vector, third block, first hvector... */ - indexed_buf[i*132 + 40].the_double = 3.0; - indexed_buf[i*132 + 40].the_char = 'c'; - /* hole in between hvectors... */ - for (j = 0; j < 44; j++) { - indexed_buf[i*132 + 44 + j].the_double = 3.0; - indexed_buf[i*132 + 44 + j].the_char = 'c'; - } - /* hole in first vector, first block, second hvector... */ - indexed_buf[i*132 + 3 + 88].the_double = 3.0; - indexed_buf[i*132 + 3 + 88].the_char = 'c'; - /* hole in second vector, first block, second hvector... */ - indexed_buf[i*132 + 10 + 88].the_double = 3.0; - indexed_buf[i*132 + 10 + 88].the_char = 'c'; - /* hole in between first and second vector blocks, second hvector... */ - indexed_buf[i*132 + 14 + 88].the_double = 3.0; - indexed_buf[i*132 + 14 + 88].the_char = 'c'; - /* hole in first vector, second block, second hvector... */ - indexed_buf[i*132 + 18 + 88].the_double = 3.0; - indexed_buf[i*132 + 18 + 88].the_char = 'c'; - /* hole in second vector, second block, second hvector... */ - indexed_buf[i*132 + 25 + 88].the_double = 3.0; - indexed_buf[i*132 + 25 + 88].the_char = 'c'; - /* hole in between second and third vector blocks, second hvector... */ - indexed_buf[i*132 + 29 + 88].the_double = 3.0; - indexed_buf[i*132 + 29 + 88].the_char = 'c'; - /* hole in first vector, third block, second hvector... */ - indexed_buf[i*132 + 33 + 88].the_double = 3.0; - indexed_buf[i*132 + 33 + 88].the_char = 'c'; - /* hole in second vector, third block, second hvector... */ - indexed_buf[i*132 + 40 + 88].the_double = 3.0; - indexed_buf[i*132 + 40 + 88].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_HINDEXED - /* one hundred twenty eight holes in hindexed_buf... */ - /* hole in first vector, first block, first hvector, index 1... */ - hindexed_buf[i*272 + 3].the_double = 3.0; - hindexed_buf[i*272 + 3].the_char = 'c'; - /* hole in second vector, first block, first hvector, index 1... */ - hindexed_buf[i*272 + 10].the_double = 3.0; - hindexed_buf[i*272 + 10].the_char = 'c'; - /* hole between first & second vector blocks, hvector 1, index 1... */ - hindexed_buf[i*272 + 14].the_double = 3.0; - hindexed_buf[i*272 + 14].the_char = 'c'; - /* hole in first vector, second block, first hvector, index 1... */ - hindexed_buf[i*272 + 18].the_double = 3.0; - hindexed_buf[i*272 + 18].the_char = 'c'; - /* hole in second vector, second block, first hvector, index 1... */ - hindexed_buf[i*272 + 25].the_double = 3.0; - hindexed_buf[i*272 + 25].the_char = 'c'; - /* hole between second & third vector blocks, hvector 1, index 1... */ - hindexed_buf[i*272 + 29].the_double = 3.0; - hindexed_buf[i*272 + 29].the_char = 'c'; - /* hole in first vector, third block, first hvector, index 1... */ - hindexed_buf[i*272 + 33].the_double = 3.0; - hindexed_buf[i*272 + 33].the_char = 'c'; - /* hole in second vector, third block, first hvector, index 1... */ - hindexed_buf[i*272 + 40].the_double = 3.0; - hindexed_buf[i*272 + 40].the_char = 'c'; - /* hole in between hvectors, index 1... */ - for (j = 0; j < 44; j++) { - hindexed_buf[i*272 + 44 + j].the_double = 3.0; - hindexed_buf[i*272 + 44 + j].the_char = 'c'; - } - /* hole in first vector, first block, second hvector, index 1... */ - hindexed_buf[i*272 + 3 + 88].the_double = 3.0; - hindexed_buf[i*272 + 3 + 88].the_char = 'c'; - /* hole in second vector, first block, second hvector, index 1... */ - hindexed_buf[i*272 + 10 + 88].the_double = 3.0; - hindexed_buf[i*272 + 10 + 88].the_char = 'c'; - /* hole between first & second vector blocks, hvector 2, index 1... */ - hindexed_buf[i*272 + 14 + 88].the_double = 3.0; - hindexed_buf[i*272 + 14 + 88].the_char = 'c'; - /* hole in first vector, second block, second hvector, index 1... */ - hindexed_buf[i*272 + 18 + 88].the_double = 3.0; - hindexed_buf[i*272 + 18 + 88].the_char = 'c'; - /* hole in second vector, second block, second hvector, index 1... */ - hindexed_buf[i*272 + 25 + 88].the_double = 3.0; - hindexed_buf[i*272 + 25 + 88].the_char = 'c'; - /* hole between second & third vector blocks, hvector 2, index 1... */ - hindexed_buf[i*272 + 29 + 88].the_double = 3.0; - hindexed_buf[i*272 + 29 + 88].the_char = 'c'; - /* hole in first vector, third block, second hvector, index 1... */ - hindexed_buf[i*272 + 33 + 88].the_double = 3.0; - hindexed_buf[i*272 + 33 + 88].the_char = 'c'; - /* hole in second vector, third block, second hvector, index 1... */ - hindexed_buf[i*272 + 40 + 88].the_double = 3.0; - hindexed_buf[i*272 + 40 + 88].the_char = 'c'; - /* indexed hole... */ - for (j = 0; j < 8; j++) { - hindexed_buf[i*272 + 132 + j].the_double = 3.0; - hindexed_buf[i*272 + 132 + j].the_char = 'c'; - } - /* hole in first vector, first block, first hvector, index 2... */ - hindexed_buf[i*272 + 3 + 140].the_double = 3.0; - hindexed_buf[i*272 + 3 + 140].the_char = 'c'; - /* hole in second vector, first block, first hvector, index 2... */ - hindexed_buf[i*272 + 10 + 140].the_double = 3.0; - hindexed_buf[i*272 + 10 + 140].the_char = 'c'; - /* hole between first & second vector blocks, hvector 1, index 2... */ - hindexed_buf[i*272 + 14 + 140].the_double = 3.0; - hindexed_buf[i*272 + 14 + 140].the_char = 'c'; - /* hole in first vector, second block, first hvector, index 2... */ - hindexed_buf[i*272 + 18 + 140].the_double = 3.0; - hindexed_buf[i*272 + 18 + 140].the_char = 'c'; - /* hole in second vector, second block, first hvector, index 2... */ - hindexed_buf[i*272 + 25 + 140].the_double = 3.0; - hindexed_buf[i*272 + 25 + 140].the_char = 'c'; - /* hole between second & third vector blocks, hvector 1, index 2... */ - hindexed_buf[i*272 + 29 + 140].the_double = 3.0; - hindexed_buf[i*272 + 29 + 140].the_char = 'c'; - /* hole in first vector, third block, first hvector, index 2... */ - hindexed_buf[i*272 + 33 + 140].the_double = 3.0; - hindexed_buf[i*272 + 33 + 140].the_char = 'c'; - /* hole in second vector, third block, first hvector, index 2... */ - hindexed_buf[i*272 + 40 + 140].the_double = 3.0; - hindexed_buf[i*272 + 40 + 140].the_char = 'c'; - /* hole in between hvectors, index 2... */ - for (j = 0; j < 44; j++) { - hindexed_buf[i*272 + 44 + j + 140].the_double = 3.0; - hindexed_buf[i*272 + 44 + j + 140].the_char = 'c'; - } - /* hole in first vector, first block, second hvector, index 2... */ - hindexed_buf[i*272 + 3 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 3 + 88 + 140].the_char = 'c'; - /* hole in second vector, first block, second hvector, index 2... */ - hindexed_buf[i*272 + 10 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 10 + 88 + 140].the_char = 'c'; - /* hole between first & second vector blocks, hvector 2, index 2... */ - hindexed_buf[i*272 + 14 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 14 + 88 + 140].the_char = 'c'; - /* hole in first vector, second block, second hvector, index 2... */ - hindexed_buf[i*272 + 18 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 18 + 88 + 140].the_char = 'c'; - /* hole in second vector, second block, second hvector, index 2... */ - hindexed_buf[i*272 + 25 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 25 + 88 + 140].the_char = 'c'; - /* hole between second & third vector blocks, hvector 2, index 2... */ - hindexed_buf[i*272 + 29 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 29 + 88 + 140].the_char = 'c'; - /* hole in first vector, third block, second hvector, index 2... */ - hindexed_buf[i*272 + 33 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 33 + 88 + 140].the_char = 'c'; - /* hole in second vector, third block, second hvector, index 2... */ - hindexed_buf[i*272 + 40 + 88 + 140].the_double = 3.0; - hindexed_buf[i*272 + 40 + 88 + 140].the_char = 'c'; -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 10; j++) { - /* hole in first vector, first block, first hvector, index 1... */ - contig_buf[i*2720 + j*272 + 3].the_double = 3.0; - contig_buf[i*2720 + j*272 + 3].the_char = 'c'; - /* hole in second vector, first block, first hvector, index 1... */ - contig_buf[i*2720 + j*272 + 10].the_double = 3.0; - contig_buf[i*2720 + j*272 + 10].the_char = 'c'; - /* hole between first & second vector blocks, hvector 1, index 1... */ - contig_buf[i*2720 + j*272 + 14].the_double = 3.0; - contig_buf[i*2720 + j*272 + 14].the_char = 'c'; - /* hole in first vector, second block, first hvector, index 1... */ - contig_buf[i*2720 + j*272 + 18].the_double = 3.0; - contig_buf[i*2720 + j*272 + 18].the_char = 'c'; - /* hole in second vector, second block, first hvector, index 1... */ - contig_buf[i*2720 + j*272 + 25].the_double = 3.0; - contig_buf[i*2720 + j*272 + 25].the_char = 'c'; - /* hole between second & third vector blocks, hvector 1, index 1... */ - contig_buf[i*2720 + j*272 + 29].the_double = 3.0; - contig_buf[i*2720 + j*272 + 29].the_char = 'c'; - /* hole in first vector, third block, first hvector, index 1... */ - contig_buf[i*2720 + j*272 + 33].the_double = 3.0; - contig_buf[i*2720 + j*272 + 33].the_char = 'c'; - /* hole in second vector, third block, first hvector, index 1... */ - contig_buf[i*2720 + j*272 + 40].the_double = 3.0; - contig_buf[i*2720 + j*272 + 40].the_char = 'c'; - /* hole in between hvectors, index 1... */ - for (k = 0; k < 44; k++) { - contig_buf[i*2720 + j*272 + 44 + k].the_double = 3.0; - contig_buf[i*2720 + j*272 + 44 + k].the_char = 'c'; - } - /* hole in first vector, first block, second hvector, index 1... */ - contig_buf[i*2720 + j*272 + 3 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 3 + 88].the_char = 'c'; - /* hole in second vector, first block, second hvector, index 1... */ - contig_buf[i*2720 + j*272 + 10 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 10 + 88].the_char = 'c'; - /* hole between first & second vector blocks, hvector 2, index 1... */ - contig_buf[i*2720 + j*272 + 14 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 14 + 88].the_char = 'c'; - /* hole in first vector, second block, second hvector, index 1... */ - contig_buf[i*2720 + j*272 + 18 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 18 + 88].the_char = 'c'; - /* hole in second vector, second block, second hvector, index 1... */ - contig_buf[i*2720 + j*272 + 25 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 25 + 88].the_char = 'c'; - /* hole between second & third vector blocks, hvector 2, index 1... */ - contig_buf[i*2720 + j*272 + 29 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 29 + 88].the_char = 'c'; - /* hole in first vector, third block, second hvector, index 1... */ - contig_buf[i*2720 + j*272 + 33 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 33 + 88].the_char = 'c'; - /* hole in second vector, third block, second hvector, index 1... */ - contig_buf[i*2720 + j*272 + 40 + 88].the_double = 3.0; - contig_buf[i*2720 + j*272 + 40 + 88].the_char = 'c'; - /* indexed hole... */ - for (k = 0; k < 8; k++) { - contig_buf[i*2720 + j*272 + 132 + k].the_double = 3.0; - contig_buf[i*2720 + j*272 + 132 + k].the_char = 'c'; - } - /* hole in first vector, first block, first hvector, index 2... */ - contig_buf[i*2720 + j*272 + 3 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 3 + 140].the_char = 'c'; - /* hole in second vector, first block, first hvector, index 2... */ - contig_buf[i*2720 + j*272 + 10 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 10 + 140].the_char = 'c'; - /* hole between first & second vector blocks, hvector 1, index 2... */ - contig_buf[i*2720 + j*272 + 14 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 14 + 140].the_char = 'c'; - /* hole in first vector, second block, first hvector, index 2... */ - contig_buf[i*2720 + j*272 + 18 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 18 + 140].the_char = 'c'; - /* hole in second vector, second block, first hvector, index 2... */ - contig_buf[i*2720 + j*272 + 25 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 25 + 140].the_char = 'c'; - /* hole between second & third vector blocks, hvector 1, index 2... */ - contig_buf[i*2720 + j*272 + 29 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 29 + 140].the_char = 'c'; - /* hole in first vector, third block, first hvector, index 2... */ - contig_buf[i*2720 + j*272 + 33 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 33 + 140].the_char = 'c'; - /* hole in second vector, third block, first hvector, index 2... */ - contig_buf[i*2720 + j*272 + 40 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 40 + 140].the_char = 'c'; - /* hole in between hvectors, index 2... */ - for (k = 0; k < 44; k++) { - contig_buf[i*2720 + j*272 + 44 + k + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 44 + k + 140].the_char = 'c'; - } - /* hole in first vector, first block, second hvector, index 2... */ - contig_buf[i*2720 + j*272 + 3 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 3 + 88 + 140].the_char = 'c'; - /* hole in second vector, first block, second hvector, index 2... */ - contig_buf[i*2720 + j*272 + 10 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 10 + 88 + 140].the_char = 'c'; - /* hole between first & second vector blocks, hvector 2, index 2... */ - contig_buf[i*2720 + j*272 + 14 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 14 + 88 + 140].the_char = 'c'; - /* hole in first vector, second block, second hvector, index 2... */ - contig_buf[i*2720 + j*272 + 18 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 18 + 88 + 140].the_char = 'c'; - /* hole in second vector, second block, second hvector, index 2... */ - contig_buf[i*2720 + j*272 + 25 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 25 + 88 + 140].the_char = 'c'; - /* hole between second & third vector blocks, hvector 2, index 2... */ - contig_buf[i*2720 + j*272 + 29 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 29 + 88 + 140].the_char = 'c'; - /* hole in first vector, third block, second hvector, index 2... */ - contig_buf[i*2720 + j*272 + 33 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 33 + 88 + 140].the_char = 'c'; - /* hole in second vector, third block, second hvector, index 2... */ - contig_buf[i*2720 + j*272 + 40 + 88 + 140].the_double = 3.0; - contig_buf[i*2720 + j*272 + 40 + 88 + 140].the_char = 'c'; - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - /* muck the double member and char member being sent... */ - struct_lb_ub_send_buf[i].dontsend_double1 = 3.0; - for (j = 1; j < 8; j++) - struct_lb_ub_send_buf[i].the_chars[j] = 'c'; - struct_lb_ub_send_buf[i].dontsend_double2 = 3.0; -#endif - } - } - - if ((rank == 0) || (rank == 1)) { - /* wait on everything... */ - MPI_Waitall (TYPE_CONSTRUCTOR_COUNT, aReq, aStatus); - } - - if (rank == 1) { - /* check the holes... */ - for (i = 0; i < MSG_COUNT; i++) { -#ifdef RUN_TYPE_STRUCT - /* no holes in struct_buf... */ -#endif - -#ifdef RUN_TYPE_VECTOR - /* one hole in vector_buf... */ - assert ((vector_buf[i*7 + 3].the_double == 2.0) && - (vector_buf[i*7 + 3].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_HVECTOR - /* eight holes in hvector_buf... */ - /* hole in first vector, first block... */ - assert ((hvector_buf[i*44 + 3].the_double == 2.0) && - (hvector_buf[i*44 + 3].the_char == 'b')); - /* hole in second vector, first block... */ - assert ((hvector_buf[i*44 + 10].the_double == 2.0) && - (hvector_buf[i*44 + 10].the_char == 'b')); - /* hole in between first and second vector blocks... */ - assert ((hvector_buf[i*44 + 14].the_double == 2.0) && - (hvector_buf[i*44 + 14].the_char == 'b')); - /* hole in first vector, second block... */ - assert ((hvector_buf[i*44 + 18].the_double == 2.0) && - (hvector_buf[i*44 + 18].the_char == 'b')); - /* hole in second vector, second block... */ - assert ((hvector_buf[i*44 + 25].the_double == 2.0) && - (hvector_buf[i*44 + 25].the_char == 'b')); - /* hole in between second and third vector blocks... */ - assert ((hvector_buf[i*44 + 29].the_double == 2.0) && - (hvector_buf[i*44 + 29].the_char == 'b')); - /* hole in first vector, third block... */ - assert ((hvector_buf[i*44 + 33].the_double == 2.0) && - (hvector_buf[i*44 + 33].the_char == 'b')); - /* hole in second vector, third block... */ - assert ((hvector_buf[i*44 + 40].the_double == 2.0) && - (hvector_buf[i*44 + 40].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_INDEXED - /* sixty holes in indexed_buf... */ - /* hole in first vector, first block, first hvector... */ - assert ((indexed_buf[i*132 + 3].the_double == 2.0) && - (indexed_buf[i*132 + 3].the_char == 'b')); - /* hole in second vector, first block, first hvector... */ - assert ((indexed_buf[i*132 + 10].the_double == 2.0) && - (indexed_buf[i*132 + 10].the_char == 'b')); - /* hole in between first and second vector blocks, first hvector... */ - assert ((indexed_buf[i*132 + 14].the_double == 2.0) && - (indexed_buf[i*132 + 14].the_char == 'b')); - /* hole in first vector, second block, first hvector... */ - assert ((indexed_buf[i*132 + 18].the_double == 2.0) && - (indexed_buf[i*132 + 18].the_char == 'b')); - /* hole in second vector, second block, first hvector... */ - assert ((indexed_buf[i*132 + 25].the_double == 2.0) && - (indexed_buf[i*132 + 25].the_char == 'b')); - /* hole in between second and third vector blocks, first hvector... */ - assert ((indexed_buf[i*132 + 29].the_double == 2.0) && - (indexed_buf[i*132 + 29].the_char == 'b')); - /* hole in first vector, third block, first hvector... */ - assert ((indexed_buf[i*132 + 33].the_double == 2.0) && - (indexed_buf[i*132 + 33].the_char == 'b')); - /* hole in second vector, third block, first hvector... */ - assert ((indexed_buf[i*132 + 40].the_double == 2.0) && - (indexed_buf[i*132 + 40].the_char == 'b')); - /* hole in between hvectors... */ - for (j = 0; j < 44; j++) { - assert ((indexed_buf[i*132 + 44 + j].the_double == 2.0) && - (indexed_buf[i*132 + 44 + j].the_char == 'b')); - } - /* hole in first vector, first block, second hvector... */ - assert ((indexed_buf[i*132 + 3 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 3 + 88].the_char == 'b')); - /* hole in second vector, first block, second hvector... */ - assert ((indexed_buf[i*132 + 10 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 10 + 88].the_char == 'b')); - /* hole in between first and second vector blocks, second hvector... */ - assert ((indexed_buf[i*132 + 14 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 14 + 88].the_char == 'b')); - /* hole in first vector, second block, second hvector... */ - assert ((indexed_buf[i*132 + 18 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 18 + 88].the_char == 'b')); - /* hole in second vector, second block, second hvector... */ - assert ((indexed_buf[i*132 + 25 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 25 + 88].the_char == 'b')); - /* hole in between second and third vector blocks, second hvector... */ - assert ((indexed_buf[i*132 + 29 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 29 + 88].the_char == 'b')); - /* hole in first vector, third block, second hvector... */ - assert ((indexed_buf[i*132 + 33 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 33 + 88].the_char == 'b')); - /* hole in second vector, third block, second hvector... */ - assert ((indexed_buf[i*132 + 40 + 88].the_double == 2.0) && - (indexed_buf[i*132 + 40 + 88].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_HINDEXED - /* one hundred twenty eight holes in hindexed_buf... */ - /* hole in first vector, first block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 3].the_double == 2.0) && - (hindexed_buf[i*272 + 3].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 10].the_double == 2.0) && - (hindexed_buf[i*272 + 10].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 1... */ - assert ((hindexed_buf[i*272 + 14].the_double == 2.0) && - (hindexed_buf[i*272 + 14].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 18].the_double == 2.0) && - (hindexed_buf[i*272 + 18].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 25].the_double == 2.0) && - (hindexed_buf[i*272 + 25].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 1... */ - assert ((hindexed_buf[i*272 + 29].the_double == 2.0) && - (hindexed_buf[i*272 + 29].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 33].the_double == 2.0) && - (hindexed_buf[i*272 + 33].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 1... */ - assert ((hindexed_buf[i*272 + 40].the_double == 2.0) && - (hindexed_buf[i*272 + 40].the_char == 'b')); - /* hole in between hvectors, index 1... */ - for (j = 0; j < 44; j++) { - assert ((hindexed_buf[i*272 + 44 + j].the_double == 2.0) && - (hindexed_buf[i*272 + 44 + j].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 3 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 3 + 88].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 10 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 10 + 88].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 1... */ - assert ((hindexed_buf[i*272 + 14 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 14 + 88].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 18 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 18 + 88].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 25 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 25 + 88].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 1... */ - assert ((hindexed_buf[i*272 + 29 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 29 + 88].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 33 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 33 + 88].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 1... */ - assert ((hindexed_buf[i*272 + 40 + 88].the_double == 2.0) && - (hindexed_buf[i*272 + 40 + 88].the_char == 'b')); - /* indexed hole... */ - for (j = 0; j < 8; j++) { - assert ((hindexed_buf[i*272 + 132 + j].the_double == 2.0) && - (hindexed_buf[i*272 + 132 + j].the_char == 'b')); - } - /* hole in first vector, first block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 3 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 3 + 140].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 10 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 10 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 2... */ - assert ((hindexed_buf[i*272 + 14 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 14 + 140].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 18 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 18 + 140].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 25 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 25 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 2... */ - assert ((hindexed_buf[i*272 + 29 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 29 + 140].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 33 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 33 + 140].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 2... */ - assert ((hindexed_buf[i*272 + 40 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 40 + 140].the_char == 'b')); - /* hole in between hvectors, index 2... */ - for (j = 0; j < 44; j++) { - assert ((hindexed_buf[i*272 + 44 + j + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 44 + j + 140].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 3 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 3 + 88 + 140].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 10 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 10 + 88 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 2... */ - assert ((hindexed_buf[i*272 + 14 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 14 + 88 + 140].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 18 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 18 + 88 + 140].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 25 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 25 + 88 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 2... */ - assert ((hindexed_buf[i*272 + 29 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 29 + 88 + 140].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 33 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 33 + 88 + 140].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 2... */ - assert ((hindexed_buf[i*272 + 40 + 88 + 140].the_double == 2.0) && - (hindexed_buf[i*272 + 40 + 88 + 140].the_char == 'b')); -#endif - -#ifdef RUN_TYPE_CONTIGUOUS - for (j = 0; j < 10; j++) { - /* hole in first vector, first block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 3].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 10].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 14].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 18].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 25].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 29].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 33].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 40].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40].the_char == 'b')); - /* hole in between hvectors, index 1... */ - for (k = 0; k < 44; k++) { - assert ((contig_buf[i*2720 + j*272 + 44 + k].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 44 + k].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 3 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3 + 88].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 10 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10 + 88].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 14 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14 + 88].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 18 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18 + 88].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 25 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25 + 88].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 29 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29 + 88].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 33 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33 + 88].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 1... */ - assert ((contig_buf[i*2720 + j*272 + 40 + 88].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40 + 88].the_char == 'b')); - /* indexed hole... */ - for (k = 0; k < 8; k++) { - assert ((contig_buf[i*2720 + j*272 + 132 + k].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 132 + k].the_char == 'b')); - } - /* hole in first vector, first block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 3 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3 + 140].the_char == 'b')); - /* hole in second vector, first block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 10 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 1, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 14 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14 + 140].the_char == 'b')); - /* hole in first vector, second block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 18 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18 + 140].the_char == 'b')); - /* hole in second vector, second block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 25 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 1, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 29 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29 + 140].the_char == 'b')); - /* hole in first vector, third block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 33 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33 + 140].the_char == 'b')); - /* hole in second vector, third block, first hvector, index 2... */ - assert ((contig_buf[i*2720 + j*272 + 40 + 140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40 + 140].the_char == 'b')); - /* hole in between hvectors, index 2... */ - for (k = 0; k < 44; k++) { - assert ((contig_buf[i*2720+j*272+44+k+140].the_double == 2.0) && - (contig_buf[i*2720 +j*272+44+k+140].the_char == 'b')); - } - /* hole in first vector, first block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+3+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 3 + 88 + 140].the_char == 'b')); - /* hole in second vector, first block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+10+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 10 + 88 + 140].the_char == 'b')); - /* hole between first & second vector blocks, hvector 2, index 2... */ - assert ((contig_buf[i*2720+j*272+14+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 14 + 88 + 140].the_char == 'b')); - /* hole in first vector, second block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+18+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 18 + 88 + 140].the_char == 'b')); - /* hole in second vector, second block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+25+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 25 + 88 + 140].the_char == 'b')); - /* hole between second & third vector blocks, hvector 2, index 2... */ - assert ((contig_buf[i*2720+j*272+29+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 29 + 88 + 140].the_char == 'b')); - /* hole in first vector, third block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+33+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 33 + 88 + 140].the_char == 'b')); - /* hole in second vector, third block, second hvector, index 2... */ - assert ((contig_buf[i*2720+j*272+40+88+140].the_double == 2.0) && - (contig_buf[i*2720 + j*272 + 40 + 88 + 140].the_char == 'b')); - } -#endif - -#ifdef RUN_TYPE_STRUCT_LB_UB - /* no holes in struct_lb_ub_recv_buf... */ -#endif - } - } - - for (i = 0; i < TYPE_CONSTRUCTOR_COUNT; i++) { - MPI_Type_free (&newtype[i]); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-error-exhaustive.c b/teshsuite/smpi/isp/umpire/type-no-error-exhaustive.c deleted file mode 100644 index 1df0319294..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-error-exhaustive.c +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error-exhaustive.c -- use all type constructors correctly */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-error-exhaustive.c,v 1.1 2002/05/29 16:09:50 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define TYPE_CONSTRUCTOR_COUNT 6 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i; - int blocklens[2], displs[2]; - MPI_Datatype newtype[TYPE_CONSTRUCTOR_COUNT]; - MPI_Datatype newtype2[TYPE_CONSTRUCTOR_COUNT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - newtype2[0] = MPI_DOUBLE; - newtype2[1] = MPI_CHAR; - blocklens[0] = blocklens[1] = 1; - displs[0] = 0; - displs[1] = 8; - - MPI_Barrier (comm); - - /* create the types */ - MPI_Type_struct (2, blocklens, displs, newtype2, &newtype[0]); - MPI_Type_vector (2, 3, 4, newtype[0], &newtype[1]); - MPI_Type_hvector (3, 2, 192, newtype[1], &newtype[2]); - displs[1] = 2; - MPI_Type_indexed (2, blocklens, displs, newtype[2], &newtype[3]); - displs[1] = 512; - MPI_Type_hindexed (2, blocklens, displs, newtype[3], &newtype[4]); - displs[1] = 8; - MPI_Type_contiguous (10, newtype[4], &newtype[5]); - - for (i = 0; i < TYPE_CONSTRUCTOR_COUNT; i++) - MPI_Type_free (&newtype[i]); - - MPI_Barrier (comm); - - /* create the types again and free with an alias... */ - MPI_Type_struct (2, blocklens, displs, newtype2, &newtype[0]); - MPI_Type_vector (2, 3, 4, newtype[0], &newtype[1]); - MPI_Type_hvector (3, 2, 192, newtype[1], &newtype[2]); - displs[1] = 2; - MPI_Type_indexed (2, blocklens, displs, newtype[2], &newtype[3]); - displs[1] = 512; - MPI_Type_hindexed (2, blocklens, displs, newtype[3], &newtype[4]); - displs[1] = 8; - MPI_Type_contiguous (10, newtype[4], &newtype[5]); - - for (i = 0; i < TYPE_CONSTRUCTOR_COUNT; i++) { - newtype2[i] = newtype[i]; - MPI_Type_free (&newtype2[i]); - } - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-error.c b/teshsuite/smpi/isp/umpire/type-no-error.c deleted file mode 100644 index 35333a1ea9..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-error.c +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-error.c -- construct a type and free it */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-error.c,v 1.1 2002/05/29 16:09:51 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Datatype newtype, newtype2; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - MPI_Type_contiguous (128, MPI_INT, &newtype); - MPI_Type_free (&newtype); - MPI_Barrier (comm); - /* now with an alias... */ - MPI_Type_contiguous (128, MPI_INT, &newtype); - newtype2 = newtype; - MPI_Type_free (&newtype2); - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-free-exhaustive.c b/teshsuite/smpi/isp/umpire/type-no-free-exhaustive.c deleted file mode 100644 index 51b38a713c..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-free-exhaustive.c +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) */ - -/* type-no-free-exhaustive.c -- use all type constructors without freeing */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-free-exhaustive.c,v 1.1 2002/05/29 16:09:51 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - - -#define TYPE_CONSTRUCTOR_COUNT 6 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - int i; - int blocklens[2], displs[2]; - MPI_Datatype newtype[TYPE_CONSTRUCTOR_COUNT]; - MPI_Datatype newtype2[TYPE_CONSTRUCTOR_COUNT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - newtype2[0] = MPI_DOUBLE; - newtype2[1] = MPI_CHAR; - blocklens[0] = blocklens[1] = 1; - displs[0] = 0; - displs[1] = 8; - - MPI_Barrier (comm); - - /* create the types */ - MPI_Type_struct (2, blocklens, displs, newtype2, &newtype[0]); - MPI_Type_vector (2, 3, 4, newtype[0], &newtype[1]); - MPI_Type_hvector (3, 2, 192, newtype[1], &newtype[2]); - displs[1] = 2; - MPI_Type_indexed (2, blocklens, displs, newtype[2], &newtype[3]); - displs[1] = 512; - MPI_Type_hindexed (2, blocklens, displs, newtype[3], &newtype[4]); - displs[1] = 8; - MPI_Type_contiguous (10, newtype[4], &newtype[5]); - - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-free.c b/teshsuite/smpi/isp/umpire/type-no-free.c deleted file mode 100644 index f8dab6e7a4..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-free.c +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Jeffrey Vetter (vetter3@llnl.gov) Thu Feb 24 2000 */ - -/* type-no-free.c -- do a type commit and no free */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-free.c,v 1.2 2000/12/04 19:09:46 bronis Exp $"; -#endif - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - MPI_Comm comm = MPI_COMM_WORLD; - char processor_name[128]; - int namelen = 128; - MPI_Datatype newtype; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (comm, &nprocs); - MPI_Comm_rank (comm, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (comm); - MPI_Type_contiguous (128, MPI_INT, &newtype); - MPI_Type_commit (&newtype); - MPI_Barrier (comm); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-free2.c b/teshsuite/smpi/isp/umpire/type-no-free2.c deleted file mode 100644 index a9c7898bc4..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-free2.c +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Dec 10 2002 */ - -/* type-no-free2.c -- create many types, failing to free some */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-free2.c,v 1.2 2003/01/13 18:31:48 bronis Exp $"; -#endif - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* 10000 breaks umpire due to running out of memory as of 12/12/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 10 -#define TYPES_PER_ITERATION 3 -#define TYPES_LOST_PER_ITERATION 1 -#define TYPES_TO_COMMIT 1 - - -#include -#include -#include "mpi.h" - - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j; - char processor_name[128]; - int namelen = 128; - MPI_Datatype newtype[TYPES_PER_ITERATION]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - for (i = 0; i < ITERATIONS; i++) { - for (j = 0; j < TYPES_PER_ITERATION; j++) { - MPI_Type_contiguous (128, MPI_INT, &newtype[j]); - - if (j >= TYPES_PER_ITERATION - TYPES_TO_COMMIT) { - MPI_Type_commit (&newtype[j]); - } - - if (j < TYPES_PER_ITERATION - TYPES_LOST_PER_ITERATION) { - MPI_Type_free (&newtype[j]); - } - } - - if (((i % (ITERATIONS/10)) == 0) && (rank == 0)) - printf ("iteration %d completed\n", i); - } - - MPI_Barrier (MPI_COMM_WORLD); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/type-no-free3.c b/teshsuite/smpi/isp/umpire/type-no-free3.c deleted file mode 100644 index 572a1b5fb5..0000000000 --- a/teshsuite/smpi/isp/umpire/type-no-free3.c +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Tue Dec 10 2002 */ - -/* type-no-free3.c -- create many types, failing to free some */ -/* much like type-no-free2.c but use types */ -/* to communicate and thus exercise umpire more */ - -#ifndef lint -static char *rcsid = - "$Header: /usr/gapps/asde/cvs-vault/umpire/tests/type-no-free3.c,v 1.2 2003/01/13 18:31:49 bronis Exp $"; -#endif - -/* NOTE: Some value of ITERATIONS will imply resource exhaustion */ -/* either in Umpire or MPI no matter how things are implemented */ -/* the best we can hope for is to fail gracefully... */ -/* 10000 breaks umpire due to running out of memory as of 12/12/02... */ -/* FAILURE IS NOT GRACEFUL AS OF THIS TIME... */ -#define ITERATIONS 10 -#define TYPES_PER_ITERATION 3 -#define TYPES_LOST_PER_ITERATION 1 -#define TYPES_TO_COMMIT 1 - - -#include -#include -#include "mpi.h" - - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - int i, j, partner, buf_j; - int buf[buf_size * TYPES_TO_COMMIT]; - char processor_name[128]; - int namelen = 128; - MPI_Datatype newtype[TYPES_PER_ITERATION]; - MPI_Request reqs[TYPES_TO_COMMIT]; - MPI_Status statuses[TYPES_TO_COMMIT]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - if (nprocs < 2) { - printf ("Not enough tasks\n"); - MPI_Finalize(); - - return 0; - } - - MPI_Barrier (MPI_COMM_WORLD); - - if ((nprocs % 2 == 0) || - (rank != nprocs - 1)) { - partner = (rank % 2) ? rank - 1 : rank + 1; - - for (i = 0; i < ITERATIONS; i++) { - for (j = 0; j < TYPES_PER_ITERATION; j++) { - MPI_Type_contiguous (buf_size, MPI_INT, &newtype[j]); - - buf_j = j + TYPES_TO_COMMIT - TYPES_PER_ITERATION; - - if (buf_j >= 0) { - MPI_Type_commit (&newtype[j]); - - if (rank % 2) { - MPI_Irecv (&buf[buf_j*buf_size], 1, newtype[j], - partner, buf_j, MPI_COMM_WORLD, &reqs[buf_j]); - } - else { - MPI_Isend (&buf[buf_j*buf_size], 1, newtype[j], - partner, buf_j, MPI_COMM_WORLD, &reqs[buf_j]); - } - } - - if (j < TYPES_PER_ITERATION - TYPES_LOST_PER_ITERATION) { - MPI_Type_free (&newtype[j]); - } - } - - MPI_Waitall (TYPES_TO_COMMIT, reqs, statuses); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - printf ("(%d) Finished normally\n", rank); - MPI_Finalize (); - - return 0; -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/wait-deadlock.c b/teshsuite/smpi/isp/umpire/wait-deadlock.c deleted file mode 100644 index 288be7ca11..0000000000 --- a/teshsuite/smpi/isp/umpire/wait-deadlock.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status status; - MPI_Request req; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &req); - - MPI_Wait (&req, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf1, 1, buf_size*sizeof(int)); - - MPI_Irecv (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &req); - - MPI_Wait (&req, &status); - - MPI_Send (buf1, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/waitall-deadlock.c b/teshsuite/smpi/isp/umpire/waitall-deadlock.c deleted file mode 100644 index be2a1e0c48..0000000000 --- a/teshsuite/smpi/isp/umpire/waitall-deadlock.c +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* no-error.c -- do some MPI calls without any errors */ - -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - MPI_Status statuses[2]; - MPI_Request reqs[2]; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - /* this code is very similar to no-error-waitall-any_src.c */ - /* but deadlocks since task 2's send and recv are inverted... */ - if (nprocs < 3) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Send (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD); - } - else if (rank == 1) - { - memset (buf0, 0, buf_size*sizeof(int)); - - MPI_Isend (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD, &reqs[0]); - - MPI_Isend (buf0, buf_size, MPI_INT, 2, 1, MPI_COMM_WORLD, &reqs[1]); - - MPI_Waitall (2, reqs, statuses); - - MPI_Recv (buf1, buf_size, MPI_INT, 0, 1, MPI_COMM_WORLD, statuses); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - else if (rank == 2) - { - MPI_Recv (buf1, buf_size, MPI_INT, 1, 1, MPI_COMM_WORLD, statuses); - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/teshsuite/smpi/isp/umpire/waitany-deadlock.c b/teshsuite/smpi/isp/umpire/waitany-deadlock.c deleted file mode 100644 index 2d0d0fc06d..0000000000 --- a/teshsuite/smpi/isp/umpire/waitany-deadlock.c +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C; -*- */ -/* Creator: Bronis R. de Supinski (bronis@llnl.gov) Fri Mar 17 2000 */ -/* waitany-deadlock.c -- deadlock involving MPI_Waitany call */ - -#include -#include -#include "mpi.h" - -#define buf_size 128 - -int -main (int argc, char **argv) -{ - int nprocs = -1; - int rank = -1; - char processor_name[128]; - int namelen = 128; - int buf0[buf_size]; - int buf1[buf_size]; - int buf2[buf_size]; - int i, flipbit, done; - MPI_Status status; - - /* init */ - MPI_Init (&argc, &argv); - MPI_Comm_size (MPI_COMM_WORLD, &nprocs); - MPI_Comm_rank (MPI_COMM_WORLD, &rank); - MPI_Get_processor_name (processor_name, &namelen); - printf ("(%d) is alive on %s\n", rank, processor_name); - fflush (stdout); - - MPI_Barrier (MPI_COMM_WORLD); - - if (nprocs < 2) - { - printf ("not enough tasks\n"); - } - else if (rank == 0) - { - MPI_Request reqs[3]; - - MPI_Irecv (buf0, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[0]); - MPI_Irecv (buf1, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[1]); - MPI_Irecv (buf2, buf_size, MPI_INT, 1, 0, MPI_COMM_WORLD, &reqs[2]); - - for (i = 3; i > 0; i--) { - MPI_Waitany (i, reqs, &done, &status); - - assert (done == (i - 1)); - - /* don't let next one start until after waitany call... */ - MPI_Send (&flipbit, 1, MPI_INT, 1, i, MPI_COMM_WORLD); - } - } - else if (rank == 1) - { - memset (buf0, 1, buf_size*sizeof(int)); - - for (i = 3; i > 0; i--) { - MPI_Recv (&flipbit, 1, MPI_INT, 0, i, MPI_COMM_WORLD, &status); - - MPI_Send (buf0, buf_size, MPI_INT, 0, 0, MPI_COMM_WORLD); - } - } - - MPI_Barrier (MPI_COMM_WORLD); - - MPI_Finalize (); - printf ("(%d) Finished normally\n", rank); -} - -/* EOF */ diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index 042419795f..3709408526 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -1028,7 +1028,6 @@ set(CMAKEFILES_TXT teshsuite/surf/CMakeLists.txt teshsuite/xbt/CMakeLists.txt - teshsuite/smpi/isp/umpire/CMakeLists.txt teshsuite/smpi/mpich3-test/CMakeLists.txt teshsuite/smpi/mpich3-test/attr/CMakeLists.txt teshsuite/smpi/mpich3-test/coll/CMakeLists.txt diff --git a/tools/jenkins/Coverage.sh b/tools/jenkins/Coverage.sh index 446df9a533..0487ff1f4e 100755 --- a/tools/jenkins/Coverage.sh +++ b/tools/jenkins/Coverage.sh @@ -114,10 +114,10 @@ if [ -f Testing/TAG ] ; then xsltproc "$WORKSPACE"/tools/jenkins/ctest2junit.xsl build/Testing/"$( head -n 1 < build/Testing/TAG )"/Test.xml > CTestResults_memcheck.xml #generate sloccount report - sloccount --duplicates --wide --details "$WORKSPACE" | grep -v -e '.git' -e 'mpich3-test' -e 'sloccount.sc' -e 'isp/umpire' -e 'build/' -e 'xml_coverage.xml' -e 'CTestResults_memcheck.xml' -e 'DynamicAnalysis.xml' > "$WORKSPACE"/sloccount.sc + sloccount --duplicates --wide --details "$WORKSPACE" | grep -v -e '.git' -e 'mpich3-test' -e 'sloccount.sc' -e 'build/' -e 'xml_coverage.xml' -e 'CTestResults_memcheck.xml' -e 'DynamicAnalysis.xml' > "$WORKSPACE"/sloccount.sc #generate PVS-studio report - EXCLUDEDPATH="-e $WORKSPACE/src/include/catch.hpp -e $WORKSPACE/src/include/xxhash.hpp -e $WORKSPACE/teshsuite/smpi/mpich3-test/ -e $WORKSPACE/teshsuite/smpi/isp/ -e *_dtd.c -e *_dtd.h -e *.yy.c -e *.tab.cacc -e *.tab.hacc -e $WORKSPACE/src/smpi/colls/ -e $WORKSPACE/examples/smpi/NAS/ -e $WORKSPACE/examples/smpi/gemm/gemm.c -e $WORKSPACE/src/msg/ -e $WORKSPACE/include/msg/ -e $WORKSPACE/examples/deprecated/ -e $WORKSPACE/teshsuite/msg/" + EXCLUDEDPATH="-e $WORKSPACE/src/include/catch.hpp -e $WORKSPACE/src/include/xxhash.hpp -e $WORKSPACE/teshsuite/smpi/mpich3-test/ -e *_dtd.c -e *_dtd.h -e *.yy.c -e *.tab.cacc -e *.tab.hacc -e $WORKSPACE/src/smpi/colls/ -e $WORKSPACE/examples/smpi/NAS/ -e $WORKSPACE/examples/smpi/gemm/gemm.c -e $WORKSPACE/src/msg/ -e $WORKSPACE/include/msg/ -e $WORKSPACE/examples/deprecated/ -e $WORKSPACE/teshsuite/msg/" pvs-studio-analyzer analyze -f "$BUILDFOLDER"/compile_commands.json -o "$WORKSPACE"/pvs.log $EXCLUDEDPATH -j$NUMPROC # Disable: # V521 Such expressions using the ',' operator are dangerous. (-> commas in catch.hpp), -- 2.20.1