-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
running time #698
Comments
Hi @hakertop , In general the docker performance is below a native build as in includes non optimised code for the hardware of the host machine and there is a virtualisation layer. Broadly speaking the Docker performance depends on 2 factors.
Remember Underworld performance depends on the model - without know more I can't comment on it. Could you single out an example model as a slow one that I can investigate? Also what version of the docker are you trying? |
Hi Julian,
Thanks for your reply! I hope everything is going well!
Please allow me to provide more details, as I believe some people may encounter similar issues in the future.
1, My Docker version is 4.28.0, deployed in Windows under WSL2. Someone told me that deploying Docker under Linux might be better.
2, I haven't fully mastered the Docker configuration yet. I tried to modify different parameters, such as memory, swap, etc., but the results were not ideal. I have discovered that when I run my script, the CPU load reaches 100%, and VmmemWSL also occupies 100% of the CPU. I am looking for the cause of this situation.
3, I want to simulate the formation of detachment folds on a two-dimensional section. I wrote a new script to test a more extended profile by imitating a case in the project (d_26-NumericalSandboxCompression MovingWall. ipynb). This new script is attached below. Figure 1 shows the original state, and Figure 2 shows the state after 300 runs. The result made me extremely excited because it was what I wanted. Unfortunately, this program ran for several hours without even completing the preset number of runs.
Figure 1
Figure2
4, Please forgive my unfamiliarity with crustal deformation parameters, as I still struggle to determine the appropriate coupling between parameters (i.e. Viscosity, DruckerPrager, Friction). I would greatly appreciate it if you could provide some suggestions for my new script or you could modify the script. This will enhance my insight into Underworld2 and save me time.
Underworld2 is a user-friendly project, and I am eagerly looking forward to using it to study my experimental area.
All the best,
Yangen
| |
Yangen Shen
|
|
***@***.***
|
---- Replied Message ----
| From | Julian ***@***.***> |
| Date | 7/2/2024 00:50 |
| To | ***@***.***> |
| Cc | ***@***.***>,
***@***.***> |
| Subject | Re: [underworldcode/underworld2] running time (Issue #698) |
Hi @hakertop ,
Glad you found the docker installation a convenience, that's what it's for.
In general the docker performance is below a native build as in includes non optimised code for the hardware of the host machine and there is a virtualisation layer.
Broadly speaking the Docker performance depends on 2 factors.
Is the docker configuration appropriate for the host hardware.
This is setup when you docker run. See https://docs.docker.com/config/containers/resource_constraints/
Is the model appropriate for docker configuration.
Remember Underworld performance depends on the model - without know more I can't comment on it.
Could you single out an example model as a slow one that I can investigate?
Also what version of the docker are you trying?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hi Julian, I would like to know if you receive my messages. Do you think if I should run big model on HPC platform? I am not sure if the Underworld2 support the HPC platform. I find that it platform is relatively slow when I ran my model on the Docker. Thanks, |
I think I should attach the code. I am testing 3D detachment folding. `from underworld import UWGeodynamics as GEO u = GEO.UnitRegistry velocity = 2.5 * u.centimeter / u.hour KL = model_length GEO.scaling_coefficients["[length]"] = KL Model = GEO.Model(elementRes=(48,48,12), Model.outputDir="outputs_tutorial_IndentorB2" Model.minViscosity = 1.0e5 * u.pascal * u.second air = Model.add_material(name="Air", shape=GEO.shapes.Layer3D(top=Model.top, bottom=0.0u.centimetre)) import numpy as np npoints = 500 coords[:, 2] = GEO.nd(sand1.top) Model.add_passive_tracers(name="Interface1", vertices=coords) coords[:, 2] = GEO.nd(sand2.top) coords[:, 2] = GEO.nd(sand2.bottom) coords[:, 2] = GEO.nd(microbeads.top) coords[:, 2] = GEO.nd(microbeads.bottom) air.density = 10. * u.kilogram / u.metre3 air.viscosity = 1.0e5 * u.pascal * u.second sandFriction = np.tan(np.radians(36.0)) microbeadsFriction = np.tan(np.radians(22.0)) sand1.plasticity = GEO.DruckerPrager(cohesion=10.*u.pascal, frictionCoefficient=sandFriction, frictionAfterSoftening=sandFrictionW) #sand3.plasticity = GEO.DruckerPrager(cohesion=10.*u.pascal, frictionCoefficient=sandFriction, frictionAfterSoftening=sandFrictionW) Model.set_velocityBCs(left=[0.0,0.0,0.0], Model.init_model() Model.solver.set_inner_method("mumps") Model.run_for(duration=4.0*u.hour, checkpoint_interval=10.0 * u.minutes)` |
Hi all,
I recently used the underworld2 based on the Docker platform. It is very convenient compared to the native machine installation. However, I found it will take a lot of times when I run any project.
I want to know if it it normal? Could it improve the running speed if I install the Underworld2 into the native machine? Or Could we set the Docker parameters to improve?
all the best!
The text was updated successfully, but these errors were encountered: