{"action":"created","comment":{"url":"https://api.github.com/repos/dealii/dealii/pulls/comments/89485336","pull_request_review_id":10030285,"id":89485336,"diff_hunk":"@@ -11,122 +11,193 @@ solution through both isocontours and volume rendering:\n \n Of more interest is to evaluate some aspects of the multigrid solver.\n When we run this program in 2D for quadratic ($Q_2$) elements, we get the\n-following output:\n+following output (when run on one core in release mode):\n @code\n Cycle 0\n Number of degrees of freedom: 81\n-System matrix memory consumption:     0.008982 MB.\n-Multigrid objects memory consumption: 0.02617 MB.\n-Total setup time               (wall) 0.001811s\n-Time solve (5 iterations)  (CPU/wall) 0s/0.0002651s\n+Total setup time               (wall) 0.00159788s\n+Time solve (6 iterations)  (CPU/wall) 0.000951s/0.000951052s\n \n Cycle 1\n Number of degrees of freedom: 289\n-System matrix memory consumption:     0.01817 MB.\n-Multigrid objects memory consumption: 0.05779 MB.\n-Total setup time               (wall) 0.001223s\n-Time solve (5 iterations)  (CPU/wall) 0s/0.000926s\n+Total setup time               (wall) 0.00114608s\n+Time solve (6 iterations)  (CPU/wall) 0.000935s/0.000934839s\n \n Cycle 2\n Number of degrees of freedom: 1089\n-System matrix memory consumption:     0.05286 MB.\n-Multigrid objects memory consumption: 0.1581 MB.\n-Total setup time               (wall) 0.003045s\n-Time solve (6 iterations)  (CPU/wall) 0.012s/0.003393s\n+Total setup time               (wall) 0.00244665s\n+Time solve (6 iterations)  (CPU/wall) 0.00207s/0.002069s\n \n Cycle 3\n Number of degrees of freedom: 4225\n-System matrix memory consumption:     0.1957 MB.\n-Multigrid objects memory consumption: 0.5228 MB.\n-Total setup time               (wall) 0.008561s\n-Time solve (6 iterations)  (CPU/wall) 0.02s/0.01133s\n+Total setup time               (wall) 0.00678205s\n+Time solve (6 iterations)  (CPU/wall) 0.005616s/0.00561595s\n \n Cycle 4\n Number of degrees of freedom: 16641\n-System matrix memory consumption:     0.7343 MB.\n-Multigrid objects memory consumption: 1.925 MB.\n-Total setup time               (wall) 0.02938s\n-Time solve (6 iterations)  (CPU/wall) 0.068s/0.03312s\n+Total setup time               (wall) 0.0241671s\n+Time solve (6 iterations)  (CPU/wall) 0.019543s/0.0195441s\n \n Cycle 5\n Number of degrees of freedom: 66049\n-System matrix memory consumption:     2.856 MB.\n-Multigrid objects memory consumption: 7.435 MB.\n-Total setup time               (wall) 0.1128s\n-Time solve (6 iterations)  (CPU/wall) 0.228s/0.09577s\n+Total setup time               (wall) 0.0967851s\n+Time solve (6 iterations)  (CPU/wall) 0.07457s/0.0745709s\n \n Cycle 6\n Number of degrees of freedom: 263169\n-System matrix memory consumption:     11.28 MB.\n-Multigrid objects memory consumption: 29.3 MB.\n-Total setup time               (wall) 0.4553s\n-Time solve (6 iterations)  (CPU/wall) 1.272s/0.3955s\n+Total setup time               (wall) 0.346374s\n+Time solve (6 iterations)  (CPU/wall) 0.260042s/0.265033s\n @endcode\n \n As in step-16, we see that the number of CG iterations remains constant with\n-increasing number of degrees of freedom. We can also see that the various\n-objects we have to store for the multigrid method on the individual levels of\n-our mesh together make up more than twice as much as the matrix on the finest\n-level. For the present example, about half the memory consumption of the\n-multigrid objects are the level transfer matrices, and the other half is\n-consumed by the matrix-free objects (and there, mainly the indices and the\n-variable coefficient).\n+increasing number of degrees of freedom. A constant number of iterations\n+(together with optimal computational properties) means that the computing time\n+approximately quadruples as the problem size quadruples from one cycle to the\n+next. A look at the memory consumption reveals that the code is also very\n+efficient in terms of storage. Around 2-4 million degrees of freedom fit into\n+1 GB of memory. An interesting fact is that solving one linear system is\n+cheaper than the setup, despite not building a matrix (approximately half of\n+which is spent in the DoFHandler::distribute_dofs() and\n+DoFHandler::distributed_mg_dofs() calls). This shows the high efficiency of\n+this approach, but also that the deal.II data structures are quite expensive\n+to set up and the setup cost must be amortized over several system solves.\n \n Not much changes if we run the program in three spatial dimensions, with the\n-exception that the multilevel objects now take up some more memory (because\n-the level transfer matrices are denser) and the computing times are somewhat\n-larger:\n+exception that problem sizes grow by a factor eight when refining the mesh and","path":"examples/step-37/doc/results.dox","position":95,"original_position":95,"commit_id":"58eafdf61474cd5b65349f2027ef3d09359c3778","original_commit_id":"58eafdf61474cd5b65349f2027ef3d09359c3778","user":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"body":"This is uniform refinement, so the cells increase by a factor of 8. The degrees of freedom by a bit less due to the boundary.","created_at":"2016-11-24T12:03:31Z","updated_at":"2016-11-24T12:03:31Z","html_url":"https://github.com/dealii/dealii/pull/3329#discussion_r89485336","pull_request_url":"https://api.github.com/repos/dealii/dealii/pulls/3329","_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments/89485336"},"html":{"href":"https://github.com/dealii/dealii/pull/3329#discussion_r89485336"},"pull_request":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3329"}}},"pull_request":{"url":"https://api.github.com/repos/dealii/dealii/pulls/3329","id":91679900,"html_url":"https://github.com/dealii/dealii/pull/3329","diff_url":"https://github.com/dealii/dealii/pull/3329.diff","patch_url":"https://github.com/dealii/dealii/pull/3329.patch","issue_url":"https://api.github.com/repos/dealii/dealii/issues/3329","number":3329,"state":"open","locked":false,"title":"Extend step 37 to parallel vectors","user":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"body":"This is work in progress but I would like to hear opinions before continuing with the secondary stuff.\r\n\r\n- [x] Rewrite introduction to reflect new code\r\n- [x] Rewrite results section, including large scale parallel results on up to 147k cores\r\n- [x] Test that adaptive meshes are really working, mention them in the results section and show some results with them.\r\n- [x] Adjust step-48 because the threading part of MatrixFree is now first shown there\r\n- [x] Mention the availability of the LaplaceOperator class somewhere in the tutorial program as an alternative.\r\n\r\nFixes #3222.","created_at":"2016-10-31T20:03:10Z","updated_at":"2016-11-24T12:03:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f2f64a6d819a2972ffcf939f91168fed5a82cd70","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dealii/dealii/pulls/3329/commits","review_comments_url":"https://api.github.com/repos/dealii/dealii/pulls/3329/comments","review_comment_url":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dealii/dealii/issues/3329/comments","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/58eafdf61474cd5b65349f2027ef3d09359c3778","head":{"label":"kronbichler:extend_step-37","ref":"extend_step-37","sha":"58eafdf61474cd5b65349f2027ef3d09359c3778","user":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"repo":{"id":22549298,"name":"dealii","full_name":"kronbichler/dealii","owner":{"login":"kronbichler","id":8276200,"avatar_url":"https://avatars.githubusercontent.com/u/8276200?v=3","gravatar_id":"","url":"https://api.github.com/users/kronbichler","html_url":"https://github.com/kronbichler","followers_url":"https://api.github.com/users/kronbichler/followers","following_url":"https://api.github.com/users/kronbichler/following{/other_user}","gists_url":"https://api.github.com/users/kronbichler/gists{/gist_id}","starred_url":"https://api.github.com/users/kronbichler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kronbichler/subscriptions","organizations_url":"https://api.github.com/users/kronbichler/orgs","repos_url":"https://api.github.com/users/kronbichler/repos","events_url":"https://api.github.com/users/kronbichler/events{/privacy}","received_events_url":"https://api.github.com/users/kronbichler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kronbichler/dealii","description":"The development repository for the deal.II finite element library.","fork":true,"url":"https://api.github.com/repos/kronbichler/dealii","forks_url":"https://api.github.com/repos/kronbichler/dealii/forks","keys_url":"https://api.github.com/repos/kronbichler/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kronbichler/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kronbichler/dealii/teams","hooks_url":"https://api.github.com/repos/kronbichler/dealii/hooks","issue_events_url":"https://api.github.com/repos/kronbichler/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/kronbichler/dealii/events","assignees_url":"https://api.github.com/repos/kronbichler/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/kronbichler/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/kronbichler/dealii/tags","blobs_url":"https://api.github.com/repos/kronbichler/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kronbichler/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kronbichler/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/kronbichler/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kronbichler/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/kronbichler/dealii/languages","stargazers_url":"https://api.github.com/repos/kronbichler/dealii/stargazers","contributors_url":"https://api.github.com/repos/kronbichler/dealii/contributors","subscribers_url":"https://api.github.com/repos/kronbichler/dealii/subscribers","subscription_url":"https://api.github.com/repos/kronbichler/dealii/subscription","commits_url":"https://api.github.com/repos/kronbichler/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/kronbichler/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/kronbichler/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/kronbichler/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/kronbichler/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/kronbichler/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kronbichler/dealii/merges","archive_url":"https://api.github.com/repos/kronbichler/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kronbichler/dealii/downloads","issues_url":"https://api.github.com/repos/kronbichler/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/kronbichler/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/kronbichler/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/kronbichler/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kronbichler/dealii/labels{/name}","releases_url":"https://api.github.com/repos/kronbichler/dealii/releases{/id}","deployments_url":"https://api.github.com/repos/kronbichler/dealii/deployments","created_at":"2014-08-02T15:52:43Z","updated_at":"2016-01-11T13:12:43Z","pushed_at":"2016-11-24T07:48:45Z","git_url":"git://github.com/kronbichler/dealii.git","ssh_url":"git@github.com:kronbichler/dealii.git","clone_url":"https://github.com/kronbichler/dealii.git","svn_url":"https://github.com/kronbichler/dealii","homepage":"http://www.dealii.org/","size":150761,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dealii:master","ref":"master","sha":"65803cdddb5873f25d046608e8e9b99f6a878c5f","user":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"repo":{"id":21943980,"name":"dealii","full_name":"dealii/dealii","owner":{"login":"dealii","id":7506070,"avatar_url":"https://avatars.githubusercontent.com/u/7506070?v=3","gravatar_id":"","url":"https://api.github.com/users/dealii","html_url":"https://github.com/dealii","followers_url":"https://api.github.com/users/dealii/followers","following_url":"https://api.github.com/users/dealii/following{/other_user}","gists_url":"https://api.github.com/users/dealii/gists{/gist_id}","starred_url":"https://api.github.com/users/dealii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dealii/subscriptions","organizations_url":"https://api.github.com/users/dealii/orgs","repos_url":"https://api.github.com/users/dealii/repos","events_url":"https://api.github.com/users/dealii/events{/privacy}","received_events_url":"https://api.github.com/users/dealii/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dealii/dealii","description":"The development repository for the deal.II finite element library.","fork":false,"url":"https://api.github.com/repos/dealii/dealii","forks_url":"https://api.github.com/repos/dealii/dealii/forks","keys_url":"https://api.github.com/repos/dealii/dealii/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dealii/dealii/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dealii/dealii/teams","hooks_url":"https://api.github.com/repos/dealii/dealii/hooks","issue_events_url":"https://api.github.com/repos/dealii/dealii/issues/events{/number}","events_url":"https://api.github.com/repos/dealii/dealii/events","assignees_url":"https://api.github.com/repos/dealii/dealii/assignees{/user}","branches_url":"https://api.github.com/repos/dealii/dealii/branches{/branch}","tags_url":"https://api.github.com/repos/dealii/dealii/tags","blobs_url":"https://api.github.com/repos/dealii/dealii/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dealii/dealii/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dealii/dealii/git/refs{/sha}","trees_url":"https://api.github.com/repos/dealii/dealii/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dealii/dealii/statuses/{sha}","languages_url":"https://api.github.com/repos/dealii/dealii/languages","stargazers_url":"https://api.github.com/repos/dealii/dealii/stargazers","contributors_url":"https://api.github.com/repos/dealii/dealii/contributors","subscribers_url":"https://api.github.com/repos/dealii/dealii/subscribers","subscription_url":"https://api.github.com/repos/dealii/dealii/subscription","commits_url":"https://api.github.com/repos/dealii/dealii/commits{/sha}","git_commits_url":"https://api.github.com/repos/dealii/dealii/git/commits{/sha}","comments_url":"https://api.github.com/repos/dealii/dealii/comments{/number}","issue_comment_url":"https://api.github.com/repos/dealii/dealii/issues/comments{/number}","contents_url":"https://api.github.com/repos/dealii/dealii/contents/{+path}","compare_url":"https://api.github.com/repos/dealii/dealii/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dealii/dealii/merges","archive_url":"https://api.github.com/repos/dealii/dealii/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dealii/dealii/downloads","issues_url":"https://api.github.com/repos/dealii/dealii/issues{/number}","pulls_url":"https://api.github.com/repos/dealii/dealii/pulls{/number}","milestones_url":"https://api.github.com/repos/dealii/dealii/milestones{/number}","notifications_url":"https://api.github.com/repos/dealii/dealii/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dealii/dealii/labels{/name}","releases_url":"https://api.github.com/repos/dealii/dealii/releases{/id}","deployments_url":"https://api.github.com/repos/dealii/dealii/deployments","created_at":"2014-07-17T14:00:26Z","updated_at":"2016-11-22T12:08:27Z","pushed_at":"2016-11-24T07:57:36Z","git_url":"git://github.com/dealii/dealii.git","ssh_url":"git@github.com:dealii/dealii.git","clone_url":"https://github.com/dealii/dealii.git","svn_url":"https://github.com/dealii/dealii","homepage":"http://www.dealii.org/","size":172519,"stargazers_count":188,"watchers_count":188,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":195,"mirror_url":null,"open_issues_count":200,"forks":195,"open_issues":200,"watchers":188,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3329"},"html":{"href":"https://github.com/dealii/dealii/pull/3329"},"issue":{"href":"https://api.github.com/repos/dealii/dealii/issues/3329"},"comments":{"href":"https://api.github.com/repos/dealii/dealii/issues/3329/comments"},"review_comments":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3329/comments"},"review_comment":{"href":"https://api.github.com/repos/dealii/dealii/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dealii/dealii/pulls/3329/commits"},"statuses":{"href":"https://api.github.com/repos/dealii/dealii/statuses/58eafdf61474cd5b65349f2027ef3d09359c3778"}}}}
{"actor":{"display_login":"kronbichler"}}