------- Forwarded Message From: Nicholas Nevin -SMCC - High Performance Computing Subject: Re: MPI Test Suite To: lusk@mcs.anl.gov > That would be great, if it isn't too inconvenient. > Of course we would like to > think that we have found all the bugs, but anyone who actually claims such a > thing doesn't actually do software.... Amen to that. Here are the patches. The SCCS logs may help show what we thought the problem was. If you need any help interpreting them let me know. Regards, Nick. P.S. The patches where made relative to .../MPITEST/Test/ - --Murder_of_Crows_507_000 Content-Type: TEXT/plain; name=diffs; charset=us-ascii; x-unix-mode=0664 Content-Description: diffs Content-MD5: fFDRSpVxIGGyqOVNqJ91qw== - ------- node.c ------- *** /tmp/dyFzS__ Thu May 21 16:08:58 1998 - --- ./c/collective/functional/MPI_collective_message/node.c Fri Apr 10 11:45:23 1998 *************** *** 45,51 **** #include "mpitest_cfg.h" #include "mpitest.h" ! #define MPITEST_SEND_LENGTH 4096 /*----------------------------------------------------------------------------- Pre-collective operation: - --- 45,51 ---- #include "mpitest_cfg.h" #include "mpitest.h" ! #define MPITEST_SEND_LENGTH 1024 /*----------------------------------------------------------------------------- Pre-collective operation: *************** *** 132,143 **** stat; fail = 0; - - send_buffer[0] = tag; - - recv_buffer[0] = 0; if (partner != MPI_UNDEFINED) { if (side == 1) { ierr = MPI_Recv(recv_buffer, MPITEST_SEND_LENGTH, MPI_INT, partner, tag, MPI_COMM_WORLD, &stat); if (ierr != MPI_SUCCESS) - --- 132,144 ---- stat; fail = 0; if (partner != MPI_UNDEFINED) { if (side == 1) { + send_buffer[0] = tag; + recv_buffer[0] = 0; + ierr = MPI_Recv(recv_buffer, MPITEST_SEND_LENGTH, MPI_INT, partner, tag, MPI_COMM_WORLD, &stat); if (ierr != MPI_SUCCESS) *************** *** 220,225 **** - --- 221,227 ---- *result_dsplsary, send_buf[MPITEST_SEND_LENGTH], recv_buf[MPITEST_SEND_LENGTH]; + void *ubval; char info_buf[256],/* buffer for passing mesages to MPITEST */ *************** *** 266,272 **** partner = MPITEST_me - 1; side = MPITEST_me%2; ! ierr = MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, &value, &ub); /* * Allocate memory for the various collective structures - --- 268,275 ---- partner = MPITEST_me - 1; side = MPITEST_me%2; ! ierr = MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, &ubval, &ub); ! ub = *((int *) ubval); /* * Allocate memory for the various collective structures - ------- node.c ------- *** /tmp/d0TG55Q Thu May 21 16:08:59 1998 - --- ./c/datatype/functional/MPI_Pack_basic_type/node.c Fri Feb 27 10:55:42 1998 *************** *** 102,108 **** value; /* dataTemplate for initializing buffers */ char *in_buffer, *packed_buffer, *buf_ptr; /* message buffer */ - - char info_buf[256], /* buffer for passing mesages to MPITEST */ testname[128]; /* the name of this test */ - --- 102,107 ---- *************** *** 335,341 **** } /* Also initialize the unused data buffer as well */ ! for (i = length * extent; i < max_length + MPITEST_ADD_BUFSIZE; i++) { in_buffer[i] = -1 * MPITEST_current_rank; } } - --- 334,341 ---- } /* Also initialize the unused data buffer as well */ ! for (i = (length - 1) * extent + acc; ! i < max_length + MPITEST_ADD_BUFSIZE; i++) { in_buffer[i] = -1 * MPITEST_current_rank; } } *************** *** 373,381 **** position = 0; - - buf_ptr = in_buffer; - - for (i = 0; i < length; i++) { for (type_count = 0; type_count < basic_types; type_count++) { test_type = MPITEST_get_datatype(type_count); - --- 373,380 ---- position = 0; for (i = 0; i < length; i++) { + buf_ptr = in_buffer + i * extent; for (type_count = 0; type_count < basic_types; type_count++) { test_type = MPITEST_get_datatype(type_count); *************** *** 524,529 **** - --- 523,529 ---- position = 0; buf_ptr = in_buffer; for (i = 0; i < length; i++) { + buf_ptr = in_buffer + i * extent; for (type_count = 0; type_count < basic_types; type_count++) { test_type = MPITEST_get_datatype(type_count); - ------- node.c ------- *** /tmp/d.HDjq_ Thu May 21 16:08:59 1998 - --- ./c/datatype/functional/MPI_Pack_user_type/node.c Fri Feb 27 12:28:32 1998 *************** *** 312,318 **** length_count, comm_count, length, test_nump, comm_type, extent, root); MPITEST_message(MPITEST_INFO1, info_buf); } ! /* Initialize send & recv buffer */ if (MPITEST_current_rank != root) { for (i = 0; i < max_length + MPITEST_ADD_BUFSIZE; i++) { - --- 312,321 ---- length_count, comm_count, length, test_nump, comm_type, extent, root); MPITEST_message(MPITEST_INFO1, info_buf); } ! ! memset(in_buffer, -1 * MPITEST_current_rank, ! max_length + MPITEST_ADD_BUFSIZE); ! /* Initialize send & recv buffer */ if (MPITEST_current_rank != root) { for (i = 0; i < max_length + MPITEST_ADD_BUFSIZE; i++) { *************** *** 335,345 **** acc += type_sizes[j]; } } - - - - /* Also initialize the unused data buffer as well */ - - for (i = length * extent; i < max_length + MPITEST_ADD_BUFSIZE; i++) { - - in_buffer[i] = -1 * MPITEST_current_rank; - - } } loop_cnt++; - --- 338,343 ---- *************** *** 400,406 **** MPITEST_message(MPITEST_INFO2, info_buf); } #endif ! /* Sending packed message size to receiver */ sprintf(info_buf, "Sending message size from source: %d to %d, tag: %d", root, dest, tag + 1); MPITEST_message(MPITEST_INFO1, info_buf); - --- 398,413 ---- MPITEST_message(MPITEST_INFO2, info_buf); } #endif ! #ifdef MPITEST_DISP_BUF ! sprintf(info_buf, "Displaying PACKED Sender's data buffer:"); ! MPITEST_message(MPITEST_INFO2, info_buf); ! ! for (i = 0; i < pack_size + MPITEST_ADD_BUFSIZE; i++) { ! sprintf(info_buf, "buffer[%d] = %d", i, packed_buffer[i]); ! MPITEST_message(MPITEST_INFO2, info_buf); ! } ! #endif ! /* Sending packed message size to receiver */ sprintf(info_buf, "Sending message size from source: %d to %d, tag: %d", root, dest, tag + 1); MPITEST_message(MPITEST_INFO1, info_buf); *************** *** 448,454 **** sprintf(info_buf, "Receiving PACKED data from source: %d to %d, tag: %d", root, dest, tag); MPITEST_message(MPITEST_INFO1, info_buf); ! ierr = MPI_Recv(packed_buffer, position, newtype, root, tag, comm, &status); if (ierr != MPI_SUCCESS) { fail++; - --- 455,461 ---- sprintf(info_buf, "Receiving PACKED data from source: %d to %d, tag: %d", root, dest, tag); MPITEST_message(MPITEST_INFO1, info_buf); ! ierr = MPI_Recv(packed_buffer, position, MPI_PACKED, root, tag, comm, &status); if (ierr != MPI_SUCCESS) { fail++; - ------- node.c ------- *** /tmp/dot6Qm_ Thu May 21 16:08:59 1998 - --- ./c/datatype/functional/MPI_Type_free_pending_msg/node.c Thu Apr 9 14:20:31 1998 *************** *** 573,578 **** - --- 573,599 ---- } } + /* + * Need to call MPI_Wait() for the matching MPI_Isend() on the root. This needs to + * be done prior to freeing the buffer. Otherwise, this test is erroneous as the + * buffer can be freed prior to the data being sent. (Don't laugh, it happend using + * the TCP PM). This test was relying on the last MPI_Barrier() to progress the + * MPI_Isend(). I would imagine there is a memory leak also since the send requests + * would never be freed. + * 3/27/98 rolfv + */ + if (MPITEST_current_rank == root) { + sprintf(info_buf, "Waiting for the MPI_Isend() to complete\n"); + MPITEST_message(MPITEST_INFO2, info_buf); + ierr = MPI_Wait(&request, &status); + if (ierr != MPI_SUCCESS) { + sprintf(info_buf, "MPI_Wait() returned %d", ierr); + MPITEST_message(MPITEST_NONFATAL, info_buf); + MPI_Error_string(ierr, &info_buf[0], &size); + MPITEST_message(MPITEST_FATAL, info_buf); + } + } + free(buffer); #ifdef MPITEST_SYNC - ------- node.c ------- *** /tmp/d0ChZGk Thu May 21 16:08:59 1998 - --- ./c/grp_ctxt_comm/functional/MPI_Group_difference1/node.c Fri Apr 10 08:18:24 1998 *************** *** 119,127 **** } /* Error Test */ loop_cnt++; - - - - - - /* difference with itself */ ierr = MPI_Group_difference (group, group, &group2); if (ierr != MPI_SUCCESS) - --- 119,124 ---- *************** *** 134,140 **** } /* Error Test */ loop_cnt++; ! if (group2 != MPI_GROUP_EMPTY) { fail++; sprintf(info_buf, "MPI_Group_difference(group, group) did not return MPI_GROUP_EMPTY (comm_index %d)", comm_index); - --- 131,147 ---- } /* Error Test */ loop_cnt++; ! ierr = MPI_Group_compare(group2, MPI_GROUP_EMPTY, &result); ! if (ierr != MPI_SUCCESS) ! { ! sprintf(info_buf, "Non-zero return code (%d) from MPI_Group_difference(group, group) (comm_index %d)", ierr, comm_index); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! MPI_Error_string(ierr, &info_buf[0], &size); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! fail++; ! } /* Error Test */ ! ! if (result != MPI_IDENT) { fail++; sprintf(info_buf, "MPI_Group_difference(group, group) did not return MPI_GROUP_EMPTY (comm_index %d)", comm_index); *************** *** 143,151 **** } loop_cnt++; - - - - - - /* difference with GROUP_EMPTY */ ierr = MPI_Group_difference (MPI_GROUP_EMPTY, group, &group2); if (ierr != MPI_SUCCESS) - --- 150,155 ---- *************** *** 158,164 **** } /* Error Test */ loop_cnt++; ! if (group2 != MPI_GROUP_EMPTY) { fail++; sprintf(info_buf, "MPI_Group_difference(EMPTY, group) did not return MPI_GROUP_EMPTY (comm_index %d)", comm_index); - --- 162,178 ---- } /* Error Test */ loop_cnt++; ! ierr = MPI_Group_compare(group2, MPI_GROUP_EMPTY, &result); ! if (ierr != MPI_SUCCESS) ! { ! sprintf(info_buf, "Non-zero return code (%d) from MPI_Group_difference(EMPTY, group) (comm_index %d)", ierr, comm_index); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! MPI_Error_string(ierr, &info_buf[0], &size); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! fail++; ! } /* Error Test */ ! ! if (result != MPI_IDENT) { fail++; sprintf(info_buf, "MPI_Group_difference(EMPTY, group) did not return MPI_GROUP_EMPTY (comm_index %d)", comm_index); *************** *** 168,174 **** loop_cnt++; - - /* reverse difference with GROUP_EMPTY */ ierr = MPI_Group_difference (group, MPI_GROUP_EMPTY, &group2); if (ierr != MPI_SUCCESS) - --- 182,187 ---- *************** *** 236,242 **** } /* Error Test */ loop_cnt++; ! if (group2 != MPI_GROUP_EMPTY) { fail++; sprintf(info_buf, "MPI_Group_difference(group, world) did not return MPI_GROUP_EMPTY (comm_index %d)", comm_index); - --- 249,265 ---- } /* Error Test */ loop_cnt++; ! ierr = MPI_Group_compare(group2, MPI_GROUP_EMPTY, &result); ! if (ierr != MPI_SUCCESS) ! { ! sprintf(info_buf, "Non-zero return code (%d) from MPI_Group_difference(group, world) (comm_index %d)", ierr, comm_index); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! MPI_Error_string(ierr, &info_buf[0], &size); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! fail++; ! } /* Error Test */ ! ! if (result != MPI_IDENT) { fail++; sprintf(info_buf, "MPI_Group_difference(group, world) did not return MPI_GROUP_EMPTY (comm_index %d)", comm_index); - ------- node.c ------- *** /tmp/dcU07i_ Thu May 21 16:08:59 1998 - --- ./c/grp_ctxt_comm/functional/MPI_Group_excl1/node.c Fri Apr 10 08:11:52 1998 *************** *** 362,368 **** } /* Error Test */ loop_cnt++; ! if (group != MPI_GROUP_EMPTY) { sprintf(info_buf, "MPI_Group_excl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - --- 362,369 ---- } /* Error Test */ loop_cnt++; ! MPI_Group_compare(group, MPI_GROUP_EMPTY, &result); ! if (result != MPI_IDENT) { sprintf(info_buf, "MPI_Group_excl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - ------- node.c ------- *** /tmp/d00ITzf Thu May 21 16:08:59 1998 - --- ./c/grp_ctxt_comm/functional/MPI_Group_incl1/node.c Fri Apr 10 08:13:55 1998 *************** *** 352,358 **** } /* Error Test */ loop_cnt++; ! if (group != MPI_GROUP_EMPTY) { sprintf(info_buf, "MPI_Group_incl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - --- 352,359 ---- } /* Error Test */ loop_cnt++; ! MPI_Group_compare(group, MPI_GROUP_EMPTY, &result); ! if (result != MPI_IDENT) { sprintf(info_buf, "MPI_Group_incl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - ------- node.c ------- *** /tmp/dQ5wpd_ Thu May 21 16:08:59 1998 - --- ./c/grp_ctxt_comm/functional/MPI_Group_intersection1/node.c Fri Apr 10 08:18:50 1998 *************** *** 178,184 **** } /* Error Test */ loop_cnt++; ! if (group2 != MPI_GROUP_EMPTY) { fail++; sprintf(info_buf, "MPI_Group_intersection(EMPTY, group) did not return empty group (comm_index %d)", comm_index); - --- 178,194 ---- } /* Error Test */ loop_cnt++; ! ierr = MPI_Group_compare(MPI_GROUP_EMPTY, group2, &result); ! if (ierr != MPI_SUCCESS) ! { ! sprintf(info_buf, "Non-zero return code (%d) from MPI_Group_compare(empty, group) (comm_index %d)", ierr, comm_index); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! MPI_Error_string(ierr, &info_buf[0], &size); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! fail++; ! } /* Error Test */ ! ! if (result != MPI_IDENT) { fail++; sprintf(info_buf, "MPI_Group_intersection(EMPTY, group) did not return empty group (comm_index %d)", comm_index); *************** *** 186,194 **** MPI_Error_string(ierr, &info_buf[0], &size); } - - - - - - /* reverse intersection with GROUP_EMPTY */ ierr = MPI_Group_intersection (group, MPI_GROUP_EMPTY, &group2); if (ierr != MPI_SUCCESS) - --- 196,201 ---- *************** *** 201,215 **** } /* Error Test */ loop_cnt++; ! if (group2 != MPI_GROUP_EMPTY) { fail++; sprintf(info_buf, "MPI_Group_intersection(group, empty) did not return empty group (comm_index %d)", comm_index); MPITEST_message(MPITEST_NONFATAL, info_buf); MPI_Error_string(ierr, &info_buf[0], &size); } - - - - /* Get a group for the MPI_COMM_WORLD */ ierr = MPI_Comm_group(comm, &groupworld); - --- 208,230 ---- } /* Error Test */ loop_cnt++; ! ierr = MPI_Group_compare(group2, MPI_GROUP_EMPTY, &result); ! if (ierr != MPI_SUCCESS) ! { ! sprintf(info_buf, "Non-zero return code (%d) from MPI_Group_compare(group, empty) (comm_index %d)", ierr, comm_index); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! MPI_Error_string(ierr, &info_buf[0], &size); ! MPITEST_message(MPITEST_NONFATAL, info_buf); ! fail++; ! } /* Error Test */ ! ! if (result != MPI_IDENT) { fail++; sprintf(info_buf, "MPI_Group_intersection(group, empty) did not return empty group (comm_index %d)", comm_index); MPITEST_message(MPITEST_NONFATAL, info_buf); MPI_Error_string(ierr, &info_buf[0], &size); } /* Get a group for the MPI_COMM_WORLD */ ierr = MPI_Comm_group(comm, &groupworld); - ------- node.c ------- *** /tmp/d0quMgb Thu May 21 16:08:59 1998 - --- ./c/grp_ctxt_comm/functional/MPI_Group_range_excl1/node.c Fri Apr 10 08:19:59 1998 *************** *** 368,374 **** } /* Error Test */ loop_cnt++; ! if (group != MPI_GROUP_EMPTY) { sprintf(info_buf, "MPI_Group_range_excl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - --- 368,375 ---- } /* Error Test */ loop_cnt++; ! MPI_Group_compare(group, MPI_GROUP_EMPTY, &result); ! if (result != MPI_IDENT) { sprintf(info_buf, "MPI_Group_range_excl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - ------- node.c ------- *** /tmp/dEipWZ_ Thu May 21 16:08:59 1998 - --- ./c/grp_ctxt_comm/functional/MPI_Group_range_incl1/node.c Fri Apr 10 08:15:34 1998 *************** *** 356,362 **** } /* Error Test */ loop_cnt++; ! if (group != MPI_GROUP_EMPTY) { sprintf(info_buf, "MPI_Group_range_incl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - --- 356,363 ---- } /* Error Test */ loop_cnt++; ! MPI_Group_compare(group, MPI_GROUP_EMPTY, &result); ! if (result != MPI_IDENT) { sprintf(info_buf, "MPI_Group_range_incl of size 0 did not return MPI_GROUP_EMPTY)"); MPITEST_message(MPITEST_NONFATAL, info_buf); - ------- node.c ------- *** /tmp/d0eVGNX Thu May 21 16:08:59 1998 - --- ./c/nonblocking/functional/MPI_Waitany/node.c Wed Apr 1 09:24:54 1998 *************** *** 104,109 **** - --- 104,117 ---- bsend_buff[NUMMESG * (8*NUMELM + MPI_BSEND_OVERHEAD + 100)]; /*----------------------- MPI Initialization --------------------------*/ + /* + * Zero the status arrays. This works around the bogus testing of unset + * statuses later in this test. This is not a real fix but doing it right + * is too much effort. -njn. + */ + memset(send_stat, 0, 4*NUMMESG*sizeof(MPI_Status)); + memset(recv_stat, 0, 4*NUMMESG*sizeof(MPI_Status)); + /* * * Initialize the MPI environment and test environment. */ - ------- node.c ------- *** /tmp/dvVKhE_ Thu May 21 16:09:00 1998 - --- ./c/nonblocking/functional/rings/node.c Tue Mar 24 09:29:12 1998 *************** *** 447,453 **** void get_cmd_opt(int argc, char *argv[]) { ! int i; while (i < argc) { if (!strcmp(argv[i], "-b")) { - --- 447,453 ---- void get_cmd_opt(int argc, char *argv[]) { ! int i = 0; while (i < argc) { if (!strcmp(argv[i], "-b")) { - ------- node.c ------- *** /tmp/d9WO_y_ Thu May 21 16:09:00 1998 - --- ./c/persist_request/functional/MPI_Request_free_p/node.c Thu Apr 16 12:33:56 1998 *************** *** 507,517 **** } ! ! /* Detach the buffer, and free the dynamic memory */ ! berr = MPI_Buffer_detach(&buff, &bsize); ! free(buff); ! /* report overall results */ - --- 507,517 ---- } ! if (MPITEST_me == 0) { ! /* Detach the buffer, and free the dynamic memory */ ! berr = MPI_Buffer_detach(&buff, &bsize); ! free(buff); ! } /* report overall results */ - ------- node.c ------- *** /tmp/d0ZJrrv Thu May 21 16:09:00 1998 - --- ./c/topo/functional/MPI_Cart_shift_nonperiodic/node.c Fri Apr 3 13:48:31 1998 *************** *** 291,298 **** for (m = 0; m < ndims; m++) test_coords[m] = coords[m]; ! test_coords[j] = exp_sorc; ! MPI_Cart_rank(comm_cart, test_coords, &sorc_rank); if (sorc_rank != sorc) { sprintf(info_buf, "Source (%d/%d) expected coord/rank (%d/%d) Actual %d", j, k, exp_sorc, sorc_rank, sorc); - --- 291,302 ---- for (m = 0; m < ndims; m++) test_coords[m] = coords[m]; ! if (exp_sorc == MPI_PROC_NULL) { ! sorc_rank = MPI_PROC_NULL; ! } else { ! test_coords[j] = exp_sorc; ! MPI_Cart_rank(comm_cart, test_coords, &sorc_rank); ! } if (sorc_rank != sorc) { sprintf(info_buf, "Source (%d/%d) expected coord/rank (%d/%d) Actual %d", j, k, exp_sorc, sorc_rank, sorc); *************** *** 324,331 **** for (m = 0; m < ndims; m++) test_coords[m] = coords[m]; ! test_coords[j] = exp_dest; ! MPI_Cart_rank(comm_cart, test_coords, &dest_rank); if (dest_rank != dest) { sprintf(info_buf, "Dest (%d/%d) expected coord/rank (%d/%d) Actual %d", j, k, exp_dest, dest_rank, dest); - --- 328,339 ---- for (m = 0; m < ndims; m++) test_coords[m] = coords[m]; ! if (exp_dest == MPI_PROC_NULL) { ! dest_rank = MPI_PROC_NULL; ! } else { ! test_coords[j] = exp_dest; ! MPI_Cart_rank(comm_cart, test_coords, &dest_rank); ! } if (dest_rank != dest) { sprintf(info_buf, "Dest (%d/%d) expected coord/rank (%d/%d) Actual %d", j, k, exp_dest, dest_rank, dest); - ------- node.F ------- *** /tmp/dz6Iit_ Thu May 21 16:09:00 1998 - --- ./fortran/blocking/functional/MPI_Bsend_ator/node.F Wed Apr 8 13:37:15 1998 *************** *** 514,527 **** C C Detach buffer for BSEND C ! CALL MPI_BUFFER_DETACH(BSEND_BUFF, BUFFSIZE, IERR) ! IF (IERR .NE. 0) THEN ! INFOBUF=' ' ! WRITE(INFOBUF,99) 'MPI_BUFFER_DETACH() returned', $ IERR ! CALL MPITEST_MESSAGE(MPITEST_FATAL, INFOBUF) ! END IF ! CALL MPI_BARRIER(BARRIER_COMM, IERR) IF (IERR .NE. MPI_SUCCESS) THEN INFOBUF=' ' - --- 514,531 ---- C C Detach buffer for BSEND C ! IF ((INTER_FLAG .EQV. .FALSE.) .OR. ! $ ((INTER_FLAG .EQV. .TRUE.) .AND. ! $ (MPITEST_INTER .EQ. SEND_GROUP))) THEN ! CALL MPI_BUFFER_DETACH(BSEND_BUFF, BUFFSIZE, IERR) ! IF (IERR .NE. 0) THEN ! INFOBUF=' ' ! WRITE(INFOBUF,99) 'MPI_BUFFER_DETACH() returned', $ IERR ! CALL MPITEST_MESSAGE(MPITEST_FATAL, INFOBUF) ! END IF ! END IF ! CALL MPI_BARRIER(BARRIER_COMM, IERR) IF (IERR .NE. MPI_SUCCESS) THEN INFOBUF=' ' - ------- node.F ------- *** /tmp/d0NwkYr Thu May 21 16:09:00 1998 - --- ./fortran/datatype/functional/MPI_Type_contiguous_idispls/node.F Fri Apr 10 10:42:29 1998 *************** *** 319,325 **** $ INFOBUF) END IF ! IF (EXTENT * LENGTH .GT. MAX_BUFF_SIZE) THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, $ ' (type extent * length = ', EXTENT, ' * ', - --- 319,325 ---- $ INFOBUF) END IF ! IF (EXTENT .GT. MAX_BUFF_SIZE / LENGTH) THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, $ ' (type extent * length = ', EXTENT, ' * ', - ------- node.F ------- *** /tmp/dnjBPp_ Thu May 21 16:09:00 1998 - --- ./fortran/datatype/functional/MPI_Type_hindexed_types/node.F Mon Apr 13 10:47:13 1998 *************** *** 95,101 **** INTEGER MPITEST_ADD_BUFSIZE PARAMETER (MPITEST_ADD_BUFSIZE = 20) ! MPITEST_AINT DISPLS(MPITEST_CFGSIZ), DISPLS1(MPITEST_CFGSIZ) INTEGER COMM, STATUS(MPI_STATUS_SIZE) - --- 95,101 ---- INTEGER MPITEST_ADD_BUFSIZE PARAMETER (MPITEST_ADD_BUFSIZE = 20) ! MPITEST_AINT DISPLS(MAX_BUFF_SIZE), DISPLS1(MAX_BUFF_SIZE) INTEGER COMM, STATUS(MPI_STATUS_SIZE) *************** *** 107,113 **** INTEGER OLDTYPE, NEWTYPE, TYPES(MPITEST_CFGSIZ) ! INTEGER BLKLENS(MPITEST_CFGSIZ), BLKLENS1(MPITEST_CFGSIZ) INTEGER TYPE_SIZES(MPITEST_CFGSIZ) - --- 107,113 ---- INTEGER OLDTYPE, NEWTYPE, TYPES(MPITEST_CFGSIZ) ! INTEGER BLKLENS(MAX_BUFF_SIZE), BLKLENS1(MAX_BUFF_SIZE) INTEGER TYPE_SIZES(MPITEST_CFGSIZ) *************** *** 321,327 **** CALL MPITEST_MESSAGE(MPITEST_INFO1, $ INFOBUF) END IF ! ELSE IF (EXTENT * LENGTH .GT. MAX_BUFF_SIZE) THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, $ ' (type extent * length = ', EXTENT, ' * ', - --- 321,327 ---- CALL MPITEST_MESSAGE(MPITEST_INFO1, $ INFOBUF) END IF ! ELSE IF (EXTENT .GT. MAX_BUFF_SIZE / LENGTH) THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, $ ' (type extent * length = ', EXTENT, ' * ', - ------- node.F ------- *** /tmp/d0BXeFn Thu May 21 16:09:00 1998 - --- ./fortran/datatype/functional/MPI_Type_hvector_stride/node.F Mon Apr 13 11:14:41 1998 *************** *** 336,342 **** ELSE C Make sure there is enough space in the buffer C ! IF ((EXTENT + LENGTH) * LENGTH .GT. MAX_BUFF_SIZE) $ THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, - --- 336,342 ---- ELSE C Make sure there is enough space in the buffer C ! IF ((EXTENT + LENGTH) .GT. MAX_BUFF_SIZE / LENGTH) $ THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, *************** *** 399,412 **** C Initialize send & recv buffer C IF (MPITEST_CURRENT_RANK .NE. ROOT) THEN ! DO 650 I = 1, LENGTH * LENGTH * EXTENT + $ MPITEST_ADD_BUFSIZE, 1 BUFFER(I:I) = 'B' 650 CONTINUE ELSE C Root's rank C ! DO 660 I = 1, LENGTH * LENGTH * EXTENT + $ MPITEST_ADD_BUFSIZE, 1 BUFFER(I:I) = 'A' 660 CONTINUE - --- 399,412 ---- C Initialize send & recv buffer C IF (MPITEST_CURRENT_RANK .NE. ROOT) THEN ! DO 650 I = 1, LENGTH * (LENGTH+EXTENT) + $ MPITEST_ADD_BUFSIZE, 1 BUFFER(I:I) = 'B' 650 CONTINUE ELSE C Root's rank C ! DO 660 I = 1, LENGTH * (LENGTH+EXTENT) + $ MPITEST_ADD_BUFSIZE, 1 BUFFER(I:I) = 'A' 660 CONTINUE - ------- node.F ------- *** /tmp/dbK56l_ Thu May 21 16:09:00 1998 - --- ./fortran/datatype/functional/MPI_Type_indexed_types/node.F Mon Apr 13 10:41:58 1998 *************** *** 95,102 **** INTEGER MPITEST_ADD_BUFSIZE PARAMETER (MPITEST_ADD_BUFSIZE = 20) ! MPITEST_AINT DISPLS(MPITEST_CFGSIZ) ! INTEGER DISPLS1(MPITEST_CFGSIZ) INTEGER COMM, STATUS(MPI_STATUS_SIZE) - --- 95,102 ---- INTEGER MPITEST_ADD_BUFSIZE PARAMETER (MPITEST_ADD_BUFSIZE = 20) ! MPITEST_AINT DISPLS(MAX_BUFF_SIZE) ! INTEGER DISPLS1(MAX_BUFF_SIZE) INTEGER COMM, STATUS(MPI_STATUS_SIZE) *************** *** 108,114 **** INTEGER OLDTYPE, NEWTYPE, TYPES(MPITEST_CFGSIZ) ! INTEGER BLKLENS(MPITEST_CFGSIZ), BLKLENS1(MPITEST_CFGSIZ) INTEGER TYPE_SIZES(MPITEST_CFGSIZ) - --- 108,114 ---- INTEGER OLDTYPE, NEWTYPE, TYPES(MPITEST_CFGSIZ) ! INTEGER BLKLENS(MAX_BUFF_SIZE), BLKLENS1(MAX_BUFF_SIZE) INTEGER TYPE_SIZES(MPITEST_CFGSIZ) *************** *** 321,327 **** CALL MPITEST_MESSAGE(MPITEST_INFO1, $ INFOBUF) END IF ! ELSE IF (EXTENT * LENGTH .GT. MAX_BUFF_SIZE) THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, $ ' (type extent * length = ', EXTENT, ' * ', - --- 321,327 ---- CALL MPITEST_MESSAGE(MPITEST_INFO1, $ INFOBUF) END IF ! ELSE IF (EXTENT .GT. MAX_BUFF_SIZE / LENGTH) THEN WRITE(INFOBUF, 120) 'Skipping length = ', $ LENGTH, $ ' (type extent * length = ', EXTENT, ' * ', - ------- node.F ------- *** /tmp/d0sK9QS Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_difference1/node.F Thu Apr 9 11:31:05 1998 *************** *** 188,194 **** C C Check the result C ! IF(GROUP2 .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_DIFFERENCE(GROUP,GROUP) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, ')' - --- 188,195 ---- C C Check the result C ! CALL MPI_GROUP_COMPARE(GROUP2, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_DIFFERENCE(GROUP,GROUP) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, ')' *************** *** 218,224 **** C C Check the result C ! IF(GROUP2 .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_DIFFERENCE(EMPTY,GROUP) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, - --- 219,226 ---- C C Check the result C ! CALL MPI_GROUP_COMPARE(GROUP2, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_DIFFERENCE(EMPTY,GROUP) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, *************** *** 332,338 **** C C Check the result C ! IF(GROUP2 .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_DIFFERENCE(GROUP, WORLD) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, - --- 334,341 ---- C C Check the result C ! CALL MPI_GROUP_COMPARE(GROUP2, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_DIFFERENCE(GROUP, WORLD) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, - ------- node.F ------- *** /tmp/d0zXqBv Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_excl1/node.F Thu Apr 9 11:34:11 1998 *************** *** 461,467 **** END IF LOOP_COUNT = LOOP_COUNT + 1 C ! IF(GROUP .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_EXCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - --- 461,468 ---- END IF LOOP_COUNT = LOOP_COUNT + 1 C ! CALL MPI_GROUP_COMPARE(GROUP, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_EXCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - ------- node.F ------- *** /tmp/dNLH2t_ Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_incl1/node.F Thu Apr 9 13:49:17 1998 *************** *** 463,469 **** END IF LOOP_COUNT = LOOP_COUNT + 1 ! IF(GROUP .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_INCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - --- 463,470 ---- END IF LOOP_COUNT = LOOP_COUNT + 1 ! CALL MPI_GROUP_COMPARE(GROUP, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_INCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - ------- node.F ------- *** /tmp/d0n8kuq Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_intersection1/node.F Thu Apr 9 14:23:08 1998 *************** *** 256,262 **** C C Check the result C ! IF(GROUP2 .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_INTERSECTION(EMPTY,GROUP) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, - --- 256,263 ---- C C Check the result C ! CALL MPI_GROUP_COMPARE(GROUP2, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_INTERSECTION(EMPTY,GROUP) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, *************** *** 288,294 **** C C Check the result C ! IF(GROUP2 .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_INTERSECTION(GROUP, EMPTY) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, ')' - --- 289,296 ---- C C Check the result C ! CALL MPI_GROUP_COMPARE(GROUP2, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'MPI_GROUP_INTERSECTION(GROUP, EMPTY) did not return' , $ 'MPI_GROUP_EMPTY) ( COMM_INDEX )', COMM_INDEX, ')' - ------- node.F ------- *** /tmp/dByAlo_ Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_intersection2/node.F Thu Apr 9 14:08:53 1998 *************** *** 149,156 **** C Create two groups C RANKS(0,0) = MPITEST_NUMP - 1 ! RANKS(0,1) = 0 ! RANKS(0,2) = 1 C CALL MPI_GROUP_EXCL(GROUPWORLD, $ 3, - --- 149,156 ---- C Create two groups C RANKS(0,0) = MPITEST_NUMP - 1 ! RANKS(1,0) = 0 ! RANKS(2,0) = 1 C CALL MPI_GROUP_EXCL(GROUPWORLD, $ 3, - ------- node.F ------- *** /tmp/d0bldbm Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_range_excl1/node.F Thu Apr 9 14:11:12 1998 *************** *** 482,488 **** END IF LOOP_COUNT = LOOP_COUNT + 1 C ! IF(GROUP .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_EXCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - --- 482,489 ---- END IF LOOP_COUNT = LOOP_COUNT + 1 C ! CALL MPI_GROUP_COMPARE(GROUP, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_EXCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - ------- node.F ------- *** /tmp/d_Z4Sk_ Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Group_range_incl1/node.F Thu Apr 9 14:12:20 1998 *************** *** 472,478 **** END IF LOOP_COUNT = LOOP_COUNT + 1 C ! IF(GROUP .NE. MPI_GROUP_EMPTY) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_INCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - --- 472,479 ---- END IF LOOP_COUNT = LOOP_COUNT + 1 C ! CALL MPI_GROUP_COMPARE(GROUP, MPI_GROUP_EMPTY, RESULT, IERR) ! IF(RESULT .NE. MPI_IDENT) THEN WRITE(INFOBUF,101) $ 'After MPI_GROUP_INCL of size 0 did not return ', $ 'MPI_GROUP_EMPTY' - ------- node.F ------- *** /tmp/d0PMXIi Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Intercomm_create2/node.F Thu Apr 9 11:44:54 1998 *************** *** 112,119 **** INTEGER COMMINTER INTEGER COMM2 C for split communicator - - INTEGER KEY - - C MPI_Key INTEGER COMMSIZE C communicator size INTEGER EXTRA - --- 112,117 ---- *************** *** 598,617 **** C Node defined in current communicator 4000 CONTINUE C End communicator loop - - C - - C Free the Keyval - - C - - CALL MPI_KEYVAL_FREE(KEY, IERR) - - IF (IERR .NE. MPI_SUCCESS) THEN - - FAIL = FAIL + 1 - - WRITE(INFOBUF,102) 'Non-Zero return code (', IERR, - - $ ') From: MPI_Keyval_free' - - CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) - - ERRORSTRING = ' ' - - CALL MPI_ERROR_STRING(IERR, ERRORSTRING, SIZE, ERR) - - WRITE(INFOBUF,100) ERRORSTRING - - CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) - - END IF C C Report overall results C - --- 596,601 ---- - ------- node.F ------- *** /tmp/dp9.9g_ Thu May 21 16:09:01 1998 - --- ./fortran/grp_ctxt_comm/functional/MPI_Keyval3/node.F Mon Apr 27 14:38:05 1998 *************** *** 101,106 **** - --- 101,109 ---- C for keyval creation/use EXTERNAL COPY_FUNCTION EXTERNAL DELETE_FUNCTION + + INTEGER EXTRAS(1) + COMMON EXTRAS C----------------------------------------------------------------------------- 98 FORMAT(A,A ) 99 FORMAT(A,INT_FMT) *************** *** 133,139 **** FAIL = 0 LOOP_COUNT = 0 VERIFY = 0 ! EXTRA = 0 C C------------------------- Create a Keyval ---------------------------- C - --- 136,143 ---- FAIL = 0 LOOP_COUNT = 0 VERIFY = 0 ! EXTRA = 1 ! EXTRAs(EXTRA) = 0 C C------------------------- Create a Keyval ---------------------------- C *************** *** 265,271 **** C C Delete the Attribute C ! EXTRA = 2 CALL MPI_ATTR_DELETE(COMM1, $ KEY, $ IERR) - --- 269,275 ---- C C Delete the Attribute C ! EXTRAS(EXTRA) = 2 CALL MPI_ATTR_DELETE(COMM1, $ KEY, $ IERR) *************** *** 364,371 **** INTEGER ATTRIBUTE_VAL INTEGER EXTRA_STATE INTEGER IERR C ! IF(EXTRA_STATE .EQ. 0) THEN IERR = MPI_ERR_OTHER ELSE IERR = MPI_SUCCESS - --- 368,377 ---- INTEGER ATTRIBUTE_VAL INTEGER EXTRA_STATE INTEGER IERR + INTEGER EXTRAS(1) + COMMON EXTRAS C ! IF(EXTRAS(EXTRA_STATE) .EQ. 0) THEN IERR = MPI_ERR_OTHER ELSE IERR = MPI_SUCCESS - ------- node.F ------- *** /tmp/d0DzQ_e Thu May 21 16:09:01 1998 - --- ./fortran/misc/functional/MPI_pdefs/node.F Wed Apr 8 13:18:28 1998 *************** *** 576,584 **** PASS = PASS + 1 END IF ! ERR = MPI_TAG_UB ! IF (ERR .LT. 32767) THEN ! WRITE (INFOBUF,101) 'MPI_TAG_UB =', MPI_TAG_UB, $ ' SHOULD BE >32767' CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) FAIL = FAIL + 1 - --- 576,584 ---- PASS = PASS + 1 END IF ! CALL MPI_ATTR_GET(MPI_COMM_WORLD, MPI_TAG_UB, ATTR1, ERR, IERROR) ! IF (ATTR1 .LT. 32767) THEN ! WRITE (INFOBUF,101) 'MPI_TAG_UB =', ATTR1, $ ' SHOULD BE >32767' CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) FAIL = FAIL + 1 - ------- node.F ------- *** /tmp/ddmtrb_ Thu May 21 16:09:01 1998 - --- ./fortran/nonblocking/functional/rings/node.F Mon Apr 13 13:27:05 1998 *************** *** 114,120 **** INTEGER RING, CNT, MAX_LEN, FAILED INTEGER NUM_RINGS ! INTEGER J, K, MPI_REQUEST, MPI_STATUS(MAX_STATUS_ROW), MPI_COUNT INTEGER FROMNODE, RECV_LEN, RECV_TYPE, SND_LEN, IERR CHARACTER*(IOSIZE) INFOBUF - --- 114,120 ---- INTEGER RING, CNT, MAX_LEN, FAILED INTEGER NUM_RINGS ! INTEGER J, K, MPI_REQUEST, MPI_STATUS(MPI_STATUS_SIZE), MPI_COUNT INTEGER FROMNODE, RECV_LEN, RECV_TYPE, SND_LEN, IERR CHARACTER*(IOSIZE) INFOBUF *************** *** 293,299 **** CHARACTER*(IOSIZE) INFOBUF ! INTEGER MPI_STATUS(MAX_STATUS_ROW), MPI_REQUEST INTEGER MPI_COUNT INTEGER NUM_RINGS, MAX_LOOPS - --- 293,299 ---- CHARACTER*(IOSIZE) INFOBUF ! INTEGER MPI_STATUS(MPI_STATUS_SIZE), MPI_REQUEST INTEGER MPI_COUNT INTEGER NUM_RINGS, MAX_LOOPS - ------- node.F ------- *** /tmp/d01aKiZ Thu May 21 16:09:02 1998 - --- ./fortran/topo/functional/MPI_Cart_shift_nonperiodic/node.F Fri Apr 10 09:20:51 1998 *************** *** 402,421 **** TEST_COORDS(M) = COORDS(M) 520 CONTINUE TEST_COORDS(J) = EXP_SORC ! CALL MPI_CART_RANK(COMM_CART, ! $ TEST_COORDS, ! $ SORC_RANK, ! $ IERR) ! IF (IERR .NE. MPI_SUCCESS) THEN ! FAIL = FAIL + 1 ! CALL MPI_ERROR_CLASS(IERR, ERRORCLASS, ERR) ! WRITE(INFOBUF,102) 'MPI_CART_RANK ERROR (', IERR, ! $ ') ERRORCLASS = ', ERRORCLASS ! CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) ! ERRORSTRING = ' ' ! CALL MPI_ERROR_STRING(IERR, ERRORSTRING, SIZE, ERR) ! WRITE(INFOBUF,100) ERRORSTRING ! CALL MPITEST_MESSAGE(MPITEST_FATAL, INFOBUF) END IF IF(SORC_RANK .NE. SORC) THEN WRITE(INFOBUF,102) - --- 402,425 ---- TEST_COORDS(M) = COORDS(M) 520 CONTINUE TEST_COORDS(J) = EXP_SORC ! IF (EXP_SORC .EQ. MPI_PROC_NULL) THEN ! SORC_RANK = MPI_PROC_NULL ! ELSE ! CALL MPI_CART_RANK(COMM_CART, ! $ TEST_COORDS, ! $ SORC_RANK, ! $ IERR) ! IF (IERR .NE. MPI_SUCCESS) THEN ! FAIL = FAIL + 1 ! CALL MPI_ERROR_CLASS(IERR, ERRORCLASS, ERR) ! WRITE(INFOBUF,102) 'MPI_CART_RANK ERROR (', IERR, ! $ ') ERRORCLASS = ', ERRORCLASS ! CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) ! ERRORSTRING = ' ' ! CALL MPI_ERROR_STRING(IERR, ERRORSTRING, SIZE, ERR) ! WRITE(INFOBUF,100) ERRORSTRING ! CALL MPITEST_MESSAGE(MPITEST_FATAL, INFOBUF) ! END IF END IF IF(SORC_RANK .NE. SORC) THEN WRITE(INFOBUF,102) *************** *** 447,466 **** TEST_COORDS(M) = COORDS(M) 540 CONTINUE TEST_COORDS(J) = EXP_DEST ! CALL MPI_CART_RANK(COMM_CART, $ TEST_COORDS, $ DEST_RANK, $ IERR) ! IF (IERR .NE. MPI_SUCCESS) THEN ! FAIL = FAIL + 1 ! CALL MPI_ERROR_CLASS(IERR, ERRORCLASS, ERR) ! WRITE(INFOBUF,102) 'MPI_CART_RANK ERROR (', IERR, ! $ ') ERRORCLASS = ', ERRORCLASS ! CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) ! ERRORSTRING = ' ' ! CALL MPI_ERROR_STRING(IERR, ERRORSTRING, SIZE, ERR) ! WRITE(INFOBUF,100) ERRORSTRING ! CALL MPITEST_MESSAGE(MPITEST_FATAL, INFOBUF) END IF IF(DEST_RANK .NE. DEST) THEN WRITE(INFOBUF,102) - --- 451,474 ---- TEST_COORDS(M) = COORDS(M) 540 CONTINUE TEST_COORDS(J) = EXP_DEST ! IF (EXP_DEST .EQ. MPI_PROC_NULL) THEN ! DEST_RANK = MPI_PROC_NULL ! ELSE ! CALL MPI_CART_RANK(COMM_CART, $ TEST_COORDS, $ DEST_RANK, $ IERR) ! IF (IERR .NE. MPI_SUCCESS) THEN ! FAIL = FAIL + 1 ! CALL MPI_ERROR_CLASS(IERR, ERRORCLASS, ERR) ! WRITE(INFOBUF,102) 'MPI_CART_RANK ERROR (', IERR, ! $ ') ERRORCLASS = ', ERRORCLASS ! CALL MPITEST_MESSAGE(MPITEST_NONFATAL, INFOBUF) ! ERRORSTRING = ' ' ! CALL MPI_ERROR_STRING(IERR, ERRORSTRING, SIZE, ERR) ! WRITE(INFOBUF,100) ERRORSTRING ! CALL MPITEST_MESSAGE(MPITEST_FATAL, INFOBUF) ! END IF END IF IF(DEST_RANK .NE. DEST) THEN WRITE(INFOBUF,102) - --Murder_of_Crows_507_000 Content-Type: TEXT/plain; name=logs; charset=us-ascii; x-unix-mode=0664 Content-Description: logs Content-MD5: Pkt6l+2oGjIxhboWC6A6Og== ./c/collective/functional/MPI_collective_message/SCCS/s.node.c: D 1.3 98/04/10 11:45:22 nevin 4 3 00003/00002/00799 Attribute value must be a void * not an int. This makes a big difference in LP64. D 1.2 98/02/08 12:46:25 nevin 3 1 00005/00003/00796 Don't re-init receive buffer when waiting on irecv. Use shorter message. Set tag properly. D 1.1 97/07/08 09:55:12 dkerr 1 0 00799/00000/00000 date and time created 97/07/08 09:55:12 by dkerr ./c/datatype/functional/MPI_Pack_basic_type/SCCS/s.node.c: D 1.2 98/02/27 10:55:39 nevin 3 1 00004/00004/00671 The packing and unpacking didn't correctly account for the extent of the structure. D 1.1 97/07/08 09:57:03 dkerr 1 0 00675/00000/00000 date and time created 97/07/08 09:57:03 by dkerr ./c/datatype/functional/MPI_Pack_user_type/SCCS/s.node.c: D 1.2 98/02/27 12:28:31 nevin 3 1 00015/00008/00638 Must receive as type MPI_PACKED since the received buffer is subsequently explicitly MPI_Unpack'ed. D 1.1 97/07/08 09:57:15 dkerr 1 0 00646/00000/00000 date and time created 97/07/08 09:57:15 by dkerr ./c/datatype/functional/MPI_Type_free_pending_msg/SCCS/s.node.c: D 1.2 98/03/27 09:12:03 rolfv 3 1 00021/00000/00610 The buffer used in the MPI_Isend() call was beeing freed prior to the data being sent. This caused problems with the TCP PM when using rendezvous protocol. An MPI_Wait() was added to the code prior to freeing the send buffer. D 1.1 97/07/08 09:57:28 dkerr 1 0 00610/00000/00000 date and time created 97/07/08 09:57:28 by dkerr ./c/grp_ctxt_comm/functional/MPI_Group_difference1/SCCS/s.node.c: D 1.2 98/04/10 08:18:21 nevin 3 1 00033/00010/00281 Use MPI_Group_compare to compare group with empty group. D 1.1 97/07/08 10:01:59 dkerr 1 0 00291/00000/00000 date and time created 97/07/08 10:01:59 by dkerr ./c/grp_ctxt_comm/functional/MPI_Group_excl1/SCCS/s.node.c: D 1.2 98/04/10 08:11:48 nevin 3 1 00002/00001/00548 Use MPI_Group_compare to compare group with empty group. D 1.1 97/07/08 10:02:05 dkerr 1 0 00549/00000/00000 date and time created 97/07/08 10:02:05 by dkerr ./c/grp_ctxt_comm/functional/MPI_Group_incl1/SCCS/s.node.c: D 1.2 98/04/10 08:13:52 nevin 3 1 00002/00001/00434 Use MPI_Group_compare to compare group with empty group. D 1.1 97/07/08 10:02:09 dkerr 1 0 00435/00000/00000 date and time created 97/07/08 10:02:09 by dkerr ./c/grp_ctxt_comm/functional/MPI_Group_intersection1/SCCS/s.node.c: D 1.2 98/04/10 08:18:46 nevin 3 1 00022/00007/00351 Use MPI_Group_compare to compare group with empty group. D 1.1 97/07/08 10:02:12 dkerr 1 0 00358/00000/00000 date and time created 97/07/08 10:02:12 by dkerr ./c/grp_ctxt_comm/functional/MPI_Group_range_excl1/SCCS/s.node.c: D 1.2 98/04/10 08:19:55 nevin 3 1 00002/00001/00552 Use MPI_Group_compare to compare group with empty group. D 1.1 97/07/08 10:02:17 dkerr 1 0 00553/00000/00000 date and time created 97/07/08 10:02:17 by dkerr ./c/grp_ctxt_comm/functional/MPI_Group_range_incl1/SCCS/s.node.c: D 1.2 98/04/10 08:15:30 nevin 3 1 00002/00001/00436 Use MPI_Group_compare to compare group with empty group. D 1.1 97/07/08 10:02:23 dkerr 1 0 00437/00000/00000 date and time created 97/07/08 10:02:23 by dkerr ./c/nonblocking/functional/MPI_Waitany/SCCS/s.node.c: D 1.2 98/04/01 09:24:53 nevin 3 1 00008/00000/00558 Workaround for bogus testing of non-set statuses, i.e. those corresponding to inactive requests. D 1.1 97/07/08 10:05:32 dkerr 1 0 00558/00000/00000 date and time created 97/07/08 10:05:32 by dkerr ./c/nonblocking/functional/rings/SCCS/s.node.c: D 1.2 98/03/24 09:29:11 nevin 3 1 00001/00001/00888 Initialize index variable i. D 1.1 97/07/08 10:05:35 dkerr 1 0 00889/00000/00000 date and time created 97/07/08 10:05:35 by dkerr ./c/persist_request/functional/MPI_Request_free_p/SCCS/s.node.c: D 1.2 98/04/16 12:33:57 nevin 3 1 00005/00005/00519 Only process which attached buffer can detach it. D 1.1 97/07/08 10:07:19 dkerr 1 0 00524/00000/00000 date and time created 97/07/08 10:07:19 by dkerr ./c/topo/functional/MPI_Cart_shift_nonperiodic/SCCS/s.node.c: D 1.2 98/04/03 13:41:02 nevin 4 1 00012/00004/00387 Test erroneously called MPI_Cart_rank with an out of range coord. In a non-periodic dimension this is erroneous. Hammerhead (and MPICH) do not return an error (this is wrong in my opinion) in this case but return rank = MPI_PROC_NULL. D 1.1 97/07/08 10:11:45 dkerr 1 0 00391/00000/00000 date and time created 97/07/08 10:11:45 by dkerr ./fortran/blocking/functional/MPI_Bsend_ator/SCCS/s.node.F: D 1.2 98/04/08 13:37:14 nevin 3 1 00011/00007/00570 Only detach a buffer if we attached one. D 1.1 97/07/07 17:57:44 dkerr 1 0 00577/00000/00000 - - The intial checkin of the Intel Test Suite plus some changes made by Nick Nevin. ./fortran/datatype/functional/MPI_Type_contiguous_idispls/SCCS/s.node.F: D 1.2 98/04/10 10:42:29 nevin 3 1 00001/00001/00765 Alter length test to avoid overflow when EXTENT and LENGTH are large. D 1.1 97/07/08 10:19:27 dkerr 1 0 00766/00000/00000 date and time created 97/07/08 10:19:27 by dkerr ./fortran/datatype/functional/MPI_Type_hindexed_types/SCCS/s.node.F: D 1.2 98/04/13 10:47:11 nevin 3 1 00003/00003/00744 Increase displs and blklens array sizes to avoid overruns. D 1.1 97/07/08 10:19:45 dkerr 1 0 00747/00000/00000 date and time created 97/07/08 10:19:45 by dkerr ./fortran/datatype/functional/MPI_Type_hvector_stride/SCCS/s.node.F: D 1.2 98/04/13 11:14:38 nevin 3 1 00003/00003/00762 Fix initialize loop to not overrun the data array bounds. D 1.1 97/07/08 10:19:51 dkerr 1 0 00765/00000/00000 date and time created 97/07/08 10:19:51 by dkerr ./fortran/datatype/functional/MPI_Type_indexed_types/SCCS/s.node.F: D 1.2 98/04/13 10:41:55 nevin 3 1 00004/00004/00743 Some arrays were to short and data was being overwritten. D 1.1 97/07/08 10:20:01 dkerr 1 0 00747/00000/00000 date and time created 97/07/08 10:20:01 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_difference1/SCCS/s.node.F: D 1.2 98/04/09 11:31:04 nevin 3 1 00006/00003/00386 Must use MPI_GROUP_COMPARE to compare groups. D 1.1 97/07/08 10:25:04 dkerr 1 0 00389/00000/00000 date and time created 97/07/08 10:25:04 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_excl1/SCCS/s.node.F: D 1.2 98/04/09 11:34:11 nevin 3 1 00002/00001/00675 Must use MPI_GROUP_COMPARE to compare groups. D 1.1 97/07/08 10:25:10 dkerr 1 0 00676/00000/00000 date and time created 97/07/08 10:25:10 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_incl1/SCCS/s.node.F: D 1.2 98/04/09 13:49:15 nevin 3 1 00002/00001/00561 Must use MPI_GROUP_COMPARE to compare group with MPI_GROUP_EMPTY. D 1.1 97/07/08 10:25:13 dkerr 1 0 00562/00000/00000 date and time created 97/07/08 10:25:13 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_intersection1/SCCS/s.node.F: D 1.2 98/04/09 14:23:05 nevin 3 1 00004/00002/00491 Must use MPI_GROUP_COMPARE to compare group with MPI_GROUP_EMPTY. D 1.1 97/07/08 10:25:17 dkerr 1 0 00493/00000/00000 date and time created 97/07/08 10:25:17 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_intersection2/SCCS/s.node.F: D 1.2 98/04/09 14:08:51 nevin 3 1 00002/00002/00397 Ranks must be in 1-D array for MPI_GROUP_EXCL. Fake it by using first column. D 1.1 97/07/08 10:25:18 dkerr 1 0 00399/00000/00000 date and time created 97/07/08 10:25:18 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_range_excl1/SCCS/s.node.F: D 1.2 98/04/09 14:11:10 nevin 3 1 00002/00001/00696 Must use MPI_GROUP_COMPARE to compare group with MPI_GROUP_EMPTY. D 1.1 97/07/08 10:25:22 dkerr 1 0 00697/00000/00000 date and time created 97/07/08 10:25:22 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Group_range_incl1/SCCS/s.node.F: D 1.2 98/04/09 14:12:18 nevin 3 1 00002/00001/00564 Must use MPI_GROUP_COMPARE to compare group with MPI_GROUP_EMPTY. D 1.1 97/07/08 10:25:28 dkerr 1 0 00565/00000/00000 date and time created 97/07/08 10:25:28 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Intercomm_create2/SCCS/s.node.F: D 1.2 98/04/09 11:44:54 nevin 3 1 00000/00016/00606 Remove freeing of key which was never created. D 1.1 97/07/08 10:25:43 dkerr 1 0 00622/00000/00000 date and time created 97/07/08 10:25:43 by dkerr ./fortran/grp_ctxt_comm/functional/MPI_Keyval3/SCCS/s.node.F: D 1.2 98/04/27 14:38:05 nevin 3 1 00009/00003/00373 Extra value is passed by value not by reference. D 1.1 97/07/08 10:25:55 dkerr 1 0 00376/00000/00000 date and time created 97/07/08 10:25:55 by dkerr ./fortran/misc/functional/MPI_pdefs/SCCS/s.node.F: D 1.2 98/04/08 13:18:28 nevin 3 1 00003/00003/00806 MPI_TAG_UB is the key not the attribute value D 1.1 97/07/08 10:26:00 dkerr 1 0 00809/00000/00000 date and time created 97/07/08 10:26:00 by dkerr ./fortran/nonblocking/functional/rings/SCCS/s.node.F: D 1.2 98/04/13 13:27:05 nevin 3 1 00002/00002/00394 Fix incorrect declaration of status. D 1.1 97/07/08 10:28:32 dkerr 1 0 00396/00000/00000 date and time created 97/07/08 10:28:32 by dkerr ./fortran/topo/functional/MPI_Cart_shift_nonperiodic/SCCS/s.node.F: D 1.2 98/04/10 09:20:48 nevin 3 1 00033/00025/00494 Test erroneously called MPI_Cart_rank with an out of range coord. In a non-periodic dimension this is erroneous. Hammerhead (and MPICH) do not return an error (this is wrong in my opinion) in this case but return rank = MPI_PROC_NULL. D 1.1 97/07/08 10:34:47 dkerr 1 0 00519/00000/00000 date and time created 97/07/08 10:34:47 by dkerr - --Murder_of_Crows_507_000-- ------- End of Forwarded Message