Skip to content
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

Experimental support for optimization using multiple devices #763

Closed
wants to merge 8 commits into from

Conversation

f0uriest
Copy link
Member

@f0uriest f0uriest commented Nov 21, 2023

This doesn't work as is, will likely need to wait until we get MPI working.

@f0uriest f0uriest marked this pull request as draft November 21, 2023 06:46
Copy link
Contributor

|             benchmark_name             |         dt(%)          |         dt(s)          |        t_new(s)        |        t_old(s)        | 
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
 test_build_transform_fft_lowres         |     -0.39 +/- 1.28     | -4.87e-05 +/- 1.60e-04 |  1.24e-02 +/- 1.2e-04  |  1.25e-02 +/- 1.1e-04  |
 test_build_transform_fft_midres         |     +1.22 +/- 0.70     | +1.10e-03 +/- 6.32e-04 |  9.15e-02 +/- 4.8e-04  |  9.04e-02 +/- 4.1e-04  |
 test_build_transform_fft_highres        |     +0.85 +/- 0.77     | +3.89e-03 +/- 3.54e-03 |  4.61e-01 +/- 3.0e-03  |  4.57e-01 +/- 1.9e-03  |
 test_equilibrium_init_lowres            |     -1.13 +/- 1.17     | -8.95e-03 +/- 9.26e-03 |  7.85e-01 +/- 7.0e-03  |  7.94e-01 +/- 6.1e-03  |
 test_equilibrium_init_medres            |     -0.52 +/- 1.09     | -7.31e-03 +/- 1.54e-02 |  1.41e+00 +/- 1.0e-02  |  1.41e+00 +/- 1.1e-02  |
 test_equilibrium_init_highres           |     +0.31 +/- 0.79     | +1.28e-02 +/- 3.29e-02 |  4.17e+00 +/- 1.9e-02  |  4.16e+00 +/- 2.7e-02  |
 test_objective_compile_dshape_current   |     +0.19 +/- 7.35     | +7.78e-03 +/- 3.00e-01 |  4.09e+00 +/- 2.1e-01  |  4.09e+00 +/- 2.2e-01  |
 test_objective_compile_atf              |     +0.45 +/- 6.54     | +4.12e-02 +/- 5.95e-01 |  9.13e+00 +/- 4.2e-01  |  9.09e+00 +/- 4.3e-01  |
 test_objective_compute_dshape_current   |     -1.22 +/- 1.98     | -2.60e-05 +/- 4.21e-05 |  2.10e-03 +/- 3.2e-05  |  2.13e-03 +/- 2.7e-05  |
 test_objective_compute_atf              |     +1.04 +/- 1.09     | +7.87e-05 +/- 8.24e-05 |  7.66e-03 +/- 5.9e-05  |  7.58e-03 +/- 5.7e-05  |
 test_objective_jac_dshape_current       |     -3.88 +/- 12.78    | -1.80e-03 +/- 5.93e-03 |  4.46e-02 +/- 3.7e-03  |  4.64e-02 +/- 4.6e-03  |
 test_objective_jac_atf                  |     -4.56 +/- 5.00     | -1.06e-01 +/- 1.16e-01 |  2.21e+00 +/- 6.1e-02  |  2.31e+00 +/- 9.8e-02  |
 test_perturb_1                          |     -1.02 +/- 13.21    | -8.70e-02 +/- 1.12e+00 |  8.42e+00 +/- 8.0e-01  |  8.51e+00 +/- 7.9e-01  |
 test_perturb_2                          |     -1.19 +/- 4.13     | -1.70e-01 +/- 5.88e-01 |  1.41e+01 +/- 4.4e-01  |  1.42e+01 +/- 3.9e-01  |

Copy link
Contributor

