Incorrect padding for the data source of spPostprocess2D in convolutionFFT2D.
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 9.6k
- Forks
- 2.4k
- Avg merge
- 53m
- Merged PRs (30d)
- 1
Description
In "convolutionFFT2D.cu":
147 extern "C" void spPostprocess2D(void *d_Dst, void *d_Src, uint DY, uint DX,
148 uint padding, int dir) {
...
162 #if (USE_TEXTURE)
163 cudaTextureObject_t texComplex;
164 cudaResourceDesc texRes;
165 memset(&texRes, 0, sizeof(cudaResourceDesc));
166
167 texRes.resType = cudaResourceTypeLinear;
168 texRes.res.linear.devPtr = d_Src;
169 texRes.res.linear.sizeInBytes = sizeof(fComplex) * DY * (DX + padding);
Here the texture size based on "d_Src" should be "sizeof(fComplex) * DY * DX" because neither the data source passed from "test1()" in "main.cpp" nor the data access in kernel "spPostprocess2D_kernel" has padding.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in convolutionFFT2D.cu at spPostprocess2D, around lines 147-169, and compare the texture resource size with the source allocation in test1() in main.cpp and accesses in spPostprocess2D_kernel. Verify that the reported linear texture size matches the actual d_Src layout, then run the convolutionFFT2D sample to confirm the postprocessing path still works.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100