{"action":"created","issue":{"url":"https://api.github.com/repos/yinghai/pytorch/issues/2","repository_url":"https://api.github.com/repos/yinghai/pytorch","labels_url":"https://api.github.com/repos/yinghai/pytorch/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/yinghai/pytorch/issues/2/comments","events_url":"https://api.github.com/repos/yinghai/pytorch/issues/2/events","html_url":"https://github.com/yinghai/pytorch/pull/2","id":322163009,"number":2,"title":"Sketch fix of the performance issue of IDEEP","user":{"login":"yinghai","id":1100089,"avatar_url":"https://avatars1.githubusercontent.com/u/1100089?v=4","gravatar_id":"","url":"https://api.github.com/users/yinghai","html_url":"https://github.com/yinghai","followers_url":"https://api.github.com/users/yinghai/followers","following_url":"https://api.github.com/users/yinghai/following{/other_user}","gists_url":"https://api.github.com/users/yinghai/gists{/gist_id}","starred_url":"https://api.github.com/users/yinghai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yinghai/subscriptions","organizations_url":"https://api.github.com/users/yinghai/orgs","repos_url":"https://api.github.com/users/yinghai/repos","events_url":"https://api.github.com/users/yinghai/events{/privacy}","received_events_url":"https://api.github.com/users/yinghai/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-05-11T04:25:15Z","updated_at":"2018-05-11T06:09:14Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/yinghai/pytorch/pulls/2","html_url":"https://github.com/yinghai/pytorch/pull/2","diff_url":"https://github.com/yinghai/pytorch/pull/2.diff","patch_url":"https://github.com/yinghai/pytorch/pull/2.patch"},"body":"This is a quick fix of performance issues of IDEEP conv ops (https://github.com/intel/ideep/issues/7) . Just to show the idea. With this, I was able to get almost identical performance numbers with small batch size, compared to MKLML. And when the batch size is large (128), IDEEP numbers on resnet50 actually beats MKLML ops: 62 vs 58. Experimental was done with 1 socketful of 12 cores on a Broadwell CPU. \r\n\r\nIt needs some clean up to make an official PR and note that I need to do the similar trick to fully-connected layer as well, although performance impact is not large. \r\n"},"comment":{"url":"https://api.github.com/repos/yinghai/pytorch/issues/comments/388270052","html_url":"https://github.com/yinghai/pytorch/pull/2#issuecomment-388270052","issue_url":"https://api.github.com/repos/yinghai/pytorch/issues/2","id":388270052,"user":{"login":"jgong5","id":8359223,"avatar_url":"https://avatars3.githubusercontent.com/u/8359223?v=4","gravatar_id":"","url":"https://api.github.com/users/jgong5","html_url":"https://github.com/jgong5","followers_url":"https://api.github.com/users/jgong5/followers","following_url":"https://api.github.com/users/jgong5/following{/other_user}","gists_url":"https://api.github.com/users/jgong5/gists{/gist_id}","starred_url":"https://api.github.com/users/jgong5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgong5/subscriptions","organizations_url":"https://api.github.com/users/jgong5/orgs","repos_url":"https://api.github.com/users/jgong5/repos","events_url":"https://api.github.com/users/jgong5/events{/privacy}","received_events_url":"https://api.github.com/users/jgong5/received_events","type":"User","site_admin":false},"created_at":"2018-05-11T06:09:14Z","updated_at":"2018-05-11T06:09:14Z","author_association":"NONE","body":"@4pao yes, but since SGD is basically element-wise so as long as we make sure the formats of weights and gradients are the same, we may just fall back to the original CPU implementation. Of course, we may provide an optimized SGD op later.\r\n\r\n@yinghai Does Caffe2 have a backend optimization path that does not require explicit calling of an extra   user-level API? I'm considering if we can make this weight replacement process transparent since it is applicable to both training and inference. "}}
{"actor":{"display_login":"jgong5"}}