|             benchmark_name             |         dt(%)          |         dt(s)          |        t_new(s)        |        t_old(s)        | 
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
 test_build_transform_fft_lowres         |     -1.14 +/- 0.85     | -1.42e-04 +/- 1.06e-04 |  1.23e-02 +/- 8.7e-05  |  1.24e-02 +/- 6.0e-05  |
 test_build_transform_fft_midres         |     -1.88 +/- 1.55     | -1.74e-03 +/- 1.43e-03 |  9.07e-02 +/- 1.1e-03  |  9.24e-02 +/- 9.3e-04  |
 test_build_transform_fft_highres        |     -0.13 +/- 1.04     | -5.95e-04 +/- 4.77e-03 |  4.59e-01 +/- 4.3e-03  |  4.60e-01 +/- 2.1e-03  |
 test_equilibrium_init_lowres            |     -1.44 +/- 1.81     | -1.14e-02 +/- 1.43e-02 |  7.81e-01 +/- 9.3e-03  |  7.92e-01 +/- 1.1e-02  |
 test_equilibrium_init_medres            |     -1.09 +/- 1.43     | -1.54e-02 +/- 2.02e-02 |  1.39e+00 +/- 1.0e-02  |  1.41e+00 +/- 1.8e-02  |
 test_equilibrium_init_highres           |     -0.96 +/- 0.72     | -4.02e-02 +/- 3.00e-02 |  4.14e+00 +/- 2.0e-02  |  4.18e+00 +/- 2.3e-02  |
 test_objective_compile_dshape_current   |     -1.16 +/- 8.11     | -4.82e-02 +/- 3.36e-01 |  4.09e+00 +/- 2.3e-01  |  4.14e+00 +/- 2.4e-01  |
 test_objective_compile_atf              |     -0.26 +/- 8.14     | -2.40e-02 +/- 7.46e-01 |  9.14e+00 +/- 4.8e-01  |  9.16e+00 +/- 5.7e-01  |
 test_objective_compute_dshape_current   |     -0.46 +/- 4.23     | -9.63e-06 +/- 8.88e-05 |  2.09e-03 +/- 8.4e-05  |  2.10e-03 +/- 3.0e-05  |
 test_objective_compute_atf              |     +0.93 +/- 1.11     | +6.82e-05 +/- 8.11e-05 |  7.40e-03 +/- 6.0e-05  |  7.33e-03 +/- 5.5e-05  |
 test_objective_jac_dshape_current       |     +3.95 +/- 15.19    | +1.84e-03 +/- 7.07e-03 |  4.84e-02 +/- 5.9e-03  |  4.65e-02 +/- 3.9e-03  |
 test_objective_jac_atf                  |     +3.41 +/- 5.96     | +7.63e-02 +/- 1.33e-01 |  2.31e+00 +/- 9.9e-02  |  2.24e+00 +/- 8.9e-02  |
 test_perturb_1                          |     -1.35 +/- 12.34    | -1.15e-01 +/- 1.06e+00 |  8.45e+00 +/- 7.3e-01  |  8.56e+00 +/- 7.6e-01  |
 test_perturb_2                          |     +0.62 +/- 4.91     | +8.84e-02 +/- 7.05e-01 |  1.44e+01 +/- 5.2e-01  |  1.44e+01 +/- 4.8e-01  |

Copy link
Contributor

|             benchmark_name             |         dt(%)          |         dt(s)          |        t_new(s)        |        t_old(s)        | 
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
 test_build_transform_fft_lowres         |     -0.68 +/- 1.22     | -8.46e-05 +/- 1.51e-04 |  1.24e-02 +/- 1.0e-04  |  1.24e-02 +/- 1.1e-04  |
 test_build_transform_fft_midres         |     -1.25 +/- 1.32     | -1.16e-03 +/- 1.22e-03 |  9.15e-02 +/- 1.0e-03  |  9.26e-02 +/- 6.3e-04  |
 test_build_transform_fft_highres        |     +1.49 +/- 0.76     | +6.83e-03 +/- 3.48e-03 |  4.64e-01 +/- 2.6e-03  |  4.57e-01 +/- 2.3e-03  |
 test_equilibrium_init_lowres            |     +2.67 +/- 1.36     | +2.11e-02 +/- 1.07e-02 |  8.11e-01 +/- 8.3e-03  |  7.90e-01 +/- 6.8e-03  |
 test_equilibrium_init_medres            |     +1.63 +/- 1.82     | +2.31e-02 +/- 2.58e-02 |  1.44e+00 +/- 2.0e-02  |  1.41e+00 +/- 1.6e-02  |
 test_equilibrium_init_highres           |     +0.08 +/- 1.04     | +3.30e-03 +/- 4.35e-02 |  4.20e+00 +/- 3.5e-02  |  4.20e+00 +/- 2.6e-02  |
 test_objective_compile_dshape_current   |     -0.88 +/- 7.16     | -3.64e-02 +/- 2.98e-01 |  4.12e+00 +/- 2.1e-01  |  4.15e+00 +/- 2.1e-01  |
 test_objective_compile_atf              |     +0.19 +/- 5.83     | +1.74e-02 +/- 5.39e-01 |  9.26e+00 +/- 3.9e-01  |  9.24e+00 +/- 3.7e-01  |
 test_objective_compute_dshape_current   |     +2.57 +/- 4.95     | +5.43e-05 +/- 1.04e-04 |  2.16e-03 +/- 9.5e-05  |  2.11e-03 +/- 4.2e-05  |
 test_objective_compute_atf              |     +2.97 +/- 1.55     | +2.23e-04 +/- 1.17e-04 |  7.73e-03 +/- 8.4e-05  |  7.50e-03 +/- 8.1e-05  |
 test_objective_jac_dshape_current       |     +4.14 +/- 6.79     | +1.86e-03 +/- 3.05e-03 |  4.68e-02 +/- 2.0e-03  |  4.49e-02 +/- 2.3e-03  |
 test_objective_jac_atf                  |     -1.27 +/- 4.15     | -2.97e-02 +/- 9.73e-02 |  2.31e+00 +/- 5.2e-02  |  2.34e+00 +/- 8.2e-02  |
 test_perturb_1                          |     -4.78 +/- 12.27    | -4.33e-01 +/- 1.11e+00 |  8.62e+00 +/- 7.3e-01  |  9.05e+00 +/- 8.4e-01  |
 test_perturb_2                          |     -5.39 +/- 3.81     | -8.30e-01 +/- 5.87e-01 |  1.46e+01 +/- 4.0e-01  |  1.54e+01 +/- 4.3e-01  |

