{"action":"created","issue":{"url":"https://api.github.com/repos/trilinos/Trilinos/issues/205","repository_url":"https://api.github.com/repos/trilinos/Trilinos","labels_url":"https://api.github.com/repos/trilinos/Trilinos/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/trilinos/Trilinos/issues/205/comments","events_url":"https://api.github.com/repos/trilinos/Trilinos/issues/205/events","html_url":"https://github.com/trilinos/Trilinos/issues/205","id":140055278,"number":205,"title":"Tpetra::CrsGraph::findLocalIndex: Port to use Kokkos","user":{"login":"mhoemmen","id":926747,"avatar_url":"https://avatars.githubusercontent.com/u/926747?v=3","gravatar_id":"","url":"https://api.github.com/users/mhoemmen","html_url":"https://github.com/mhoemmen","followers_url":"https://api.github.com/users/mhoemmen/followers","following_url":"https://api.github.com/users/mhoemmen/following{/other_user}","gists_url":"https://api.github.com/users/mhoemmen/gists{/gist_id}","starred_url":"https://api.github.com/users/mhoemmen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhoemmen/subscriptions","organizations_url":"https://api.github.com/users/mhoemmen/orgs","repos_url":"https://api.github.com/users/mhoemmen/repos","events_url":"https://api.github.com/users/mhoemmen/events{/privacy}","received_events_url":"https://api.github.com/users/mhoemmen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/trilinos/Trilinos/labels/Tpetra","name":"Tpetra","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"amklinv","id":15895383,"avatar_url":"https://avatars.githubusercontent.com/u/15895383?v=3","gravatar_id":"","url":"https://api.github.com/users/amklinv","html_url":"https://github.com/amklinv","followers_url":"https://api.github.com/users/amklinv/followers","following_url":"https://api.github.com/users/amklinv/following{/other_user}","gists_url":"https://api.github.com/users/amklinv/gists{/gist_id}","starred_url":"https://api.github.com/users/amklinv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amklinv/subscriptions","organizations_url":"https://api.github.com/users/amklinv/orgs","repos_url":"https://api.github.com/users/amklinv/repos","events_url":"https://api.github.com/users/amklinv/events{/privacy}","received_events_url":"https://api.github.com/users/amklinv/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/trilinos/Trilinos/milestones/18","html_url":"https://github.com/trilinos/Trilinos/milestones/Tpetra%20BCRS%20Kokkos-ization","labels_url":"https://api.github.com/repos/trilinos/Trilinos/milestones/18/labels","id":1624252,"number":18,"title":"Tpetra BCRS Kokkos-ization","description":null,"creator":{"login":"mhoemmen","id":926747,"avatar_url":"https://avatars.githubusercontent.com/u/926747?v=3","gravatar_id":"","url":"https://api.github.com/users/mhoemmen","html_url":"https://github.com/mhoemmen","followers_url":"https://api.github.com/users/mhoemmen/followers","following_url":"https://api.github.com/users/mhoemmen/following{/other_user}","gists_url":"https://api.github.com/users/mhoemmen/gists{/gist_id}","starred_url":"https://api.github.com/users/mhoemmen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhoemmen/subscriptions","organizations_url":"https://api.github.com/users/mhoemmen/orgs","repos_url":"https://api.github.com/users/mhoemmen/repos","events_url":"https://api.github.com/users/mhoemmen/events{/privacy}","received_events_url":"https://api.github.com/users/mhoemmen/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":1,"state":"open","created_at":"2016-03-06T06:02:53Z","updated_at":"2016-03-11T01:37:04Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2016-03-11T01:07:13Z","updated_at":"2016-03-11T04:01:53Z","closed_at":null,"body":"@trilinos/tpetra @amklinv \r\n\r\nThis blocks #41.  \r\nIt may also help #118.\r\n\r\nTpetra::CrsGraph::findLocalIndex takes the column indices in a row of a CrsGraph / CrsMatrix, and a column index.  If the column index exists in the row, it returns the relative offset of that column index.  Otherwise, it returns a flag value.  There are other details (e.g., the search hint) but that's the essence.\r\n\r\nWe want to make this fully Kokkos-ized -- we want this functionality, marked as a Kokkos device function, so that we can use it in Kokkos::parallel_*.\r\n\r\nThere is nothing in this method that requires knowing anything about a sparse graph or matrix!  It's just search in an array.  Thus, if we want to Kokkos-ize this fully, it shouldn't even be an instance method of KokkosSparse::CrsMatrix, nor does it need to take the matrix as an input argument.  I don't want to add more instance methods to classes, especially not public ones.\r\n\r\nDoing this will get us most of the way to finishing #41.  It should also start to address #118, in that it will help us change Tpetra so that dispatch from replace / sumInto to the various storage options will happen at the top level, making the lower-level search code less general and therefore possibly faster."},"comment":{"url":"https://api.github.com/repos/trilinos/Trilinos/issues/comments/195167478","html_url":"https://github.com/trilinos/Trilinos/issues/205#issuecomment-195167478","issue_url":"https://api.github.com/repos/trilinos/Trilinos/issues/205","id":195167478,"user":{"login":"mhoemmen","id":926747,"avatar_url":"https://avatars.githubusercontent.com/u/926747?v=3","gravatar_id":"","url":"https://api.github.com/users/mhoemmen","html_url":"https://github.com/mhoemmen","followers_url":"https://api.github.com/users/mhoemmen/followers","following_url":"https://api.github.com/users/mhoemmen/following{/other_user}","gists_url":"https://api.github.com/users/mhoemmen/gists{/gist_id}","starred_url":"https://api.github.com/users/mhoemmen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhoemmen/subscriptions","organizations_url":"https://api.github.com/users/mhoemmen/orgs","repos_url":"https://api.github.com/users/mhoemmen/repos","events_url":"https://api.github.com/users/mhoemmen/events{/privacy}","received_events_url":"https://api.github.com/users/mhoemmen/received_events","type":"User","site_admin":false},"created_at":"2016-03-11T04:01:53Z","updated_at":"2016-03-11T04:01:53Z","body":"Hm, this thing actually might belong in KokkosContainers, since Kokkos::StaticCrsGraph does.  @crtrott , how do you feel about that?"}}