{"action":"created","issue":{"url":"https://api.github.com/repos/OPM/opm-autodiff/issues/454","labels_url":"https://api.github.com/repos/OPM/opm-autodiff/issues/454/labels{/name}","comments_url":"https://api.github.com/repos/OPM/opm-autodiff/issues/454/comments","events_url":"https://api.github.com/repos/OPM/opm-autodiff/issues/454/events","html_url":"https://github.com/OPM/opm-autodiff/pull/454","id":104474347,"number":454,"title":"Parallel assembly (partial)","user":{"login":"babrodtk","id":3326841,"avatar_url":"https://avatars.githubusercontent.com/u/3326841?v=3","gravatar_id":"","url":"https://api.github.com/users/babrodtk","html_url":"https://github.com/babrodtk","followers_url":"https://api.github.com/users/babrodtk/followers","following_url":"https://api.github.com/users/babrodtk/following{/other_user}","gists_url":"https://api.github.com/users/babrodtk/gists{/gist_id}","starred_url":"https://api.github.com/users/babrodtk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/babrodtk/subscriptions","organizations_url":"https://api.github.com/users/babrodtk/orgs","repos_url":"https://api.github.com/users/babrodtk/repos","events_url":"https://api.github.com/users/babrodtk/events{/privacy}","received_events_url":"https://api.github.com/users/babrodtk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-09-02T12:57:46Z","updated_at":"2015-09-02T13:34:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/OPM/opm-autodiff/pulls/454","html_url":"https://github.com/OPM/opm-autodiff/pull/454","diff_url":"https://github.com/OPM/opm-autodiff/pull/454.diff","patch_url":"https://github.com/OPM/opm-autodiff/pull/454.patch"},"body":"This pull request cuts the total runtime by around 20% compared to current master in my experiments, and produces the exact same results as master. It runs part of the assembly in parallel using OpenMP.\r\n\r\nOne caveat is that some printout may suffer from race conditions when using multiple threads, but that will hopefully be taken care of with a proper logger.\r\n\r\nThe pull request should not affect anyone, unless they enable USE_OPENMP in CMake. Then, the only side effect should be faster execution time, but more CPU use whilst running a simulation. \r\n\r\nI have not tested this in conjunction with MPI, but it should in theory be compatible. "},"comment":{"url":"https://api.github.com/repos/OPM/opm-autodiff/issues/comments/137081943","html_url":"https://github.com/OPM/opm-autodiff/pull/454#issuecomment-137081943","issue_url":"https://api.github.com/repos/OPM/opm-autodiff/issues/454","id":137081943,"user":{"login":"alfbr","id":1741868,"avatar_url":"https://avatars.githubusercontent.com/u/1741868?v=3","gravatar_id":"","url":"https://api.github.com/users/alfbr","html_url":"https://github.com/alfbr","followers_url":"https://api.github.com/users/alfbr/followers","following_url":"https://api.github.com/users/alfbr/following{/other_user}","gists_url":"https://api.github.com/users/alfbr/gists{/gist_id}","starred_url":"https://api.github.com/users/alfbr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alfbr/subscriptions","organizations_url":"https://api.github.com/users/alfbr/orgs","repos_url":"https://api.github.com/users/alfbr/repos","events_url":"https://api.github.com/users/alfbr/events{/privacy}","received_events_url":"https://api.github.com/users/alfbr/received_events","type":"User","site_admin":false},"created_at":"2015-09-02T13:34:24Z","updated_at":"2015-09-02T13:34:24Z","body":"I am a bit uncertain about this approach. Keep in mind that the MPI version of the code in coming, and will distribute the assembly part too. More to the performance part, did you test on Norne? How many threads do you need to get the benefit (Amdahl's law you know, we usually do not have many idle cpu's available on nodes used for reservoir simulation)?"}}