{"action":"created","issue":{"url":"https://api.github.com/repos/GPU-correlators/xGPU/issues/8","labels_url":"https://api.github.com/repos/GPU-correlators/xGPU/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/GPU-correlators/xGPU/issues/8/comments","events_url":"https://api.github.com/repos/GPU-correlators/xGPU/issues/8/events","html_url":"https://github.com/GPU-correlators/xGPU/issues/8","id":59264414,"number":8,"title":"Support matrix reordering on the GPU","user":{"login":"mikeaclark","id":316771,"avatar_url":"https://avatars.githubusercontent.com/u/316771?v=3","gravatar_id":"","url":"https://api.github.com/users/mikeaclark","html_url":"https://github.com/mikeaclark","followers_url":"https://api.github.com/users/mikeaclark/followers","following_url":"https://api.github.com/users/mikeaclark/following{/other_user}","gists_url":"https://api.github.com/users/mikeaclark/gists{/gist_id}","starred_url":"https://api.github.com/users/mikeaclark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikeaclark/subscriptions","organizations_url":"https://api.github.com/users/mikeaclark/orgs","repos_url":"https://api.github.com/users/mikeaclark/repos","events_url":"https://api.github.com/users/mikeaclark/events{/privacy}","received_events_url":"https://api.github.com/users/mikeaclark/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-02-27T17:09:15Z","updated_at":"2015-02-27T19:08:07Z","closed_at":null,"body":"At the moment, xGPU copies the data back to the host in whatever format the kernel uses.  This isn't necessarily the most intuitive format, as it often means a tiled-triangular order.  We should support reordering on the device, and in addition to supporting the existing triangular ordering, we should also support a full matrix."},"comment":{"url":"https://api.github.com/repos/GPU-correlators/xGPU/issues/comments/76452618","html_url":"https://github.com/GPU-correlators/xGPU/issues/8#issuecomment-76452618","issue_url":"https://api.github.com/repos/GPU-correlators/xGPU/issues/8","id":76452618,"user":{"login":"sabourke","id":10067474,"avatar_url":"https://avatars.githubusercontent.com/u/10067474?v=3","gravatar_id":"","url":"https://api.github.com/users/sabourke","html_url":"https://github.com/sabourke","followers_url":"https://api.github.com/users/sabourke/followers","following_url":"https://api.github.com/users/sabourke/following{/other_user}","gists_url":"https://api.github.com/users/sabourke/gists{/gist_id}","starred_url":"https://api.github.com/users/sabourke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sabourke/subscriptions","organizations_url":"https://api.github.com/users/sabourke/orgs","repos_url":"https://api.github.com/users/sabourke/repos","events_url":"https://api.github.com/users/sabourke/events{/privacy}","received_events_url":"https://api.github.com/users/sabourke/received_events","type":"User","site_admin":false},"created_at":"2015-02-27T19:08:07Z","updated_at":"2015-02-27T19:08:07Z","body":"From my experience upper triangular is the common format:\r\n1,1; 1,2; 1,3; ....\r\n2,2; 2,3; ...\r\n\r\nMeasurement Sets* and AIPS order the axes:\r\nBaseline, Freq, Pol, (Re,Im)\r\ngoing slowest to fastest. I suspect Miriad does the same.\r\nThere isn't a convention for the order of the pols. They're usually stored as\r\nAIPS: AA BB AB BA\r\nMS:   AA AB BA BB\r\n\r\n* Measurement Sets can abstract away the actual storage.\r\n\r\nFor us it probably makes more sense to have frequency as the first axis.\r\n\r\nI wouldn't imagine the full matrix form is used by many.\r\n\r\nA related issue is that the lines aren't always in nominal order. Conceptually, the nicest place to put them back in the right order would be prior to the cross multiply but the data rates are high there so post accumulation is probably the place to do it. Does it make sense to do this on the GPU too?"}}