Conversation
|
I forgot to mention, this change seems to upset the codevelop build. When configuring cmake with these Release-build TPLs, I get: |
Codecov Report
@@ Coverage Diff @@
## develop #764 +/- ##
========================================
Coverage 94.90% 94.90%
========================================
Files 142 142
Lines 9151 9151
========================================
Hits 8685 8685
Misses 466 466 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
|
Thanks for looking into this! |
|
This is not ready to be merged, as it still has that problem with the codevelop build (although codevelop seems to be broken for me on |
This may be fixed in MFEM already... I'll test it out in a bit. |
|
the TPLs built by this branch seem to be working on CPU builds (without and without "codevelop"), and on GPU builds without "codevelop" (see: #767). For reference, the before and after of the spack build directories: so, a significant reduction, especially in conduit (1.1G -> 0.1G). |
|
Looking at the remaining sources of large files:
The takeaway here is:
|
|
Now that I am slightly more awake... I am not sure what would happen with the current solution if we turn on our Basically they need to be added and with the Do you mind if I push a fix to your branch @samuelpmishLLNL ? |
Good question, I didn't build the debug variant. If "codevelop" is working, I think that's preferable to having an entire separate TPL build (since we don't really want to debug all the TPLs, just axom+mfem and maybe hypre).
Not at all. Like I said earlier, this PR is probably a bad implementation, given that I don't really understand spack packages. |
|
I went a little crazy with the variant forwarding but this significantly cleans up our dependencies. Pre-change: With changes: |
|
Just tested the |
white238
left a comment
There was a problem hiding this comment.
@chapman39 could you also look this over?
re: #761
It looks like by default,
uberenvbuilds everything asRelWithDebInfo, so the TPLs produce huge binaries:sam@provolone:~/code/serac_libs_before/gcc-9.3.0/conduit-0.8.3-wqhg2i6ady424csssfpjlggcjflt42jx/lib$ ls -la ... -rw------- 1 sam sam 64230114 Aug 4 13:00 libconduit.a -rw------- 1 sam sam 185510866 Aug 4 13:00 libconduit_blueprint.a -rw------- 1 sam sam 41864046 Aug 4 13:01 libconduit_blueprint_mpi.a -rw------- 1 sam sam 47961410 Aug 4 13:01 libconduit_relay.a -rw------- 1 sam sam 4944286 Aug 4 13:00 libconduit_relay_mpi.a -rw------- 1 sam sam 27381396 Aug 4 13:01 libconduit_relay_mpi_io.avs.
so about a ~20x reduction in TPL binary size. Linking against these also was increasing the size of our unit tests by more than 100MB+, each.
Before: (Release)
After: (Release)
I tried passing "build_type=Release" as part of the spack spec, but it seemed to do nothing.
This is probably the wrong way to rebuild the TPLs without debug info, but it's an attempt to get the ball rolling.