You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add CUDA kernels for Sinusoidal, LAEA, Polar Stere, State Plane (#1045)
All 12 projections now have GPU CUDA kernels. Performance on A6000:
- Sinusoidal: 18ms (56x vs pyproj)
- LAEA Europe: 18ms (92x)
- Polar Stere: 57ms (64-67x)
- State Plane tmerc: 23ms (88x)
- State Plane lcc ftUS: 36ms (124x)
- LCC France: 39ms (78x)
All bit-exact against CPU Numba kernels.
Updated README benchmark table and projection support matrix.
| State Plane ME (tmerc) | 223ms (9x) |23ms (88x) | 2.03s |
249
+
| State Plane CA (lcc, ftUS) | 426ms (11x) |36ms (124x) | 4.47s |
250
250
251
251
Speedups in parentheses are relative to pyproj. The Numba kernels port the PROJ C math (Krueger 6th-order series for Transverse Mercator, Newton iteration for LCC/Mercator inverse, authalic latitude Fourier series for equal-area projections) to `@njit(parallel=True)`. CUDA kernels use `@cuda.jit(device=True)` for the same per-pixel math.
0 commit comments