-
Notifications
You must be signed in to change notification settings - Fork 61
Conversation
While I support the idea of isolating transport/messaging technology, the choice of boundaries doesn't seem right. The PR creates a huge transport module which includes much more than just transport: file-read/write, communication (send/recv, collectives), join, shuffle and more. |
Could you please provide an example? |
Things like count_lines, hpat_mpi_csv_get_offsets, get_file_size, get_lower_upper_kth_parallel. I simply believe the benefit of having less files including mpi.h does not justify impairing the code structure by any degree. A lot of code changes without apparent benefit. In my mind, a better approach is to gradually move to an abstraction (like what 'hdist_*' was doing) everywhere. Once that's done, we can move it to a properly designed and isolated module. This will never make anything worse. |
@fschlimb |
You can just add a comment to the functions to count them. No need to move them around. There is a difference between the functionality that MPI provides and functions that depend on that functionality. I like the idea of isolating the former, but I don't think we should bundle the latter. |
You will have no guarantee you find all functions and their successors.
I also like this idea. How to do this and what first step should be in this approach? How much time it takes (the task - remove MPI dependency)? |
* MPI localization in one place * hdf5 mpi comment out * remove MPI_LIB from chiframes module
Step 1.
No algorithms changed.
The code copied from one place to other without any modifications. It still have all issues, bugs, memory leaks and etc. Fixing that is the other PRs.
Exception: CSV module slightly changed (in C part) due to MPI related code intermixed with non-MPI. It needs to be addressed but I think it will be in other PR.