Skip to content
This repository was archived by the owner on Mar 12, 2021. It is now read-only.

Adding missing cudnnSetConvolutionGroupCount to pointers.json #521

Closed
wants to merge 2 commits into from

Conversation

arhik
Copy link

@arhik arhik commented Nov 28, 2019

This change is necessary for setting groupcount incase of depthwise and groupwise convolutions.

The original cudnn api is as follows:

cudnnStatus_t cudnnSetConvolutionGroupCount(
cudnnConvolutionDescriptor_t convDesc,
int groupCount)

Adding missing `cudnnSetConvolutionGroupCount` function to function pointers lookup table.
@maleadt
Copy link
Member

maleadt commented Dec 2, 2019

Why do you need this entry? We only need it to resolve pointer arguments, which this call doesn't have.

@maleadt
Copy link
Member

maleadt commented Dec 2, 2019

We have the wrapper already:

function cudnnSetConvolutionGroupCount(convDesc, groupCount)
@check @runtime_ccall((:cudnnSetConvolutionGroupCount, libcudnn[]), cudnnStatus_t,
(cudnnConvolutionDescriptor_t, Cint),
convDesc, groupCount)
end

@maleadt maleadt closed this Dec 2, 2019
@arhik
Copy link
Author

arhik commented Dec 2, 2019

Sorry. Function pointer was returning null so I assumed its missing. I didn't realized its declared at other place. Thanks.

Why do you need this entry? We only need it to resolve pointer arguments, which this call doesn't have.

I was just following other definitions. I was curious to know the purpose of null declarations as a followup. You have shed some light on it. Interesting!

@maleadt
Copy link
Member

maleadt commented Dec 2, 2019

Yeah, this stuff isn't documented at all, purely internal for generating wrappers. null indicates this argument isn't special, and can be used as-is. In other cases, when dealing with pointers, the argument indicates what kind of pointer we're dealing with (a pointer to CPU memory, to GPU memory, or to potentially both).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants