Nature Language: testMultiPingping:Verifies the the multi-pingping benchmark worked correctly.
  
CPP: int testMultiPingping(int sizeofBuffer, int dataSize){\n    int i;\n    int testFlag, localTestFlag;\n    localTestFlag = TRUE;\n\n    if (crossCommRank == pingNodeA || crossCommRank == pingNodeB) {\n        testBuf = (int *)malloc(sizeof(int) * sizeofBuffer);\n\n        #pragma omp parallel for default(none)        \\\n            private(i)                                \\\n            shared(otherPingRank,numThreads,dataSize,sizeofBuffer,testBuf)    \\\n            schedule(static,dataSize)\n        for (i=0; i<sizeofBuffer; i++){\n            testBuf[i] = (otherPingRank * numThreads) + myThreadID;\n        }\n\n        for (i=0; i<sizeofBuffer; i++){\n            if (testBuf[i] != finalRecvBuf[i]){\n                localTestFlag = FALSE;\n            }\n        }\n\n        free(testBuf);\n    }\n\n    MPI_Reduce(&localTestFlag, &testFlag, 1, MPI_INT, MPI_LAND, 0, comm);\n\n    if (myMPIRank == 0){\n        setTestOutcome(testFlag);\n    }\n\n    return 0;\n}",
  
Fortran: SUBROUTINE testMultiPingping(sizeofBuffer, dataSize)\n integer, intent(in) :: sizeofBuffer, dataSize\n integer :: i\n logical :: testFlag, localTestFlag\n\n !set localTestFlag to true\n localTestFlag = .true.\n\n !Testing done for processes on pingNodeA & pingNodeB\n IF (crossCommRank == pingNodeA .or. &\n crossCommRank == pingNodeB) THEN\n\n !allocate space for testBuf\n allocate(testBuf(sizeofBuffer))\n\n !Construct testBuf with correct values\n!$OMP PARALLEL DO DEFAULT(NONE), &\n!$OMP PRIVATE(i), &\n!$OMP SHARED(otherPingRank,numThreads,dataSize), &\n!$OMP SHARED(sizeofBuffer,testBuf), &\n!$OMP SCHEDULE(STATIC,dataSize)\n DO i = 1, sizeofBuffer\n !calculate globalID of thread expected in finalRecvBuf.\n !This is done using otherPingRank\n testBuf(i) = (otherPingRank * numThreads) + myThreadID\n END DO\n!$OMP END PARALLEL DO\n\n !Compare each element of testBuf and finalRecvBuf\n DO i = 1, sizeofBuffer\n IF (testBuf(i) /= finalRecvBuf(i)) THEN\n localTestFlag = .false.\n END IF\n END DO\n\n !free space for testBuf\n deallocate(testBuf)\n\n END IF\n\n !Reduce testFlag into master with logical AND \n CALL MPI_Reduce(localTestFlag, testFlag, 1, MPI_LOGICAL, &\n MPI_LAND, 0, comm, ierr)\n\n !master sets testOutcome flag\n IF (myMPIRank == 0) THEN\n CALL setTestOutcome(testFlag)\n END IF\n\n END SUBROUTINE testMultiPingping
  