Runtime scaling #358
Replies: 17 comments
|
The following comments in #262 are really relevant to this issue: |
|
The initial runs for the LOBSTER model has been done. The total runtime (excluding compilation) and total memory allocated on a host are shown in the graphs below.
The raw data in CSV files contains extra details (e.g. total GC time): The GPU run with I/O did not reach the same grid size as without I/O. This is because I was running them in my EDIT: Actually given that the |
|
I has some issues with the scaling runs wrt number of particles. The calculations (both CPU and GPU) seemed to crash rather randomly with not very helpful error messages e.g.: On GPU with CUDA: On CPU: |
|
Was this with the kelp particles or just normal particles? |
That would be Originally there were only 5 initialised at different depths. Now the number is arbitrary with, but I kept the range of depths the same. I was thinking the problem may stem from that? |
|
How many particles are you going up to? That error is from the carbon chemistry solve (and we so far haven't found a good way to catch errors which occur inside GPU kernels). If the number of particles is very large then it might be making the DIC leave the "normal" range which the chemistry model can cope with, or possibly its taking all the nutrients and making the phytoplankton go negative (although I'd expect an error from the light attenuation model if it is that). |
The aim is of course as much as possible ;-)
If I understand what you are saying the problems may arise from the concentration of the particles, right? |
|
It seems to have been the total weight indeed! -particles = SugarKelpParticles(n; grid, scalefactors = fill(2000, n))
+particles = SugarKelpParticles(n; grid, scalefactors = fill(2000/n, n))Makes the calculation not crash (on a GPU) will check a CPU shortly (EDIT: CPU is a go 🎆 ) |
|
Changing the scale factor is a good solution! |
|
I have a question, I've been using the sugar kelp particles and it makes simple runs a lot slower. When I |
It is very difficult to say anything without seeing the case or the profile data. Just couple of things that first come to mind:
|
Thank you for this suggestion, it turns out that it spends a significant extra time computing the tendencies for the kelp timestepping because they involve a root finding (which I forgot happened) so its quite a long operation so I guess this is to be expected |
|
@jagoosw, where is the root finding happening? I wonder if there is a way that we can avoid that (even if it introduces additional assumptions). |
They have a very complicated formulation for photosynthesis which requires solving for a parameter, I have tried replacing the |





Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
We need to investigate how the runtime is influenced by:
Tasks
All reactions