int main(int argc, char **argv) { int ret = 0; int rc; char *str = NULL; int ti = (argc > 1 ? atoi(argv[1]) : 0); srand(time(NULL)); str = getenv("VERBOSE"); _verbose = (str ? atoi(str) : _verbose); str = getenv("LEGACY"); _legacy = (str ? atoi(str) : _legacy); spawned = random_value(10, 20); size = random_value(10, 20); rank = random_value(10, 20); appnum = random_value(10, 20); if (PMI2_SUCCESS != (rc = PMI2_Init(&spawned, &size, &rank, &appnum))) { log_fatal("PMI2_Init failed: %d\n", rc); return rc; } if (!ti || 1 == ti) { rc = test_item1(); ret += (rc ? 1 : 0); log_info("TI1 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 2 == ti) { rc = test_item2(); ret += (rc ? 1 : 0); log_info("TI2 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 3 == ti) { rc = test_item3(); ret += (rc ? 1 : 0); log_info("TI3 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 4 == ti) { rc = test_item4(); ret += (rc ? 1 : 0); log_info("TI4 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 5 == ti) { rc = test_item5(); ret += (rc ? 1 : 0); log_info("TI5 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 6 == ti) { rc = test_item6(); ret += (rc ? 1 : 0); log_info("TI6 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 7 == ti) { rc = test_item7(); ret += (rc ? 1 : 0); log_info("TI7 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 8 == ti) { rc = test_item8(); ret += (rc ? 1 : 0); log_info("TI8 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 9 == ti) { rc = test_item9(); ret += (rc ? 1 : 0); log_info("TI9 : %s\n", (rc ? "FAIL" : "PASS")); } if (PMI2_SUCCESS != (rc = PMI2_Finalize())) { log_fatal("PMI2_Finalize failed: %d\n", rc); return rc; } return ret; }
int main(int argc, char **argv) { int ret = 0; int rc; char *str = NULL; int ti = (argc > 1 ? atoi(argv[1]) : 0); srand(time(NULL)); str = getenv("VERBOSE"); _verbose = (str ? atoi(str) : _verbose); spawned = random_value(10, 20); size = random_value(10, 20); rank = random_value(10, 20); appnum = random_value(10, 20); if (PMI_SUCCESS != (rc = PMI_Init(&spawned))) { log_fatal("PMI_Init failed: %d\n", rc); return rc; } str = getenv("PMIX_NAMESPACE"); _legacy = (str ? 0 : 1); /* this test should be always run */ if (1) { rc = test_item1(); ret += (rc ? 1 : 0); log_info("TI1 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 2 == ti) { rc = test_item2(); ret += (rc ? 1 : 0); log_info("TI2 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 3 == ti) { rc = test_item3(); ret += (rc ? 1 : 0); log_info("TI3 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 4 == ti) { rc = test_item4(); ret += (rc ? 1 : 0); log_info("TI4 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 5 == ti) { rc = test_item5(); ret += (rc ? 1 : 0); log_info("TI5 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 6 == ti) { rc = test_item6(); ret += (rc ? 1 : 0); log_info("TI6 : %s\n", (rc ? "FAIL" : "PASS")); } if (!ti || 7 == ti) { rc = test_item7(); ret += (rc ? 1 : 0); log_info("TI7 : %s\n", (rc ? "FAIL" : "PASS")); } if (PMI_SUCCESS != (rc = PMI_Finalize())) { log_fatal("PMI_Finalize failed: %d\n", rc); return rc; } return ret; }
/**************************************************************************** * Test Case processing procedure ***************************************************************************/ int osh_reduce_tc8(const TE_NODE *node, int argc, const char *argv[]) { int rc = TC_PASS; rc = __parse_opt(node, argc, argv); if (rc == TC_PASS) { pSync = shmalloc(sizeof(*pSync) * _SHMEM_REDUCE_SYNC_SIZE); if (!pSync) { rc = TC_SETUP_FAIL; } } else { rc = TC_SETUP_FAIL; } /* Every PE does reduction of the single value as symmetric data object to itself */ if (rc == TC_PASS) { rc = test_item1(); log_item(node, 1, rc); shmem_barrier_all(); } /* All PEs reduce the single value */ if (rc == TC_PASS) { rc = test_item2(); log_item(node, 2, rc); shmem_barrier_all(); } /* Every PE does reduction of the single value as symmetric data object to itself * (target and source are the same array) */ if (rc == TC_PASS) { rc = test_item3(); log_item(node, 3, rc); shmem_barrier_all(); } /* All PEs reduce the single value * (target and source are the same array) */ if (rc == TC_PASS) { rc = test_item4(); log_item(node, 4, rc); shmem_barrier_all(); } /* Every PE does reduction of the buffer as symmetric data object to itself */ if (rc == TC_PASS) { rc = test_item5(); log_item(node, 5, rc); shmem_barrier_all(); } /* All PEs reduce the buffer */ if (rc == TC_PASS) { rc = test_item6(); log_item(node, 6, rc); shmem_barrier_all(); } /* Even PEs reduce the dynamic buffer */ if (rc == TC_PASS) { rc = test_item7(); log_item(node, 7, rc); shmem_barrier_all(); } /* Even PEs reduce the static buffer */ if (rc == TC_PASS) { rc = test_item8(); log_item(node, 8, rc); shmem_barrier_all(); } /* reduce calls in loop with alternating multiple pSync and pWrk arrays (without barrrier synchronization between iterations) */ if (rc == TC_PASS) { rc = test_item9(); log_item(node, 9, rc); shmem_barrier_all(); } if (pSync) { shfree(pSync); } return rc; }
/**************************************************************************** * Test Case processing procedure ***************************************************************************/ int osh_coll_tc1(const TE_NODE *node, int argc, const char *argv[]) { int rc = TC_PASS; rc = __parse_opt(node, argc, argv); if (rc == TC_PASS) { pSync = shmalloc(sizeof(*pSync) * _SHMEM_COLLECT_SYNC_SIZE); if (!pSync) { rc = TC_SETUP_FAIL; } } /* Every PE put the single value as symmetric data object to itself * The data is not copied to the target address on the PE specified by PE_root. */ if (rc == TC_PASS) { rc = test_item1(); log_item(node, 1, rc); shmem_barrier_all(); } /* PE#0 put defined single value to all */ if (rc == TC_PASS) { rc = test_item2(); log_item(node, 2, rc); shmem_barrier_all(); } /* Random PE put defined single value to all */ if (rc == TC_PASS) { rc = test_item3(); log_item(node, 3, rc); shmem_barrier_all(); } /* PE#0 put defined single value to even PEs */ if (rc == TC_PASS) { rc = test_item4(); log_item(node, 4, rc); shmem_barrier_all(); } /* PE#0 put dynamic buffer to even PEs */ if (rc == TC_PASS) { rc = test_item5(); log_item(node, 5, rc); shmem_barrier_all(); } /* PE#0 put static buffer to even PEs */ if (rc == TC_PASS) { rc = test_item6(); log_item(node, 6, rc); shmem_barrier_all(); } /* broadcast calls in loop with alternating multiple pSync arrays (without barrrier synchronization between iterations) */ if (rc == TC_PASS) { rc = test_item7(); log_item(node, 7, rc); shmem_barrier_all(); } if (pSync) { shfree(pSync); } return rc; }