[QST] Global variable inside conv2d kernel
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.5k
- Forks
- 2.1k
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 7
Description
What is your question?
Hello, good day. I am currently researching the Conv2dFprop kernel as I intend to modify its implementation in the library, specifically in the file https://github.com/NVIDIA/cutlass/blob/main/include/cutlass/conv/kernel/implicit_gemm_convolution.h.
This is because, whether called from a C++ or Python program on the host, this .h file is the last in the execution hierarchy and directly implements the convolution operation to be run on the GPU (in my case, NVIDIA A100 and V100).
My question is: Can a global variable be implemented within this class? I intend to assign a specific number of elements to this global variable, called multiply_tensor, which would then multiply the convolution parameters from then and the following calls to the class while the host code is still running.
I aim for this variable to be stored in GPU memory, then initialized and processed in the GPU during the first call and reused in subsequent ones. I am unsure if a global variable is a solution or if a new kernel parameter would be better.
Is this feasible?
Contributor guide
No contributing guide indexed for this repository
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 with include/cutlass/conv/kernel/implicit_gemm_convolution.h and trace the Conv2dFprop implementation and its calls. Determine whether the requested multiply_tensor state should be represented as GPU-resident state or a kernel parameter. Done means documenting a feasible approach, its lifecycle across calls, and any constraints.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100