{"action":"created","issue":{"url":"https://api.github.com/repos/dealii/dealii/issues/1196","labels_url":"https://api.github.com/repos/dealii/dealii/issues/1196/labels{/name}","comments_url":"https://api.github.com/repos/dealii/dealii/issues/1196/comments","events_url":"https://api.github.com/repos/dealii/dealii/issues/1196/events","html_url":"https://github.com/dealii/dealii/pull/1196","id":97294356,"number":1196,"title":"[RFC] Do not set a thread limit in tests in non-MPI mode.","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},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-26T07:27:32Z","updated_at":"2015-07-26T14:39:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dealii/dealii/pulls/1196","html_url":"https://github.com/dealii/dealii/pull/1196","diff_url":"https://github.com/dealii/dealii/pull/1196.diff","patch_url":"https://github.com/dealii/dealii/pull/1196.patch"},"body":"In d6609be, a temporary fix for\r\n```\r\nCalling set_thread_limit() more than once is not supported!\r\n```\r\nwas set for the new cell_similarity_11 test. However, when I ran with serial Trilinos in\r\nhttp://cdash.kyomu.43-1.org/viewTest.php?onlyfailed&buildid=10413\r\nI get 166 failing tests because of that. Before setting DEAL_II_TEST_DO_NOT_SET_THREAD_LIMIT in all those tests, I wonder if we shouldn't remove the LimitConcurrency struct altogether. I realize that it can be valuable but we disable it in MPI mode and the testers seem to do fine. Any reason for keeping it? The alternative would be to make MPI_InitFinalize smarter and only call set_thread_limit in case MultithreadInfo::n_threads() returns invalid_unsigned_int, then we could also apply LimitConcurrency in MPI mode."},"comment":{"url":"https://api.github.com/repos/dealii/dealii/issues/comments/124998038","html_url":"https://github.com/dealii/dealii/pull/1196#issuecomment-124998038","issue_url":"https://api.github.com/repos/dealii/dealii/issues/1196","id":124998038,"user":{"login":"bangerth","id":7504421,"avatar_url":"https://avatars.githubusercontent.com/u/7504421?v=3","gravatar_id":"","url":"https://api.github.com/users/bangerth","html_url":"https://github.com/bangerth","followers_url":"https://api.github.com/users/bangerth/followers","following_url":"https://api.github.com/users/bangerth/following{/other_user}","gists_url":"https://api.github.com/users/bangerth/gists{/gist_id}","starred_url":"https://api.github.com/users/bangerth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bangerth/subscriptions","organizations_url":"https://api.github.com/users/bangerth/orgs","repos_url":"https://api.github.com/users/bangerth/repos","events_url":"https://api.github.com/users/bangerth/events{/privacy}","received_events_url":"https://api.github.com/users/bangerth/received_events","type":"User","site_admin":false},"created_at":"2015-07-26T14:39:44Z","updated_at":"2015-07-26T14:39:44Z","body":"Just for context, the thread limiting was introduced because on a machine with N processors we run N tests at the same time. If each of them creates the default of N threads, then we get a total of N^2 threads running on the system. Some tests spawn M MPI jobs, further increasing the number. On my big machines, N=64 and so N^2=4096.\r\n\r\nThis doesn't work, and it will also not get any better on future systems. There is no other way than to limit the number of threads."}}