{"action":"closed","issue":{"url":"https://api.github.com/repos/stanford-ppl/spatial/issues/135","repository_url":"https://api.github.com/repos/stanford-ppl/spatial","labels_url":"https://api.github.com/repos/stanford-ppl/spatial/issues/135/labels{/name}","comments_url":"https://api.github.com/repos/stanford-ppl/spatial/issues/135/comments","events_url":"https://api.github.com/repos/stanford-ppl/spatial/issues/135/events","html_url":"https://github.com/stanford-ppl/spatial/issues/135","id":367384708,"node_id":"MDU6SXNzdWUzNjczODQ3MDg=","number":135,"title":"Hierarchical Banking Being too Conservative","user":{"login":"mattfel1","id":8563453,"node_id":"MDQ6VXNlcjg1NjM0NTM=","avatar_url":"https://avatars3.githubusercontent.com/u/8563453?v=4","gravatar_id":"","url":"https://api.github.com/users/mattfel1","html_url":"https://github.com/mattfel1","followers_url":"https://api.github.com/users/mattfel1/followers","following_url":"https://api.github.com/users/mattfel1/following{/other_user}","gists_url":"https://api.github.com/users/mattfel1/gists{/gist_id}","starred_url":"https://api.github.com/users/mattfel1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattfel1/subscriptions","organizations_url":"https://api.github.com/users/mattfel1/orgs","repos_url":"https://api.github.com/users/mattfel1/repos","events_url":"https://api.github.com/users/mattfel1/events{/privacy}","received_events_url":"https://api.github.com/users/mattfel1/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-05T22:12:42Z","updated_at":"2018-10-08T17:45:50Z","closed_at":"2018-10-08T17:45:50Z","author_association":"CONTRIBUTOR","body":"For example, this a stripped version of a case where I know that I want it to compute a hierarchical scheme:\r\n\r\n```\r\nval in_sram = SRAM[Int](3,3,32).hierarchical\r\n    ....\r\n          Foreach(0 until 3 by 1, 0 until 3 by 1 par 3){(i,j) => \r\n              in_sram(i::i+1,j::j+1,0::32) load INPUT_DATA(row-1+i::row+i, col-1+j::col+j, 0::32 par loadPar)\r\n          }\r\n    ....\r\n```\r\nWhen trying to bank along the third dimension, because of the lockstep dephasing, it sees that iterator for each of the 3 writers as random relative to each other.  They are truly random relative to each other but I think there needs to be some way to convey that they are random and non-interfering because iterator j guarantees they are always accessing a different row.\r\n\r\n"}}
{"actor":{"display_login":"mattfel1"}}