{"action":"created","issue":{"url":"https://api.github.com/repos/mpiwg-rma/rma-issues/issues/2","repository_url":"https://api.github.com/repos/mpiwg-rma/rma-issues","labels_url":"https://api.github.com/repos/mpiwg-rma/rma-issues/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/mpiwg-rma/rma-issues/issues/2/comments","events_url":"https://api.github.com/repos/mpiwg-rma/rma-issues/issues/2/events","html_url":"https://github.com/mpiwg-rma/rma-issues/issues/2","id":168934421,"number":2,"title":"Deprecate usage of MPI_MINLOC and MPI_MAXLOC with accumulate","user":{"login":"hjelmn","id":1226817,"avatar_url":"https://avatars.githubusercontent.com/u/1226817?v=3","gravatar_id":"","url":"https://api.github.com/users/hjelmn","html_url":"https://github.com/hjelmn","followers_url":"https://api.github.com/users/hjelmn/followers","following_url":"https://api.github.com/users/hjelmn/following{/other_user}","gists_url":"https://api.github.com/users/hjelmn/gists{/gist_id}","starred_url":"https://api.github.com/users/hjelmn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjelmn/subscriptions","organizations_url":"https://api.github.com/users/hjelmn/orgs","repos_url":"https://api.github.com/users/hjelmn/repos","events_url":"https://api.github.com/users/hjelmn/events{/privacy}","received_events_url":"https://api.github.com/users/hjelmn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-08-02T16:50:13Z","updated_at":"2016-08-02T19:04:57Z","closed_at":null,"body":"I am putting this out there to get comments. In my opinion these operations should not be part of the MPI standard let alone be used for RMA.\r\n\r\nReasons for deprecating:\r\n - These operations require the usage of specific MPI datatypes. We have a small subset of them defined but we can imagine defining countless others. See mpi-forum/mpi-issues#18. It seems to me that due to the limited usefulness of these functions users are better off defining their own ops.\r\n\r\n- A Google search returns mostly the definition of these operations. This suggests there is very limited usage (if any). If there is no usage there is little reason to maintain these as part of the standard. I very well could be wrong and there may be many codes making use of these operations.\r\n\r\n- From my interpretation of the standard we can not modify the pad bits in types like MPI_SHORT_INT (the type that made me aware of these operations) so it takes code to support the non-contiguous predefined datatypes. I have to write the code which is why I am bringing this up.\r\n\r\nCons of deprecating:\r\n- Some hardware vendors may already provide optimizations for these operations.\r\n- There may be a much larger user base for these operations than a Google search suggests.\r\n\r\nAgain, this is more of an RFC than anything else."},"comment":{"url":"https://api.github.com/repos/mpiwg-rma/rma-issues/issues/comments/237009238","html_url":"https://github.com/mpiwg-rma/rma-issues/issues/2#issuecomment-237009238","issue_url":"https://api.github.com/repos/mpiwg-rma/rma-issues/issues/2","id":237009238,"user":{"login":"jeffhammond","id":406118,"avatar_url":"https://avatars.githubusercontent.com/u/406118?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffhammond","html_url":"https://github.com/jeffhammond","followers_url":"https://api.github.com/users/jeffhammond/followers","following_url":"https://api.github.com/users/jeffhammond/following{/other_user}","gists_url":"https://api.github.com/users/jeffhammond/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffhammond/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffhammond/subscriptions","organizations_url":"https://api.github.com/users/jeffhammond/orgs","repos_url":"https://api.github.com/users/jeffhammond/repos","events_url":"https://api.github.com/users/jeffhammond/events{/privacy}","received_events_url":"https://api.github.com/users/jeffhammond/received_events","type":"User","site_admin":false},"created_at":"2016-08-02T19:04:57Z","updated_at":"2016-08-02T19:04:57Z","body":"@hjelmn I recall that @jedbrown really likes MPI symmetry and was planning to use RMA and reductions identically, including M**LOC.\r\n\r\nWith respect to padding bits, we are only breaking the scenario when the user polls on `b` while MPI is touching `a` and `c` with M**LOC, right?\r\n```c\r\nstruct {\r\n short a;\r\n short b;\r\n int c;\r\n} my_short_short_int_t;\r\n```\r\n\r\nIf necessary, I assume that `c` has the same offset in `my_short_short_int_t` as it does in the following.\r\n```c\r\nstruct {\r\n short a;\r\n int c;\r\n} my_short_int_t;\r\n```"}}
{"actor":{"display_login":"jeffhammond"}}