danigeos / tisc

TISC is a code to model isostasy, erosion/sediment transport/sedimentation, and tectonic kinematics, mostly for the study of sedimentary basins and source to sink systems.
https://sites.google.com/site/daniggcc/software/tisc
16 stars 2 forks source link

Parallelization #24

Open Bryanrt-geophys opened 3 years ago

Bryanrt-geophys commented 3 years ago

Was TISC built with an internal ability to distribute tasks to multiple processors? If not, do you have a recommended way to run to run TISC optimally over a multi-threaded CPU?

danigeos commented 3 years ago

there is absolutely no parallelization. The most we did was running multiple separate runs at once in a supercomputer in order to quickly explore the parameter field.

typical model setups with a high-end x-y resolution of ~300x300 take a few days to run in standard home computers. 200x200 reduce this to a few hours

On Sat, May 8, 2021 at 9:15 PM Bryan Thomas @.***> wrote:

Was TISC built with an internal ability to distribute tasks to multiple processors? If not, do you have a recommended way to run to run TISC optimally over a multi-threaded CPU?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/danigeos/tisc/issues/24, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACYFBCTHB7S4VNCTCEDXDSTTMWEVFANCNFSM44N2QGZQ .

Bryanrt-geophys commented 3 years ago

Would you have any recommendations on ways to speed up the process? I am running a foreland basin development model and testing interfering flexural wavelengths and my model has ended up being a 1000x1000 domain with 2x2 km grid spacing. Would I be incorrect in assuming the processes are linear so I can shrink all my feature sizes, thrusting rates, and domain size by half and multiply the units of all of the outputs by two? Essentially running a miniature representation of a larger model?

I am assuming there is no straight forward way to apply parallelization to the running of TISC without modifying the code itself, correct?

danigeos commented 3 years ago

The calculation time for each dt grows with about N^3, with N being the average between Nx and Ny. Roughly. And dt_eros, of course (in this case, computing time depends linearly). The size of the model is otherwise irrelevant if you keep Nx,Ny unchanged. 1000x1000 is really beyond anything i tried.

I have no experience in parallelizing, sorry.

On Mon, May 10, 2021 at 7:18 PM Bryan Thomas @.***> wrote:

Would you have any recommendations on ways to speed up the process? I am running a foreland basin development model and testing interfering flexural wavelengths and my model has ended up being a 1000x1000 domain with 2x2 km grid spacing. Would I be incorrect in assuming the processes are linear so I can shrink all my feature sizes, thrusting rates, and domain size by half and multiply the units of all of the outputs by two? Essentially running a miniature representation of a larger model?

I am assuming there is no straight forward way to apply parallelization to the running of TISC without modifying the code itself, correct?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/danigeos/tisc/issues/24#issuecomment-836994718, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACYFBCSLNIKFR5WFH7JHBV3TNAIOXANCNFSM44N2QGZQ .