Skip to content

Conversation

@MarleneBusch
Copy link
Collaborator

Parallelized heliostat groups

I have changed the distributed environment setup, it is now possible to have nested distributed process groups.
Up until now the individual heliostat groups were processed sequentially one after the other. Within the heliostat groups it was possible to process heliostats in parallel using DDP. With the nested distributed setup heliostat groups are processed in parallel and the parallelisation within each group remains.
I have also changed the logging, most statements will now only be logged from rank 0.

Fixes #125

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@github-actions
Copy link

github-actions bot commented Jun 26, 2025

Name Stmts Miss Cover Missing
artist\__init__.py 5 0 100%
artist\field\__init__.py 12 0 100%
artist\field\actuators.py 15 0 100%
artist\field\actuators_ideal.py 12 0 100%
artist\field\actuators_linear.py 34 0 100%
artist\field\facets_nurbs.py 27 0 100%
artist\field\heliostat_field.py 85 4 95% 223-228
artist\field\heliostat_group.py 41 0 100%
artist\field\heliostat_group_rigid_body.py 21 0 100%
artist\field\kinematic.py 11 0 100%
artist\field\kinematic_rigid_body.py 63 0 100%
artist\field\surface.py 22 0 100%
artist\field\tower_target_areas.py 51 0 100%
artist\raytracing\__init__.py 3 0 100%
artist\raytracing\heliostat_tracing.py 121 0 100%
artist\raytracing\rays.py 7 0 100%
artist\raytracing\raytracing_utils.py 19 0 100%
artist\scene\__init__.py 4 0 100%
artist\scene\light_source.py 15 2 87% 73, 103
artist\scene\light_source_array.py 31 0 100%
artist\scene\sun.py 45 0 100%
artist\util\__init__.py 24 8 67% 54-55, 60-65
artist\util\config_dictionary.py 282 0 100%
artist\util\environment_setup.py 91 16 82% 72-74, 188-228, 306
artist\util\kinematic_optimizer.py 70 0 100%
artist\util\nurbs.py 146 10 93% 202-203, 317, 321, 323-324, 400-401, 404-405
artist\util\paint_loader.py 134 0 100%
artist\util\scenario.py 94 1 99% 377
artist\util\surface_converter.py 153 0 100%
artist\util\type_mappings.py 11 0 100%
artist\util\utils.py 129 0 100%
artist\util\utils_load_h5.py 155 5 97% 610, 614, 620, 625, 630
TOTAL 1933 46 98%

@codecov
Copy link

codecov bot commented Jun 26, 2025

Codecov Report

Attention: Patch coverage is 92.02454% with 13 lines in your changes missing coverage. Please review.

Project coverage is 97.62%. Comparing base (4bfa854) to head (2a0860b).
Report is 37 commits behind head on main.

Files with missing lines Patch % Lines
artist/util/environment_setup.py 79.62% 11 Missing ⚠️
artist/field/heliostat_field.py 90.47% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #139      +/-   ##
==========================================
- Coverage   98.31%   97.62%   -0.70%     
==========================================
  Files          32       32              
  Lines        1840     1933      +93     
==========================================
+ Hits         1809     1887      +78     
- Misses         31       46      +15     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@kalebphipps kalebphipps left a comment

Choose a reason for hiding this comment

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

Looks good - thanks for the changes!

@MarleneBusch MarleneBusch merged commit 81c53b4 into main Jun 27, 2025
13 of 15 checks passed
@MarleneBusch MarleneBusch deleted the features/parallelized_heliostat_groups branch June 27, 2025 12:46
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.

Allowing multiple different kinematic types and actuator types

3 participants