Copy link

codecov bot commented Nov 27, 2023

Codecov Report

Attention: Patch coverage is 77.08333% with 22 lines in your changes missing coverage. Please review.

Project coverage is 94.95%. Comparing base (588f1b9) to head (4f8fa60).
Report is 3095 commits behind head on master.

Files with missing lines Patch % Lines
desc/__init__.py 72.88% 16 Missing ⚠️
desc/backend.py 84.00% 4 Missing ⚠️
desc/objectives/objective_funs.py 83.33% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #763      +/-   ##
==========================================
+ Coverage   94.85%   94.95%   +0.10%     
==========================================
  Files          80       80              
  Lines       19779    19799      +20     
==========================================
+ Hits        18762    18801      +39     
+ Misses       1017      998      -19     
Files with missing lines Coverage Δ
desc/objectives/_bootstrap.py 97.43% <ø> (ø)
desc/objectives/_equilibrium.py 97.47% <ø> (ø)
desc/objectives/_generic.py 98.21% <ø> (ø)
desc/objectives/_geometry.py 98.43% <ø> (ø)
desc/objectives/_profiles.py 97.26% <ø> (ø)
desc/objectives/_qs.py 97.23% <ø> (ø)
desc/objectives/_stability.py 98.70% <ø> (ø)
desc/objectives/objective_funs.py 94.32% <83.33%> (+0.03%) ⬆️
desc/backend.py 94.66% <84.00%> (+4.98%) ⬆️
desc/__init__.py 75.94% <72.88%> (+28.58%) ⬆️

Copy link
Contributor

|             benchmark_name             |         dt(%)          |         dt(s)          |        t_new(s)        |        t_old(s)        | 
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
 test_build_transform_fft_lowres         |     +0.37 +/- 2.77     | +4.63e-05 +/- 3.51e-04 |  1.27e-02 +/- 1.7e-04  |  1.27e-02 +/- 3.1e-04  |
 test_build_transform_fft_midres         |     +0.16 +/- 2.12     | +1.50e-04 +/- 1.96e-03 |  9.28e-02 +/- 1.8e-03  |  9.26e-02 +/- 7.1e-04  |
 test_build_transform_fft_highres        |     -1.89 +/- 1.62     | -8.84e-03 +/- 7.57e-03 |  4.59e-01 +/- 6.7e-03  |  4.68e-01 +/- 3.5e-03  |
 test_equilibrium_init_lowres            |     +0.25 +/- 2.45     | +2.02e-03 +/- 2.00e-02 |  8.18e-01 +/- 1.3e-02  |  8.16e-01 +/- 1.5e-02  |
 test_equilibrium_init_medres            |     +0.83 +/- 2.16     | +1.20e-02 +/- 3.11e-02 |  1.45e+00 +/- 2.6e-02  |  1.44e+00 +/- 1.7e-02  |
 test_equilibrium_init_highres           |     +0.28 +/- 1.22     | +1.21e-02 +/- 5.18e-02 |  4.26e+00 +/- 4.1e-02  |  4.25e+00 +/- 3.2e-02  |
 test_objective_compile_dshape_current   |     +3.13 +/- 9.20     | +1.35e-01 +/- 3.95e-01 |  4.43e+00 +/- 2.7e-01  |  4.30e+00 +/- 2.9e-01  |
 test_objective_compile_atf              |     +1.73 +/- 5.84     | +1.65e-01 +/- 5.57e-01 |  9.71e+00 +/- 3.2e-01  |  9.54e+00 +/- 4.6e-01  |
 test_objective_compute_dshape_current   |    +16.88 +/- 7.46     | +3.68e-04 +/- 1.63e-04 |  2.55e-03 +/- 1.5e-04  |  2.18e-03 +/- 5.7e-05  |
 test_objective_compute_atf              |     +1.48 +/- 3.25     | +1.15e-04 +/- 2.52e-04 |  7.86e-03 +/- 2.2e-04  |  7.75e-03 +/- 1.2e-04  |
 test_objective_jac_dshape_current       |     +3.64 +/- 10.43    | +1.71e-03 +/- 4.89e-03 |  4.86e-02 +/- 3.9e-03  |  4.69e-02 +/- 3.0e-03  |
 test_objective_jac_atf                  |     +0.59 +/- 8.21     | +1.42e-02 +/- 1.97e-01 |  2.42e+00 +/- 1.7e-01  |  2.40e+00 +/- 9.2e-02  |
 test_perturb_1                          |     -0.67 +/- 12.69    | -5.90e-02 +/- 1.12e+00 |  8.80e+00 +/- 8.6e-01  |  8.86e+00 +/- 7.2e-01  |
 test_perturb_2                          |     +2.26 +/- 6.89     | +3.39e-01 +/- 1.04e+00 |  1.54e+01 +/- 9.0e-01  |  1.50e+01 +/- 5.2e-01  |

