Is the memory usage lower for NetCDFOutputWriter compared to JLD2OutputWriter on GPU? #3533
Replies: 3 comments 12 replies
-
Do you mind sharing your script? Both the outputs and the model configuration can affect how the output writers behave. There are not any major differences in memory consumption between the two output writers that I know of. There may be some small differences because they are initialized differently (with |
Beta Was this translation helpful? Give feedback.
-
Sure, no problem, here is the script. Yes, the |
Beta Was this translation helpful? Give feedback.
-
Could you also share the error? The GPU should not be a problem as the output is transferred to the CPU before writing. If it's an OOM error it means we are consuming too much RAM, but, as far as I know, there should be no heavy memory allocation in the output writers so it might mean that there is a bug somewhere. |
Beta Was this translation helpful? Give feedback.
-
My simulation, which is (150x300x100) in size, was running on a GPU V100. After 532 iterations, which took about 1 hour of wall time, it terminated due to an out-of-memory (OOM) error when I was using the JLD2OutputWriter to write the output. However, when I switched to using the NetCDFOutputWriter for the exact same simulation and diagnostics, the simulation completed in about 10 minutes of wall time (2219 iterations) without any memory issues. I'm unsure what caused this significant difference in memory usage between the two output writers. Does this issue specifically occur for large (or not-small) simulations on GPUs? I'm pleased with how much more efficient the NetCDF output writer is, but I'd like to understand the reason behind this difference. Any insight would be much appreciated! Thank you!
(I am using Oceananigans v.90.9 and Julia 1.9.3)
Beta Was this translation helpful? Give feedback.
All reactions