Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Azure: Compile with -g #2979

Closed
wants to merge 3 commits into from
Closed

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Mar 17, 2022

Uses default compilation type (Release) which implies -O3, but adds -g debug symbols (just larger binaries) for more useful backtraces.

First seen in #2878.

Uses default compilation type (`Release`) which implies `-O3`, but
adds `-g` debug symbols (just larger binaries) for more useful
backtraces.
@ax3l ax3l added the component: tests Tests and CI label Mar 17, 2022
@ax3l ax3l requested a review from EZoni March 17, 2022 18:28
Copy link
Member

@EZoni EZoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, looks good to me!

@EZoni EZoni enabled auto-merge (squash) March 17, 2022 18:34
An average build is <200MB, we build 3 variants most per CI matrix
entry and some variations.

Saw a first out-of-disk-space error in CI, so let's limit here.
> Microsoft-hosted agents only have 10 GB of disk space available for
> running your job.

Also increase CI time from 120 to 180min for cold-starts (w/o cache).
@ax3l
Copy link
Member Author

ax3l commented Mar 21, 2022

I think with -g we get problems with respect to cache size. I checked du -hs build/ and a single WarpX build with debug symbols -g is about 3.2GB in size.

Without -g, a default build/ is just 226 MB. In total, we can only create 10 GB of temporary storage in CI, which also includes all the dependencies and toolchains we need to install...

We can probably optimize a bit by removing -g from dependencies:

$ du -hs build/lib/*
1.7M	build/lib/libablastr.a
305M	build/lib/libamrex.a
16K	build/lib/libbuildInfoapp.a
562M	build/lib/libopenPMD.a

For our CI, it's probably sufficient to have line numbers on WarpX backtraces and then skip them in AMReX, openPMD-api et al.

.azure-pipelines.yml Outdated Show resolved Hide resolved
@EZoni
Copy link
Member

EZoni commented Mar 30, 2022

@ax3l Do you think we should try a ccache max. size between 5GB and 10GB here?

@ax3l ax3l changed the title Azure: Compile with -g [WIP] Azure: Compile with -g Jun 15, 2022
@ax3l
Copy link
Member Author

ax3l commented Jul 31, 2024

I think the issue we face is that the binary caches are not large enough for this.
We could retry this after the CTest transition, maybe we are lucky and are below 10G.

@EZoni
Copy link
Member

EZoni commented Nov 7, 2024

Implemented in #5443.

@EZoni EZoni closed this Nov 7, 2024
auto-merge was automatically disabled November 7, 2024 17:45

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: tests Tests and CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants