{"action":"closed","number":14376,"pull_request":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/14376","id":230314398,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMzE0Mzk4","html_url":"https://github.com/PaddlePaddle/Paddle/pull/14376","diff_url":"https://github.com/PaddlePaddle/Paddle/pull/14376.diff","patch_url":"https://github.com/PaddlePaddle/Paddle/pull/14376.patch","issue_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/14376","number":14376,"state":"closed","locked":false,"title":"Adding fused operator for ngraph ","user":{"login":"baojun-nervana","id":32073718,"node_id":"MDQ6VXNlcjMyMDczNzE4","avatar_url":"https://avatars1.githubusercontent.com/u/32073718?v=4","gravatar_id":"","url":"https://api.github.com/users/baojun-nervana","html_url":"https://github.com/baojun-nervana","followers_url":"https://api.github.com/users/baojun-nervana/followers","following_url":"https://api.github.com/users/baojun-nervana/following{/other_user}","gists_url":"https://api.github.com/users/baojun-nervana/gists{/gist_id}","starred_url":"https://api.github.com/users/baojun-nervana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baojun-nervana/subscriptions","organizations_url":"https://api.github.com/users/baojun-nervana/orgs","repos_url":"https://api.github.com/users/baojun-nervana/repos","events_url":"https://api.github.com/users/baojun-nervana/events{/privacy}","received_events_url":"https://api.github.com/users/baojun-nervana/received_events","type":"User","site_admin":false},"body":"This PR is to add a FusedOperator to support ngraph. The followings are included:\r\n\r\n\r\n* Intercept ngraph through executor via a flag (use_ngraph)\r\n   - EnabledFusedOp will call FusedOpIntervals to get the op intervals of ops supported by ngraph\r\n   - FusedOpIntervals will scan the op list and check NG_NODE_MAP to find if an op or group of ops are supported by ngraph\r\n   - NG_NODE_MAP is a map of <string, function> with op->Type() mapping to a function to translate paddle op to ngraph op\r\n\r\n\r\n* FusedOperator class\r\n   - This class will get information to construct the NgraphOperator and also run the fusedop in a paddle op compatible way as the FusedOperator is inherited from Paddle Operator.\r\n  - process() is to extract needed info for NgraphOperator use later.\r\n  - RunImpl is the API compatible with paddle operator and it will call ngraph operator for execution.\r\n\r\n\r\n* NgraphOperator class\r\n  - This class performs the ngraph computation graph build and execute nGraph. \r\n  - In this PR it includes a placeholder only and the implementation will be the next PR.\r\n\r\n\r\n* NgraphBridge class\r\n  - This class will translate the ops and build the ngraph nodes\r\n","created_at":"2018-11-13T00:53:23Z","updated_at":"2018-11-14T09:41:36Z","closed_at":"2018-11-14T09:41:36Z","merged_at":"2018-11-14T09:41:36Z","merge_commit_sha":"c7b3bfcdf1a632ec04868227c8727ae0cbb9c05e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":831909412,"node_id":"MDU6TGFiZWw4MzE5MDk0MTI=","url":"https://api.github.com/repos/PaddlePaddle/Paddle/labels/Intel","name":"Intel","color":"53a9d1","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/14376/commits","review_comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/14376/comments","review_comment_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/14376/comments","statuses_url":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/51a538e0554ff08ee4cd80e1ecc849f564e3416e","head":{"label":"baojun-nervana:intel/ngraph_fusedop","ref":"intel/ngraph_fusedop","sha":"51a538e0554ff08ee4cd80e1ecc849f564e3416e","user":{"login":"baojun-nervana","id":32073718,"node_id":"MDQ6VXNlcjMyMDczNzE4","avatar_url":"https://avatars1.githubusercontent.com/u/32073718?v=4","gravatar_id":"","url":"https://api.github.com/users/baojun-nervana","html_url":"https://github.com/baojun-nervana","followers_url":"https://api.github.com/users/baojun-nervana/followers","following_url":"https://api.github.com/users/baojun-nervana/following{/other_user}","gists_url":"https://api.github.com/users/baojun-nervana/gists{/gist_id}","starred_url":"https://api.github.com/users/baojun-nervana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baojun-nervana/subscriptions","organizations_url":"https://api.github.com/users/baojun-nervana/orgs","repos_url":"https://api.github.com/users/baojun-nervana/repos","events_url":"https://api.github.com/users/baojun-nervana/events{/privacy}","received_events_url":"https://api.github.com/users/baojun-nervana/received_events","type":"User","site_admin":false},"repo":{"id":148706544,"node_id":"MDEwOlJlcG9zaXRvcnkxNDg3MDY1NDQ=","name":"Paddle","full_name":"baojun-nervana/Paddle","private":false,"owner":{"login":"baojun-nervana","id":32073718,"node_id":"MDQ6VXNlcjMyMDczNzE4","avatar_url":"https://avatars1.githubusercontent.com/u/32073718?v=4","gravatar_id":"","url":"https://api.github.com/users/baojun-nervana","html_url":"https://github.com/baojun-nervana","followers_url":"https://api.github.com/users/baojun-nervana/followers","following_url":"https://api.github.com/users/baojun-nervana/following{/other_user}","gists_url":"https://api.github.com/users/baojun-nervana/gists{/gist_id}","starred_url":"https://api.github.com/users/baojun-nervana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baojun-nervana/subscriptions","organizations_url":"https://api.github.com/users/baojun-nervana/orgs","repos_url":"https://api.github.com/users/baojun-nervana/repos","events_url":"https://api.github.com/users/baojun-nervana/events{/privacy}","received_events_url":"https://api.github.com/users/baojun-nervana/received_events","type":"User","site_admin":false},"html_url":"https://github.com/baojun-nervana/Paddle","description":"PArallel Distributed Deep LEarning","fork":true,"url":"https://api.github.com/repos/baojun-nervana/Paddle","forks_url":"https://api.github.com/repos/baojun-nervana/Paddle/forks","keys_url":"https://api.github.com/repos/baojun-nervana/Paddle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/baojun-nervana/Paddle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/baojun-nervana/Paddle/teams","hooks_url":"https://api.github.com/repos/baojun-nervana/Paddle/hooks","issue_events_url":"https://api.github.com/repos/baojun-nervana/Paddle/issues/events{/number}","events_url":"https://api.github.com/repos/baojun-nervana/Paddle/events","assignees_url":"https://api.github.com/repos/baojun-nervana/Paddle/assignees{/user}","branches_url":"https://api.github.com/repos/baojun-nervana/Paddle/branches{/branch}","tags_url":"https://api.github.com/repos/baojun-nervana/Paddle/tags","blobs_url":"https://api.github.com/repos/baojun-nervana/Paddle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/baojun-nervana/Paddle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/baojun-nervana/Paddle/git/refs{/sha}","trees_url":"https://api.github.com/repos/baojun-nervana/Paddle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/baojun-nervana/Paddle/statuses/{sha}","languages_url":"https://api.github.com/repos/baojun-nervana/Paddle/languages","stargazers_url":"https://api.github.com/repos/baojun-nervana/Paddle/stargazers","contributors_url":"https://api.github.com/repos/baojun-nervana/Paddle/contributors","subscribers_url":"https://api.github.com/repos/baojun-nervana/Paddle/subscribers","subscription_url":"https://api.github.com/repos/baojun-nervana/Paddle/subscription","commits_url":"https://api.github.com/repos/baojun-nervana/Paddle/commits{/sha}","git_commits_url":"https://api.github.com/repos/baojun-nervana/Paddle/git/commits{/sha}","comments_url":"https://api.github.com/repos/baojun-nervana/Paddle/comments{/number}","issue_comment_url":"https://api.github.com/repos/baojun-nervana/Paddle/issues/comments{/number}","contents_url":"https://api.github.com/repos/baojun-nervana/Paddle/contents/{+path}","compare_url":"https://api.github.com/repos/baojun-nervana/Paddle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/baojun-nervana/Paddle/merges","archive_url":"https://api.github.com/repos/baojun-nervana/Paddle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/baojun-nervana/Paddle/downloads","issues_url":"https://api.github.com/repos/baojun-nervana/Paddle/issues{/number}","pulls_url":"https://api.github.com/repos/baojun-nervana/Paddle/pulls{/number}","milestones_url":"https://api.github.com/repos/baojun-nervana/Paddle/milestones{/number}","notifications_url":"https://api.github.com/repos/baojun-nervana/Paddle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/baojun-nervana/Paddle/labels{/name}","releases_url":"https://api.github.com/repos/baojun-nervana/Paddle/releases{/id}","deployments_url":"https://api.github.com/repos/baojun-nervana/Paddle/deployments","created_at":"2018-09-13T22:46:18Z","updated_at":"2018-09-13T22:46:30Z","pushed_at":"2018-11-14T00:46:12Z","git_url":"git://github.com/baojun-nervana/Paddle.git","ssh_url":"git@github.com:baojun-nervana/Paddle.git","clone_url":"https://github.com/baojun-nervana/Paddle.git","svn_url":"https://github.com/baojun-nervana/Paddle","homepage":"http://www.paddlepaddle.org/","size":139229,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"PaddlePaddle:develop","ref":"develop","sha":"893c1b01d809e753403521cc89137d75f79e3e13","user":{"login":"PaddlePaddle","id":23534030,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTM0MDMw","avatar_url":"https://avatars3.githubusercontent.com/u/23534030?v=4","gravatar_id":"","url":"https://api.github.com/users/PaddlePaddle","html_url":"https://github.com/PaddlePaddle","followers_url":"https://api.github.com/users/PaddlePaddle/followers","following_url":"https://api.github.com/users/PaddlePaddle/following{/other_user}","gists_url":"https://api.github.com/users/PaddlePaddle/gists{/gist_id}","starred_url":"https://api.github.com/users/PaddlePaddle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaddlePaddle/subscriptions","organizations_url":"https://api.github.com/users/PaddlePaddle/orgs","repos_url":"https://api.github.com/users/PaddlePaddle/repos","events_url":"https://api.github.com/users/PaddlePaddle/events{/privacy}","received_events_url":"https://api.github.com/users/PaddlePaddle/received_events","type":"Organization","site_admin":false},"repo":{"id":65711522,"node_id":"MDEwOlJlcG9zaXRvcnk2NTcxMTUyMg==","name":"Paddle","full_name":"PaddlePaddle/Paddle","private":false,"owner":{"login":"PaddlePaddle","id":23534030,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTM0MDMw","avatar_url":"https://avatars3.githubusercontent.com/u/23534030?v=4","gravatar_id":"","url":"https://api.github.com/users/PaddlePaddle","html_url":"https://github.com/PaddlePaddle","followers_url":"https://api.github.com/users/PaddlePaddle/followers","following_url":"https://api.github.com/users/PaddlePaddle/following{/other_user}","gists_url":"https://api.github.com/users/PaddlePaddle/gists{/gist_id}","starred_url":"https://api.github.com/users/PaddlePaddle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaddlePaddle/subscriptions","organizations_url":"https://api.github.com/users/PaddlePaddle/orgs","repos_url":"https://api.github.com/users/PaddlePaddle/repos","events_url":"https://api.github.com/users/PaddlePaddle/events{/privacy}","received_events_url":"https://api.github.com/users/PaddlePaddle/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PaddlePaddle/Paddle","description":"PArallel Distributed Deep LEarning","fork":false,"url":"https://api.github.com/repos/PaddlePaddle/Paddle","forks_url":"https://api.github.com/repos/PaddlePaddle/Paddle/forks","keys_url":"https://api.github.com/repos/PaddlePaddle/Paddle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PaddlePaddle/Paddle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PaddlePaddle/Paddle/teams","hooks_url":"https://api.github.com/repos/PaddlePaddle/Paddle/hooks","issue_events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/events{/number}","events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/events","assignees_url":"https://api.github.com/repos/PaddlePaddle/Paddle/assignees{/user}","branches_url":"https://api.github.com/repos/PaddlePaddle/Paddle/branches{/branch}","tags_url":"https://api.github.com/repos/PaddlePaddle/Paddle/tags","blobs_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/refs{/sha}","trees_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/{sha}","languages_url":"https://api.github.com/repos/PaddlePaddle/Paddle/languages","stargazers_url":"https://api.github.com/repos/PaddlePaddle/Paddle/stargazers","contributors_url":"https://api.github.com/repos/PaddlePaddle/Paddle/contributors","subscribers_url":"https://api.github.com/repos/PaddlePaddle/Paddle/subscribers","subscription_url":"https://api.github.com/repos/PaddlePaddle/Paddle/subscription","commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/commits{/sha}","git_commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/commits{/sha}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/comments{/number}","issue_comment_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/comments{/number}","contents_url":"https://api.github.com/repos/PaddlePaddle/Paddle/contents/{+path}","compare_url":"https://api.github.com/repos/PaddlePaddle/Paddle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PaddlePaddle/Paddle/merges","archive_url":"https://api.github.com/repos/PaddlePaddle/Paddle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PaddlePaddle/Paddle/downloads","issues_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues{/number}","pulls_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls{/number}","milestones_url":"https://api.github.com/repos/PaddlePaddle/Paddle/milestones{/number}","notifications_url":"https://api.github.com/repos/PaddlePaddle/Paddle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PaddlePaddle/Paddle/labels{/name}","releases_url":"https://api.github.com/repos/PaddlePaddle/Paddle/releases{/id}","deployments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/deployments","created_at":"2016-08-15T06:59:08Z","updated_at":"2018-11-14T08:38:23Z","pushed_at":"2018-11-14T09:41:36Z","git_url":"git://github.com/PaddlePaddle/Paddle.git","ssh_url":"git@github.com:PaddlePaddle/Paddle.git","clone_url":"https://github.com/PaddlePaddle/Paddle.git","svn_url":"https://github.com/PaddlePaddle/Paddle","homepage":"http://www.paddlepaddle.org/","size":139613,"stargazers_count":7736,"watchers_count":7736,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2097,"mirror_url":null,"archived":false,"open_issues_count":686,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2097,"open_issues":686,"watchers":7736,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/14376"},"html":{"href":"https://github.com/PaddlePaddle/Paddle/pull/14376"},"issue":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/14376"},"comments":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/14376/comments"},"review_comments":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/14376/comments"},"review_comment":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/14376/commits"},"statuses":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/51a538e0554ff08ee4cd80e1ecc849f564e3416e"}},"author_association":"CONTRIBUTOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"luotao1","id":6836917,"node_id":"MDQ6VXNlcjY4MzY5MTc=","avatar_url":"https://avatars0.githubusercontent.com/u/6836917?v=4","gravatar_id":"","url":"https://api.github.com/users/luotao1","html_url":"https://github.com/luotao1","followers_url":"https://api.github.com/users/luotao1/followers","following_url":"https://api.github.com/users/luotao1/following{/other_user}","gists_url":"https://api.github.com/users/luotao1/gists{/gist_id}","starred_url":"https://api.github.com/users/luotao1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luotao1/subscriptions","organizations_url":"https://api.github.com/users/luotao1/orgs","repos_url":"https://api.github.com/users/luotao1/repos","events_url":"https://api.github.com/users/luotao1/events{/privacy}","received_events_url":"https://api.github.com/users/luotao1/received_events","type":"User","site_admin":false},"comments":2,"review_comments":9,"maintainer_can_modify":false,"commits":2,"additions":420,"deletions":7,"changed_files":7}}
{"actor":{"display_login":"luotao1"}}