Copy link
Contributor

github-actions bot commented Feb 15, 2024

|             benchmark_name             |         dt(%)          |         dt(s)          |        t_new(s)        |        t_old(s)        | 
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
 test_build_transform_fft_lowres         |     +0.08 +/- 1.22     | +1.03e-05 +/- 1.52e-04 |  1.25e-02 +/- 1.0e-04  |  1.25e-02 +/- 1.1e-04  |
 test_build_transform_fft_midres         |     +0.21 +/- 1.01     | +1.88e-04 +/- 9.25e-04 |  9.16e-02 +/- 7.0e-04  |  9.14e-02 +/- 6.0e-04  |
 test_build_transform_fft_highres        |     -0.08 +/- 0.88     | -3.87e-04 +/- 4.05e-03 |  4.62e-01 +/- 3.1e-03  |  4.62e-01 +/- 2.6e-03  |
 test_equilibrium_init_lowres            |     +0.66 +/- 1.07     | +5.17e-03 +/- 8.44e-03 |  7.95e-01 +/- 4.8e-03  |  7.89e-01 +/- 7.0e-03  |
 test_equilibrium_init_medres            |     -0.37 +/- 0.91     | -5.26e-03 +/- 1.29e-02 |  1.41e+00 +/- 9.6e-03  |  1.42e+00 +/- 8.7e-03  |
 test_equilibrium_init_highres           |     -0.39 +/- 0.68     | -1.62e-02 +/- 2.84e-02 |  4.17e+00 +/- 2.2e-02  |  4.19e+00 +/- 1.8e-02  |
 test_objective_compile_dshape_current   |     +1.87 +/- 8.48     | +8.18e-02 +/- 3.71e-01 |  4.46e+00 +/- 2.9e-01  |  4.38e+00 +/- 2.3e-01  |
 test_objective_compile_atf              |     +1.70 +/- 6.50     | +1.57e-01 +/- 5.99e-01 |  9.37e+00 +/- 4.2e-01  |  9.21e+00 +/- 4.2e-01  |
 test_objective_compute_dshape_current   |     +1.16 +/- 2.86     | +2.49e-05 +/- 6.10e-05 |  2.16e-03 +/- 5.0e-05  |  2.14e-03 +/- 3.6e-05  |
 test_objective_compute_atf              |     -1.68 +/- 1.18     | -1.27e-04 +/- 8.91e-05 |  7.46e-03 +/- 6.3e-05  |  7.58e-03 +/- 6.3e-05  |
 test_objective_jac_dshape_current       |     +1.14 +/- 10.28    | +5.30e-04 +/- 4.79e-03 |  4.72e-02 +/- 4.0e-03  |  4.66e-02 +/- 2.6e-03  |
 test_objective_jac_atf                  |     -0.75 +/- 3.39     | -1.69e-02 +/- 7.65e-02 |  2.24e+00 +/- 5.4e-02  |  2.26e+00 +/- 5.4e-02  |
 test_perturb_1                          |     +0.73 +/- 13.35    | +6.30e-02 +/- 1.15e+00 |  8.65e+00 +/- 8.7e-01  |  8.58e+00 +/- 7.5e-01  |
 test_perturb_2                          |     +0.60 +/- 5.58     | +8.48e-02 +/- 7.89e-01 |  1.42e+01 +/- 6.7e-01  |  1.41e+01 +/- 4.2e-01  |


import psutil

cpu_mem = psutil.virtual_memory().available / 1024**2 # RAM in MB
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[flake8] <841> reported by reviewdog 🐶
local variable 'cpu_mem' is assigned to but never used

@f0uriest
Copy link
Member Author

f0uriest commented Sep 2, 2024

Closing this in favor of #1071

@f0uriest f0uriest closed this Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant