Restore CUDA coverage reporting and test uncovered CUDA vector paths.

Open
#2,086 5 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
c, github-actions, gitlab

Research direction

Start by comparing the Codecov report around commits 1699807c and bf0eb79a, then trace the noether-cuda job through CUDA compilation, test execution, lcov generation, and upload. Inspect backends/cuda-ref/ceed-cuda-ref-vector.c and coverage tests for CeedHostScale_Cuda, CeedHostAXPY_Cuda, CeedHostSetValueStrided_Cuda, and CeedVectorSyncArray_Cuda; done means documenting where coverage is lost and restoring reporting or adding tests for the uncovered paths.

Written by the indexing model from the issue text.

Description

GPU testing

Hi all,

My name is Alyssa, I am a PhD student in Computational Science. I am very interested to contribute to the project. I would appreciate your guidance on my idea for contributing.

While researching the repository, I noticed that CUDA source files are missing from recent LibCEED CodeCov reports, even though noether-cuda GitLab job reports successful completion. The last Codecov report I found containing CUDA source coverage was commit 1699807c on October 12. After commit bf0eb79a, the CUDA vector implementation no longer appears in the Codecov file report. Furthermore in report including the CUDA coverage, the following vector functions in backends/cuda-ref/ceed-cuda-ref-vector.c had no coverage.

Specifically functions:

  • CeedHostScale_Cuda
  • CeedHostAXPY_Cuda
  • CeedHostSetValueStrided_Cuda
  • Additionally CeedVectorSyncArray_Cuda synchronization path is missing coverage.

My intended contribution would be to diagnose and fix this coverage issue. I would first reproduce the behavior locally, trace the workflow from CUDA compilation and test execution through lcov generation and Codecov upload, and determine at which stage coverage is lost at. If the issue is caused by CI or coverage configuration, I would contribute a fix to restore CUDA files to Codecov. If the missing coverage is caused by untested CUDA Host or Device paths, I would add or modify the relevant tests and verify the resulting coverage locally and in CI. At minimum, the deliverable would be a documented diagnosis and if, applicable, a fix restoring CUDA coverage to Codecov.

I have access to NVIDIA RTX A4000 GPUs with CUDA 13.2 for local investigation.

Please let me know if this missing CUDA coverage is expected or is an issue in the coverage workflow. I would also appreciate feedback on whether this would be an appropriate contribution.

Thank you,

Alyssa.

Dominant language
C
Stars
273
Forks
84
Avg merge
1d 15h
Merged PRs (30d)
21

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CEED/libCEED

All issues in CEED/libCEED

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.