{"action":"created","comment":{"url":"https://api.github.com/repos/pytorch/xla/pulls/comments/317272755","pull_request_review_id":279183728,"id":317272755,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMxNzI3Mjc1NQ==","diff_hunk":"@@ -402,3 +409,243 @@ def get_cluster(self):\n     cluster.validate()\n     return cluster\n \n+\n+class DistributedExecutor(object):\n+\n+  SCRIPT_PATH_TMPL = '/tmp/dist_training_ptxla_{worker}.sh'\n+  MASTER_IDX = 0\n+  MESH_SERVICE_PORT = 8477  # Use single port to disallow concurrent runs\n+  DOCKER_RUN = 'docker run'\n+  DIST_ENV_VARS = [\n+      'XRT_TPU_CONFIG', 'XRT_LOCAL_WORKER', 'XRT_MESH_SERVICE_ADDRESS'\n+  ]\n+\n+  @staticmethod\n+  def _parse_container_name(cmd):\n+    for key in ['--name=', '--name']:","path":"torch_xla_py/xla_dist.py","position":48,"original_position":48,"commit_id":"65e06953cc635287b9bc50a2320f6d3439479890","original_commit_id":"65e06953cc635287b9bc50a2320f6d3439479890","user":{"login":"taylanbil","id":4589665,"node_id":"MDQ6VXNlcjQ1ODk2NjU=","avatar_url":"https://avatars1.githubusercontent.com/u/4589665?v=4","gravatar_id":"","url":"https://api.github.com/users/taylanbil","html_url":"https://github.com/taylanbil","followers_url":"https://api.github.com/users/taylanbil/followers","following_url":"https://api.github.com/users/taylanbil/following{/other_user}","gists_url":"https://api.github.com/users/taylanbil/gists{/gist_id}","starred_url":"https://api.github.com/users/taylanbil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taylanbil/subscriptions","organizations_url":"https://api.github.com/users/taylanbil/orgs","repos_url":"https://api.github.com/users/taylanbil/repos","events_url":"https://api.github.com/users/taylanbil/events{/privacy}","received_events_url":"https://api.github.com/users/taylanbil/received_events","type":"User","site_admin":false},"body":"if \"--name=\" is in cmd, then \"--name\" will also be in cmd","created_at":"2019-08-23T19:28:51Z","updated_at":"2019-08-23T19:28:51Z","html_url":"https://github.com/pytorch/xla/pull/956#discussion_r317272755","pull_request_url":"https://api.github.com/repos/pytorch/xla/pulls/956","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/pytorch/xla/pulls/comments/317272755"},"html":{"href":"https://github.com/pytorch/xla/pull/956#discussion_r317272755"},"pull_request":{"href":"https://api.github.com/repos/pytorch/xla/pulls/956"}}},"pull_request":{"url":"https://api.github.com/repos/pytorch/xla/pulls/956","id":310463902,"node_id":"MDExOlB1bGxSZXF1ZXN0MzEwNDYzOTAy","html_url":"https://github.com/pytorch/xla/pull/956","diff_url":"https://github.com/pytorch/xla/pull/956.diff","patch_url":"https://github.com/pytorch/xla/pull/956.patch","issue_url":"https://api.github.com/repos/pytorch/xla/issues/956","number":956,"state":"open","locked":false,"title":"Implement distributed training setup","user":{"login":"jysohn23","id":19496130,"node_id":"MDQ6VXNlcjE5NDk2MTMw","avatar_url":"https://avatars2.githubusercontent.com/u/19496130?v=4","gravatar_id":"","url":"https://api.github.com/users/jysohn23","html_url":"https://github.com/jysohn23","followers_url":"https://api.github.com/users/jysohn23/followers","following_url":"https://api.github.com/users/jysohn23/following{/other_user}","gists_url":"https://api.github.com/users/jysohn23/gists{/gist_id}","starred_url":"https://api.github.com/users/jysohn23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jysohn23/subscriptions","organizations_url":"https://api.github.com/users/jysohn23/orgs","repos_url":"https://api.github.com/users/jysohn23/repos","events_url":"https://api.github.com/users/jysohn23/events{/privacy}","received_events_url":"https://api.github.com/users/jysohn23/received_events","type":"User","site_admin":false},"body":"Tested on v3-32/v3-128 with ResNet50 with `--fake_data` with both docker container and conda environment based runs.","created_at":"2019-08-23T16:59:13Z","updated_at":"2019-08-23T19:28:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"17d94323a7ecb3677e7c39a1d0e35db5ba4f9bbd","assignee":null,"assignees":[],"requested_reviewers":[{"login":"dlibenzi","id":14933084,"node_id":"MDQ6VXNlcjE0OTMzMDg0","avatar_url":"https://avatars0.githubusercontent.com/u/14933084?v=4","gravatar_id":"","url":"https://api.github.com/users/dlibenzi","html_url":"https://github.com/dlibenzi","followers_url":"https://api.github.com/users/dlibenzi/followers","following_url":"https://api.github.com/users/dlibenzi/following{/other_user}","gists_url":"https://api.github.com/users/dlibenzi/gists{/gist_id}","starred_url":"https://api.github.com/users/dlibenzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dlibenzi/subscriptions","organizations_url":"https://api.github.com/users/dlibenzi/orgs","repos_url":"https://api.github.com/users/dlibenzi/repos","events_url":"https://api.github.com/users/dlibenzi/events{/privacy}","received_events_url":"https://api.github.com/users/dlibenzi/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/pytorch/xla/pulls/956/commits","review_comments_url":"https://api.github.com/repos/pytorch/xla/pulls/956/comments","review_comment_url":"https://api.github.com/repos/pytorch/xla/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pytorch/xla/issues/956/comments","statuses_url":"https://api.github.com/repos/pytorch/xla/statuses/65e06953cc635287b9bc50a2320f6d3439479890","head":{"label":"jysohn23:pods-cr-impl2","ref":"pods-cr-impl2","sha":"65e06953cc635287b9bc50a2320f6d3439479890","user":{"login":"jysohn23","id":19496130,"node_id":"MDQ6VXNlcjE5NDk2MTMw","avatar_url":"https://avatars2.githubusercontent.com/u/19496130?v=4","gravatar_id":"","url":"https://api.github.com/users/jysohn23","html_url":"https://github.com/jysohn23","followers_url":"https://api.github.com/users/jysohn23/followers","following_url":"https://api.github.com/users/jysohn23/following{/other_user}","gists_url":"https://api.github.com/users/jysohn23/gists{/gist_id}","starred_url":"https://api.github.com/users/jysohn23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jysohn23/subscriptions","organizations_url":"https://api.github.com/users/jysohn23/orgs","repos_url":"https://api.github.com/users/jysohn23/repos","events_url":"https://api.github.com/users/jysohn23/events{/privacy}","received_events_url":"https://api.github.com/users/jysohn23/received_events","type":"User","site_admin":false},"repo":{"id":193748741,"node_id":"MDEwOlJlcG9zaXRvcnkxOTM3NDg3NDE=","name":"xla","full_name":"jysohn23/xla","private":false,"owner":{"login":"jysohn23","id":19496130,"node_id":"MDQ6VXNlcjE5NDk2MTMw","avatar_url":"https://avatars2.githubusercontent.com/u/19496130?v=4","gravatar_id":"","url":"https://api.github.com/users/jysohn23","html_url":"https://github.com/jysohn23","followers_url":"https://api.github.com/users/jysohn23/followers","following_url":"https://api.github.com/users/jysohn23/following{/other_user}","gists_url":"https://api.github.com/users/jysohn23/gists{/gist_id}","starred_url":"https://api.github.com/users/jysohn23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jysohn23/subscriptions","organizations_url":"https://api.github.com/users/jysohn23/orgs","repos_url":"https://api.github.com/users/jysohn23/repos","events_url":"https://api.github.com/users/jysohn23/events{/privacy}","received_events_url":"https://api.github.com/users/jysohn23/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jysohn23/xla","description":null,"fork":true,"url":"https://api.github.com/repos/jysohn23/xla","forks_url":"https://api.github.com/repos/jysohn23/xla/forks","keys_url":"https://api.github.com/repos/jysohn23/xla/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jysohn23/xla/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jysohn23/xla/teams","hooks_url":"https://api.github.com/repos/jysohn23/xla/hooks","issue_events_url":"https://api.github.com/repos/jysohn23/xla/issues/events{/number}","events_url":"https://api.github.com/repos/jysohn23/xla/events","assignees_url":"https://api.github.com/repos/jysohn23/xla/assignees{/user}","branches_url":"https://api.github.com/repos/jysohn23/xla/branches{/branch}","tags_url":"https://api.github.com/repos/jysohn23/xla/tags","blobs_url":"https://api.github.com/repos/jysohn23/xla/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jysohn23/xla/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jysohn23/xla/git/refs{/sha}","trees_url":"https://api.github.com/repos/jysohn23/xla/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jysohn23/xla/statuses/{sha}","languages_url":"https://api.github.com/repos/jysohn23/xla/languages","stargazers_url":"https://api.github.com/repos/jysohn23/xla/stargazers","contributors_url":"https://api.github.com/repos/jysohn23/xla/contributors","subscribers_url":"https://api.github.com/repos/jysohn23/xla/subscribers","subscription_url":"https://api.github.com/repos/jysohn23/xla/subscription","commits_url":"https://api.github.com/repos/jysohn23/xla/commits{/sha}","git_commits_url":"https://api.github.com/repos/jysohn23/xla/git/commits{/sha}","comments_url":"https://api.github.com/repos/jysohn23/xla/comments{/number}","issue_comment_url":"https://api.github.com/repos/jysohn23/xla/issues/comments{/number}","contents_url":"https://api.github.com/repos/jysohn23/xla/contents/{+path}","compare_url":"https://api.github.com/repos/jysohn23/xla/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jysohn23/xla/merges","archive_url":"https://api.github.com/repos/jysohn23/xla/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jysohn23/xla/downloads","issues_url":"https://api.github.com/repos/jysohn23/xla/issues{/number}","pulls_url":"https://api.github.com/repos/jysohn23/xla/pulls{/number}","milestones_url":"https://api.github.com/repos/jysohn23/xla/milestones{/number}","notifications_url":"https://api.github.com/repos/jysohn23/xla/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jysohn23/xla/labels{/name}","releases_url":"https://api.github.com/repos/jysohn23/xla/releases{/id}","deployments_url":"https://api.github.com/repos/jysohn23/xla/deployments","created_at":"2019-06-25T16:54:52Z","updated_at":"2019-08-20T17:14:43Z","pushed_at":"2019-08-23T16:51:55Z","git_url":"git://github.com/jysohn23/xla.git","ssh_url":"git@github.com:jysohn23/xla.git","clone_url":"https://github.com/jysohn23/xla.git","svn_url":"https://github.com/jysohn23/xla","homepage":null,"size":3746,"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,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pytorch:master","ref":"master","sha":"0cfb18127cdd23601f4ca8dc5b73ac594dcb8f6b","user":{"login":"pytorch","id":21003710,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIxMDAzNzEw","avatar_url":"https://avatars3.githubusercontent.com/u/21003710?v=4","gravatar_id":"","url":"https://api.github.com/users/pytorch","html_url":"https://github.com/pytorch","followers_url":"https://api.github.com/users/pytorch/followers","following_url":"https://api.github.com/users/pytorch/following{/other_user}","gists_url":"https://api.github.com/users/pytorch/gists{/gist_id}","starred_url":"https://api.github.com/users/pytorch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pytorch/subscriptions","organizations_url":"https://api.github.com/users/pytorch/orgs","repos_url":"https://api.github.com/users/pytorch/repos","events_url":"https://api.github.com/users/pytorch/events{/privacy}","received_events_url":"https://api.github.com/users/pytorch/received_events","type":"Organization","site_admin":false},"repo":{"id":156293205,"node_id":"MDEwOlJlcG9zaXRvcnkxNTYyOTMyMDU=","name":"xla","full_name":"pytorch/xla","private":false,"owner":{"login":"pytorch","id":21003710,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIxMDAzNzEw","avatar_url":"https://avatars3.githubusercontent.com/u/21003710?v=4","gravatar_id":"","url":"https://api.github.com/users/pytorch","html_url":"https://github.com/pytorch","followers_url":"https://api.github.com/users/pytorch/followers","following_url":"https://api.github.com/users/pytorch/following{/other_user}","gists_url":"https://api.github.com/users/pytorch/gists{/gist_id}","starred_url":"https://api.github.com/users/pytorch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pytorch/subscriptions","organizations_url":"https://api.github.com/users/pytorch/orgs","repos_url":"https://api.github.com/users/pytorch/repos","events_url":"https://api.github.com/users/pytorch/events{/privacy}","received_events_url":"https://api.github.com/users/pytorch/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pytorch/xla","description":null,"fork":false,"url":"https://api.github.com/repos/pytorch/xla","forks_url":"https://api.github.com/repos/pytorch/xla/forks","keys_url":"https://api.github.com/repos/pytorch/xla/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pytorch/xla/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pytorch/xla/teams","hooks_url":"https://api.github.com/repos/pytorch/xla/hooks","issue_events_url":"https://api.github.com/repos/pytorch/xla/issues/events{/number}","events_url":"https://api.github.com/repos/pytorch/xla/events","assignees_url":"https://api.github.com/repos/pytorch/xla/assignees{/user}","branches_url":"https://api.github.com/repos/pytorch/xla/branches{/branch}","tags_url":"https://api.github.com/repos/pytorch/xla/tags","blobs_url":"https://api.github.com/repos/pytorch/xla/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pytorch/xla/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pytorch/xla/git/refs{/sha}","trees_url":"https://api.github.com/repos/pytorch/xla/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pytorch/xla/statuses/{sha}","languages_url":"https://api.github.com/repos/pytorch/xla/languages","stargazers_url":"https://api.github.com/repos/pytorch/xla/stargazers","contributors_url":"https://api.github.com/repos/pytorch/xla/contributors","subscribers_url":"https://api.github.com/repos/pytorch/xla/subscribers","subscription_url":"https://api.github.com/repos/pytorch/xla/subscription","commits_url":"https://api.github.com/repos/pytorch/xla/commits{/sha}","git_commits_url":"https://api.github.com/repos/pytorch/xla/git/commits{/sha}","comments_url":"https://api.github.com/repos/pytorch/xla/comments{/number}","issue_comment_url":"https://api.github.com/repos/pytorch/xla/issues/comments{/number}","contents_url":"https://api.github.com/repos/pytorch/xla/contents/{+path}","compare_url":"https://api.github.com/repos/pytorch/xla/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pytorch/xla/merges","archive_url":"https://api.github.com/repos/pytorch/xla/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pytorch/xla/downloads","issues_url":"https://api.github.com/repos/pytorch/xla/issues{/number}","pulls_url":"https://api.github.com/repos/pytorch/xla/pulls{/number}","milestones_url":"https://api.github.com/repos/pytorch/xla/milestones{/number}","notifications_url":"https://api.github.com/repos/pytorch/xla/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pytorch/xla/labels{/name}","releases_url":"https://api.github.com/repos/pytorch/xla/releases{/id}","deployments_url":"https://api.github.com/repos/pytorch/xla/deployments","created_at":"2018-11-05T22:42:04Z","updated_at":"2019-08-23T16:48:23Z","pushed_at":"2019-08-23T17:08:29Z","git_url":"git://github.com/pytorch/xla.git","ssh_url":"git@github.com:pytorch/xla.git","clone_url":"https://github.com/pytorch/xla.git","svn_url":"https://github.com/pytorch/xla","homepage":null,"size":3782,"stargazers_count":333,"watchers_count":333,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":38,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":62,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":38,"open_issues":62,"watchers":333,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pytorch/xla/pulls/956"},"html":{"href":"https://github.com/pytorch/xla/pull/956"},"issue":{"href":"https://api.github.com/repos/pytorch/xla/issues/956"},"comments":{"href":"https://api.github.com/repos/pytorch/xla/issues/956/comments"},"review_comments":{"href":"https://api.github.com/repos/pytorch/xla/pulls/956/comments"},"review_comment":{"href":"https://api.github.com/repos/pytorch/xla/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pytorch/xla/pulls/956/commits"},"statuses":{"href":"https://api.github.com/repos/pytorch/xla/statuses/65e06953cc635287b9bc50a2320f6d3439479890"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"taylanbil"}}