Runtime scaling #358
Replies: 17 comments
-
|
The following comments in #262 are really relevant to this issue: |
Beta Was this translation helpful? Give feedback.
-
|
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 |
Beta Was this translation helpful? Give feedback.
-
|
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: |
Beta Was this translation helpful? Give feedback.
-
|
Was this with the kelp particles or just normal particles? |
Beta Was this translation helpful? Give feedback.
-
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? |
Beta Was this translation helpful? Give feedback.
-
|
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). |
Beta Was this translation helpful? Give feedback.
-
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? |
Beta Was this translation helpful? Give feedback.
-
|
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 🎆 ) |
Beta Was this translation helpful? Give feedback.
-
|
Changing the scale factor is a good solution! |
Beta Was this translation helpful? Give feedback.
-
|
Here is the result for the scaling with the number of kelp particles: But following the discussion during today’s meeting we should rerun it with CPU and GPU on the same grid size. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
I have a question, I've been using the sugar kelp particles and it makes simple runs a lot slower. When I |
Beta Was this translation helpful? Give feedback.
-
It is very difficult to say anything without seeing the case or the profile data. Just couple of things that first come to mind:
|
Beta Was this translation helpful? Give feedback.
-
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 |
Beta Was this translation helpful? Give feedback.
-
|
@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). |
Beta Was this translation helpful? Give feedback.
-
They have a very complicated formulation for photosynthesis which requires solving for a parameter, I have tried replacing the |
Beta Was this translation helpful? Give feedback.
-
|
Runtime scaling for PISCES
|
Beta Was this translation helpful? Give feedback.





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
Beta Was this translation helpful? Give feedback.
All reactions