-
Notifications
You must be signed in to change notification settings - Fork 2
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
Long compile times #83
Comments
Wow! That's dramatic! Do you also know if this is inference or LLVM time? |
I know that the loops in If changing writer to HDF5 improves things, we can restructure things to store symbols instead of references for the entire object. |
Yeah, it's pretty dramatic, I have a feeling that it's a combination of things, and yes, we can try with HDF5. I haven't narrowed down between inference / LLVM time. |
Here are some tests I performed. I took a baroclinc wave and added a bunch of diagnostics like this:
in the config. I tested the case with NetCDF and HDF5 writers, and listed below is approximately the time to compile NetCDF: HDF5: Next, I tried turning the diagnostics from a tuple to vector, these are the new times NetCDF: HDF5: |
It seem that ClimaDiagnostics may be largely responsible for the long compile times. This may be related to #82, or complex type signatures + JuliaLang/julia#55807, or a combination of all three. This job in ClimaAtmos took ~98 minutes to compile the driver up to the end of the first call to
step!(integrator)
with diagnostics, and only 24 without. So, adding diagnostics increases compile times by 4x. Here is a reproducer in ClimaAtmos:The text was updated successfully, but these errors were encountered: