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

DRAFT: ASV Benchmark for High Resolution MPAS Atmosphere Grids #958

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

philipc2
Copy link
Member

@philipc2 philipc2 commented Sep 15, 2024

Closes #956

Overview

@philipc2 philipc2 changed the title DRAFT: ASV Benchmark for 30,15, 7.5, & 3.75km Grids DRAFT: ASV Benchmark for High Resolution MPAS Atmosphere Grids Sep 15, 2024
@philipc2 philipc2 added the run-benchmark Run ASV benchmark workflow label Sep 15, 2024
@philipc2 philipc2 linked an issue Sep 15, 2024 that may be closed by this pull request
Copy link

github-actions bot commented Sep 15, 2024

ASV Benchmarking

Benchmark Comparison Results

Benchmarks that have improved:

Change Before [f50e4bb] After [6a509e3] Ratio Benchmark (Parameter)
- 406M 354M 0.87 mpas_ocean.Integrate.peakmem_integrate('480km')

Benchmarks that have stayed the same:

Change Before [f50e4bb] After [6a509e3] Ratio Benchmark (Parameter)
failed failed n/a face_bounds.Bounds.time_bounds
383M 383M 1.00 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
384M 385M 1.00 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
383M 387M 1.01 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
382M 386M 1.01 face_bounds.FaceBounds.peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.56±0.01s 1.60±0s 1.03 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
225±0.1ms 226±1ms 1.01 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
2.00±0s 2.04±0s 1.02 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
7.73±0.1ms 7.58±0.04ms 0.98 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.72±0.03s 1.75±0.01s 1.01 import.Imports.timeraw_import_uxarray
643±4ms 657±8ms 1.02 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('120km')
40.7±0.7ms 42.1±0.4ms 1.03 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('480km')
1.84±0.01ms 1.87±0.05ms 1.02 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('120km')
495±10μs 497±20μs 1.00 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('480km')
1.35±0.01μs 1.32±0.01μs 0.98 mpas_ocean.ConstructTreeStructures.time_ball_tree('120km')
320±8ns 316±10ns 0.99 mpas_ocean.ConstructTreeStructures.time_ball_tree('480km')
812±10ns 831±4ns 1.02 mpas_ocean.ConstructTreeStructures.time_kd_tree('120km')
296±1ns 288±7ns 0.97 mpas_ocean.ConstructTreeStructures.time_kd_tree('480km')
402M 402M 1.00 mpas_ocean.GeoDataFrame.peakmem_to_geodataframe('120km', False)
391M 391M 1.00 mpas_ocean.GeoDataFrame.peakmem_to_geodataframe('120km', True)
362M 362M 1.00 mpas_ocean.GeoDataFrame.peakmem_to_geodataframe('480km', False)
361M 361M 1.00 mpas_ocean.GeoDataFrame.peakmem_to_geodataframe('480km', True)
1.03±0.01s 1.04±0s 1.01 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', False)
58.0±1ms 57.0±0.5ms 0.98 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', True)
79.1±2ms 78.0±0.7ms 0.99 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', False)
5.71±0.2ms 5.40±0.2ms 0.95 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', True)
265M 263M 0.99 mpas_ocean.Gradient.peakmem_gradient('120km')
241M 241M 1.00 mpas_ocean.Gradient.peakmem_gradient('480km')
2.68±0.01ms 2.68±0.02ms 1.00 mpas_ocean.Gradient.time_gradient('120km')
287±1μs 286±2μs 1.00 mpas_ocean.Gradient.time_gradient('480km')
225±10μs 242±10μs 1.08 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('120km')
121±0.4μs 120±0.8μs 1.00 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('480km')
370M 371M 1.00 mpas_ocean.Integrate.peakmem_integrate('120km')
179±2ms 177±0.6ms 0.98 mpas_ocean.Integrate.time_integrate('120km')
11.8±0.5ms 12.0±0.02ms 1.02 mpas_ocean.Integrate.time_integrate('480km')
346±3ms 347±0.8ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'exclude')
345±1ms 346±3ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'include')
349±4ms 345±3ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'split')
22.3±0.3ms 22.8±0.3ms 1.02 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'exclude')
22.6±0.3ms 22.3±0.5ms 0.99 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'include')
22.9±0.5ms 22.5±0.5ms 0.98 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'split')
54.8±0.2ms 54.7±0.1ms 1.00 mpas_ocean.RemapDownsample.time_inverse_distance_weighted_remapping
44.4±0.1ms 44.3±0.1ms 1.00 mpas_ocean.RemapDownsample.time_nearest_neighbor_remapping
360±1ms 359±0.5ms 1.00 mpas_ocean.RemapUpsample.time_inverse_distance_weighted_remapping
264±1ms 263±0.6ms 1.00 mpas_ocean.RemapUpsample.time_nearest_neighbor_remapping
239M 237M 0.99 quad_hexagon.QuadHexagon.peakmem_open_dataset
237M 236M 1.00 quad_hexagon.QuadHexagon.peakmem_open_grid
6.50±0.04ms 6.62±0.04ms 1.02 quad_hexagon.QuadHexagon.time_open_dataset
5.61±0.09ms 5.62±0.08ms 1.00 quad_hexagon.QuadHexagon.time_open_grid

@philipc2 philipc2 removed the run-benchmark Run ASV benchmark workflow label Sep 18, 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.

ASV Benchmark for High-Resolution Grids
1 participant