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

WGS84 to UTM benchmark (C++) #1216

Merged

Conversation

harrism
Copy link
Member

@harrism harrism commented Jul 12, 2023

Description

Closes #1215

Depends on #1191

New benchmark for C++ API for WGS84->UTM transform.

Below results were run on a single CPU core for Proj (ignore gbench's claims to the contrary), and on a single H100 80GB GPU. Machine was a DGX H100.

(rapids) coder ➜ ~/cuspatial $ CUDA_VISIBLE_DEVICES=1 cpp/build/latest/cuproj/benchmarks/WGS_TO_UTM_BENCH 
2023-08-02T00:08:52+00:00
Running cpp/build/latest/cuproj/benchmarks/WGS_TO_UTM_BENCH
Run on (224 X 3800 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x112)
  L1 Instruction 32 KiB (x112)
  L2 Unified 2048 KiB (x112)
  L3 Unified 107520 KiB (x2)
Load Average: 1.70, 6.21, 14.43
---------------------------------------------------------------------------------------------------------------------
Benchmark                                                           Time             CPU   Iterations UserCounters...
---------------------------------------------------------------------------------------------------------------------
proj_utm_benchmark/forward_double/100                           0.013 ms        0.013 ms        57756 items_per_second=7.95314M/s
proj_utm_benchmark/forward_double/1000                          0.114 ms        0.114 ms         6118 items_per_second=8.73369M/s
proj_utm_benchmark/forward_double/10000                          1.24 ms         1.24 ms          588 items_per_second=8.07697M/s
proj_utm_benchmark/forward_double/100000                         12.0 ms         12.0 ms           58 items_per_second=8.35593M/s
proj_utm_benchmark/forward_double/1000000                         120 ms          120 ms            6 items_per_second=8.36301M/s
proj_utm_benchmark/forward_double/10000000                       1213 ms         1213 ms            1 items_per_second=8.24563M/s
proj_utm_benchmark/forward_double/100000000                     11977 ms        11976 ms            1 items_per_second=8.35038M/s
proj_utm_benchmark/forward_double/1000000000                   119680 ms       119677 ms            1 items_per_second=8.35579M/s
cuproj_utm_benchmark/forward_float/100/manual_time              0.011 ms        0.040 ms        66283 items_per_second=9.47605M/s
cuproj_utm_benchmark/forward_float/1000/manual_time             0.012 ms        0.041 ms        56799 items_per_second=81.2019M/s
cuproj_utm_benchmark/forward_float/10000/manual_time            0.013 ms        0.042 ms        55571 items_per_second=793.482M/s
cuproj_utm_benchmark/forward_float/100000/manual_time           0.013 ms        0.042 ms        53048 items_per_second=7.5779G/s
cuproj_utm_benchmark/forward_float/1000000/manual_time          0.027 ms        0.056 ms        25842 items_per_second=36.9063G/s
cuproj_utm_benchmark/forward_float/10000000/manual_time         0.170 ms        0.198 ms         4130 items_per_second=58.8554G/s
cuproj_utm_benchmark/forward_float/100000000/manual_time         1.60 ms         1.62 ms          439 items_per_second=62.6581G/s
cuproj_utm_benchmark/forward_float/1000000000/manual_time        15.9 ms         15.9 ms           44 items_per_second=63.0518G/s
cuproj_utm_benchmark/forward_double/100/manual_time             0.012 ms        0.041 ms        57960 items_per_second=8.30297M/s
cuproj_utm_benchmark/forward_double/1000/manual_time            0.015 ms        0.044 ms        47605 items_per_second=68.0791M/s
cuproj_utm_benchmark/forward_double/10000/manual_time           0.015 ms        0.044 ms        47353 items_per_second=676.864M/s
cuproj_utm_benchmark/forward_double/100000/manual_time          0.016 ms        0.045 ms        43394 items_per_second=6.19684G/s
cuproj_utm_benchmark/forward_double/1000000/manual_time         0.042 ms        0.070 ms        16621 items_per_second=23.7599G/s
cuproj_utm_benchmark/forward_double/10000000/manual_time        0.304 ms        0.332 ms         2302 items_per_second=32.863G/s
cuproj_utm_benchmark/forward_double/100000000/manual_time        2.93 ms         2.96 ms          240 items_per_second=34.087G/s
cuproj_utm_benchmark/forward_double/1000000000/manual_time       29.3 ms         29.3 ms           24 items_per_second=34.13G/s

@harrism harrism requested review from a team as code owners July 12, 2023 06:52
@harrism harrism requested review from trxcllnt and isVoid July 12, 2023 06:52
@github-actions github-actions bot added cmake Related to CMake code or build configuration libcuspatial Relates to the cuSpatial C++ library labels Jul 12, 2023
@harrism harrism self-assigned this Jul 12, 2023
@harrism harrism added feature request New feature or request non-breaking Non-breaking change and removed cmake Related to CMake code or build configuration libcuspatial Relates to the cuSpatial C++ library labels Jul 12, 2023
@harrism harrism added this to the Projection Transformations milestone Jul 12, 2023
@github-actions github-actions bot added cmake Related to CMake code or build configuration libcuspatial Relates to the cuSpatial C++ library labels Jul 27, 2023
Copy link
Contributor

@isVoid isVoid left a comment

Choose a reason for hiding this comment

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

Just small comment. Thanks for adding the benchmark!

cpp/cuproj/benchmarks/wgs_to_utm_bench.cu Show resolved Hide resolved
cpp/cuproj/benchmarks/wgs_to_utm_bench.cu Outdated Show resolved Hide resolved
cpp/cuproj/benchmarks/fixture/rmm_pool_raii.hpp Outdated Show resolved Hide resolved
@harrism
Copy link
Member Author

harrism commented Aug 2, 2023

/merge

@rapids-bot rapids-bot bot merged commit cb7ce8e into rapidsai:branch-23.08 Aug 2, 2023
42 checks passed
@isVoid isVoid mentioned this pull request Aug 2, 2023
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmake Related to CMake code or build configuration feature request New feature or request libcuspatial Relates to the cuSpatial C++ library non-breaking Non-breaking change
Projects
Status: Review
Development

Successfully merging this pull request may close these issues.

Benchmark for header-only C++ WGS<->UTM
2 participants