Port 14 HeCBench benchmarks to Kokkos#67
Merged
Conversation
…benchmarks - resize-kokkos: nearest-neighbor and bilinear image resize via Kokkos::parallel_for with templated CHANNELS_PER_ITER; tests 1/2/4-byte pixel types - ising-kokkos: Ising model black/white sublattice updates via MDRangePolicy<Rank<2>>; init_spins and update_lattice_black/white kernels - pool-kokkos: 2D average/max pool gradient kernel via Kokkos::parallel_for; KOKKOS_INLINE_FUNCTION AvgPoolGrad/MaxPoolGrad; verifies against CPU reference (PASS) - rainflow-kokkos: rainflow cycle counting with per-thread Execute/Extrema as KOKKOS_INLINE_FUNCTION; parallel_for over num_history items; verifies (PASS) - hypterm-kokkos: 3D hyperbolic term kernels via MDRangePolicy<Rank<3>>; three directional sweeps; RMS error 0.0 vs CPU reference - distort-kokkos: barrel distortion via parallel_for; getRadialX/Y and sampleImageTest as KOKKOS_INLINE_FUNCTION; Properties captured by value; max channel error 0 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: kento <1034379+kento@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: kento <1034379+kento@users.noreply.github.com>
- lrn-kokkos: parallel_for for fwd/bwd LRN kernels with nested lambdas - murmurhash3-kokkos: parallel_for over keys with KOKKOS_INLINE_FUNCTION hash - extend2-kokkos: sequential DP on host execution space via Kokkos Views - geodesic-kokkos: parallel_for for geodesic distance computation - degrid-kokkos: parallel_for over visibility points with sequential inner GCF loop - haccmk-kokkos: parallel_for over particles with sequential inner N-body loop Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: kento <1034379+kento@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kento/HeCBench/sessions/9f653ec5-d58e-4f3e-b35d-5b26107f0eb3 Co-authored-by: kento <1034379+kento@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
kento
April 12, 2026 13:40
View session
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HeCBench had ~377 benchmarks without Kokkos implementations. This PR adds 14 new Kokkos ports, each verified against CPU reference outputs.
New Kokkos ports
channelSumresizeisingpoolrainflowhyptermdistortlrnmurmurhash3extend2geodesicdegridhaccmkpage-rankImplementation patterns
All ports follow the same conventions:
Kokkos::View<T*>for device storage;create_mirror_view+deep_copyfor transfersKokkos::parallel_for/Kokkos::parallel_reducewithKOKKOS_LAMBDAKOKKOS_INLINE_FUNCTIONfor device-callable helpers (replacing#pragma omp declare target)Kokkos::fence()after each kernel dispatch