mdtest/src
Josh Schwartz 0e952f0f8c Fix #181.
On systems where numTasks is not evenly divisible by 'tasksPerNode' we were
seeing some nodes reading multiple files while others read none after
reordering.

Commonly all nodes have the same number of tasks but there is nothing
requiring that to be the case.  Imagine having 64 tasks running against 4
nodes which can run 20 tasks each.  Here you get three groups of 20 and one
group of 4.  On this sytem nodes running in the group of 4 were previously
getting tasksPerNode of 4 which meant they reordered tasks differently than
the nodes which got tasksPerNode of 20.

The key to fixing this is ensuring that every node reorders tasks the same
way, which means ensuring they all use the same input values.  Obviously on
systems where the number of tasks per node is inconsistent the reordering will
also be inconsistent (some tasks may end up on the same node, or not as far
separated as desired, etc.) but at least this way you'll always end up with a
1:1 reordering.

- Renamed nodes/nodeCount to numNodes
- Renamed tasksPerNode to numTasksOnNode0
- Ensured that numTasksOnNode0 will always have the same value regardless of
  which node you're on
- Removed inconsistently used globals numTasksWorld and tasksPerNode and
  replaced with per-test params equivalents
- Added utility functions for setting these values:
  - numNodes -> GetNumNodes
  - numTasks -> GetNumTasks
  - numTasksOnNode0 -> GetNumNodesOnTask0
- Improved MPI_VERSION < 3 logic for GetNumNodes so it works when numTasks is
  not evenly divisible by numTasksOnNode0
- Left 'nodes' and 'tasksPerNode' in output alone to not break compatibility
- Allowed command-line params to override numTasks, numNodes, and
  numTasksOnNode0 but default to using the MPI-calculated values
2019-08-30 16:45:03 -06:00
..
test Fix Some Memory Leaks 2019-08-02 23:33:01 -05:00
Makefile.am fix various issues related to release packages 2018-09-21 18:35:48 -04:00
aiori-DUMMY.c Support the setting of module-specific options per test. 2019-03-27 20:04:48 +00:00
aiori-HDF5.c Moved broken collectiveMetadata option into HDF5 backend module. #154 2019-05-22 10:21:18 +01:00
aiori-HDFS.c Support old legacy name in backends 2018-09-24 11:51:00 +02:00
aiori-IME.c Moving IME ODirect option into IME. #157 2019-05-23 09:54:10 +01:00
aiori-MMAP.c Fix missing initialization in MMAP options. 2019-05-23 09:31:05 +01:00
aiori-MPIIO.c Dry-run option to test the configuration / scripts. 2018-10-11 19:58:30 +01:00
aiori-NCMPI.c Fix #181. 2019-08-30 16:45:03 -06:00
aiori-POSIX.c Fix Last Free 2019-08-04 18:27:20 -05:00
aiori-RADOS.c Changed the parser. 2018-10-11 18:31:21 +01:00
aiori-S3.c Support old legacy name in backends 2018-09-24 11:51:00 +02:00
aiori.c Support the setting of module-specific options per test. 2019-03-27 20:04:48 +00:00
aiori.h add mknod support 2019-05-23 13:41:46 +08:00
ior-internal.h Bugfix JSON output for multiple processes 2018-10-11 18:59:12 +01:00
ior-main.c Added missing file. 2018-07-07 11:57:04 +01:00
ior-output.c Fix #181. 2019-08-30 16:45:03 -06:00
ior.c Fix #181. 2019-08-30 16:45:03 -06:00
ior.h Fix #181. 2019-08-30 16:45:03 -06:00
iordef.h GNU99 extracted _XOPEN_SOURCE to config.h. 2018-10-28 18:34:22 +00:00
mdtest-main.c Initialize only the required backends 2018-09-18 19:24:29 +02:00
mdtest.c Fix #181. 2019-08-30 16:45:03 -06:00
mdtest.h Some simplification / unification between IOR and MDTest. 2018-07-07 22:19:42 +01:00
option.c Abort when invalid options are set. 2019-07-24 00:29:58 +01:00
option.h Support the setting of module-specific options per test. 2019-03-27 20:04:48 +00:00
parse_options.c Fix #181. 2019-08-30 16:45:03 -06:00
parse_options.h Numerous changes to file-modes, small build-tweaks, and a tweak to aiori-S3.c 2015-05-19 09:36:28 -06:00
utilities.c Fix #181. 2019-08-30 16:45:03 -06:00
utilities.h Fix #181. 2019-08-30 16:45:03 -06:00