Closed sstaehler closed 9 years ago
Why do you load them all on opening the file? Could this not be done on demand?
Because avoiding random IO access during runtime? The speedup on a large memory machine is quite high
Memoization?
AAAAAAAAARGH
Yes, would be a solution. But it still means unnecessary file accesses
well, not too many, because with 100 MB you can already store a good chunk of the model. Anyway, I think this is the cleanest solution compared to getting the 1D model again from some other source.
True, but still means some additional file accesses.
alternative: Read the model from the file and re-parametrize it over depth. Disadvantage: Might assign wrong model parameters to single GLL points. Would that be a problem?
A problem I encountered on SuperMUC for runs with periods of 2s (testing kernel convergence) is the memory requirement. Supermuc offers 1.6GB per node, which is a usual value, I guess. Since the AxiSEM mesh of a 2s run has 3,8E7 GLL points, this means that storing the 12 mesh parameters for each GLL point alone eats up 1.7 GB or all of the memory. Now it is not really necessary to waste that much memory on saving the model parameters. They only depend on depth and are set by some 100 parameters (the polynomial coefficients for all layers and all parameters in PREM for example).
So, what is the best solution for this?
Any suggestions?