{"action":"created","issue":{"url":"https://api.github.com/repos/trilinos/Trilinos/issues/3137","repository_url":"https://api.github.com/repos/trilinos/Trilinos","labels_url":"https://api.github.com/repos/trilinos/Trilinos/issues/3137/labels{/name}","comments_url":"https://api.github.com/repos/trilinos/Trilinos/issues/3137/comments","events_url":"https://api.github.com/repos/trilinos/Trilinos/issues/3137/events","html_url":"https://github.com/trilinos/Trilinos/issues/3137","id":342030843,"node_id":"MDU6SXNzdWUzNDIwMzA4NDM=","number":3137,"title":"MueLu: Static library is HUGE; splitting by GlobalOrdinal etc. won't help","user":{"login":"mhoemmen","id":926747,"node_id":"MDQ6VXNlcjkyNjc0Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/926747?v=4","gravatar_id":"","url":"https://api.github.com/users/mhoemmen","html_url":"https://github.com/mhoemmen","followers_url":"https://api.github.com/users/mhoemmen/followers","following_url":"https://api.github.com/users/mhoemmen/following{/other_user}","gists_url":"https://api.github.com/users/mhoemmen/gists{/gist_id}","starred_url":"https://api.github.com/users/mhoemmen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhoemmen/subscriptions","organizations_url":"https://api.github.com/users/mhoemmen/orgs","repos_url":"https://api.github.com/users/mhoemmen/repos","events_url":"https://api.github.com/users/mhoemmen/events{/privacy}","received_events_url":"https://api.github.com/users/mhoemmen/received_events","type":"User","site_admin":false},"labels":[{"id":816763194,"node_id":"MDU6TGFiZWw4MTY3NjMxOTQ=","url":"https://api.github.com/repos/trilinos/Trilinos/labels/ATDM","name":"ATDM","color":"ea88a5","default":false},{"id":289606071,"node_id":"MDU6TGFiZWwyODk2MDYwNzE=","url":"https://api.github.com/repos/trilinos/Trilinos/labels/MueLu","name":"MueLu","color":"5319e7","default":false},{"id":335017395,"node_id":"MDU6TGFiZWwzMzUwMTczOTU=","url":"https://api.github.com/repos/trilinos/Trilinos/labels/build","name":"build","color":"bfd4f2","default":false},{"id":287520105,"node_id":"MDU6TGFiZWwyODc1MjAxMDU=","url":"https://api.github.com/repos/trilinos/Trilinos/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-07-17T18:20:39Z","updated_at":"2018-07-18T20:51:48Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"@trilinos/muelu @micahahoward @tcfisher \r\n\r\nSPARC wasn't actually able to build MueLu before on Intel 17, static debug, because the library was too huge for the linker.  PR #3100 fixes this for ATDM Dashboard builds by using a new BinUtils module, and thus a new linker.  I fixed this for SPARC by setting `Tpetra_INST_INT_INT=OFF` and `Amesos2_ENABLE_Epetra=OFF`.  \r\n\r\nWhile I'm able to build Trilinos now, `libmuelu.a` is still 3.8G.  This is with only one Scalar type (`double`), one GlobalOrdinal type (`long long`), and one Node type (`OpenMP`) enabled.  That suggests that splitting MueLu's library by GlobalOrdinal and/or Node won't actually help shrink the library.  Instead, if we want to split it, we'll need to split it by topic.\r\n\r\n## Expectations\r\n\r\nLibraries shouldn't be so huge that they require 64-bit linkers. \r\n\r\n## Current Behavior\r\n\r\n`libmuelu.a` is 3.8G when I have only one Scalar, GlobalOrdinal, and Node type combination enabled.\r\n\r\n## Possible Solution\r\n\r\nSplit `libmuelu` by topic, e.g., smoothers, aggregation, etc.\r\n\r\n## Steps to Reproduce\r\n\r\nIntel 17 static debug build, ATDM libraries.\r\n\r\n## Related Issues\r\n* Follows #3069 \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/trilinos/Trilinos/issues/comments/406070353","html_url":"https://github.com/trilinos/Trilinos/issues/3137#issuecomment-406070353","issue_url":"https://api.github.com/repos/trilinos/Trilinos/issues/3137","id":406070353,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNjA3MDM1Mw==","user":{"login":"mhoemmen","id":926747,"node_id":"MDQ6VXNlcjkyNjc0Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/926747?v=4","gravatar_id":"","url":"https://api.github.com/users/mhoemmen","html_url":"https://github.com/mhoemmen","followers_url":"https://api.github.com/users/mhoemmen/followers","following_url":"https://api.github.com/users/mhoemmen/following{/other_user}","gists_url":"https://api.github.com/users/mhoemmen/gists{/gist_id}","starred_url":"https://api.github.com/users/mhoemmen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhoemmen/subscriptions","organizations_url":"https://api.github.com/users/mhoemmen/orgs","repos_url":"https://api.github.com/users/mhoemmen/repos","events_url":"https://api.github.com/users/mhoemmen/events{/privacy}","received_events_url":"https://api.github.com/users/mhoemmen/received_events","type":"User","site_admin":false},"created_at":"2018-07-18T20:51:48Z","updated_at":"2018-07-18T20:51:48Z","author_association":"CONTRIBUTOR","body":"@jhux2 wrote:\r\n> However, I suspect a root problem is that ETI is not supported in Xpetra.\r\n\r\nThe only way this would matter, is if multiple instantiations of the same Xpetra classes are going into different object files in the same `libmuelu.a` archive.  We could actually figure this out by doing `nm -C` on the object files and looking for duplicate Xpetra instantiations.\r\n"}}
{"actor":{"display_login":"mhoemmen"}}