Skip to content

Commit ca2d6d3

Browse files
authored
Merge pull request #11224 from dzhwinter/fix/cudnn
fix cudnn version issue
2 parents 3a29404 + 44c662b commit ca2d6d3

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

paddle/fluid/platform/cudnn_helper.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,27 @@ enum class PoolingMode {
8181
kMaximumDeterministic,
8282
};
8383

84+
#if CUDNN_VERSION < 6000
85+
#pragma message "CUDNN version under 6.0 is supported at best effort."
86+
#pragma message "We strongly encourage you to move to 6.0 and above."
87+
#pragma message "This message is intended to annoy you enough to update."
88+
#pragma message \
89+
"please see https://docs.nvidia.com/deeplearning/sdk/cudnn-release-notes/"
90+
91+
inline cudnnPoolingMode_t GetPoolingMode(const PoolingMode& mode) {
92+
switch (mode) {
93+
case PoolingMode::kMaximumDeterministic:
94+
return CUDNN_POOLING_MAX;
95+
case PoolingMode::kAverage:
96+
return CUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING;
97+
case PoolingMode::kMaximum:
98+
return CUDNN_POOLING_MAX;
99+
default:
100+
PADDLE_THROW("Unexpected pooling mode.");
101+
}
102+
}
103+
#else
104+
84105
inline cudnnPoolingMode_t GetPoolingMode(const PoolingMode& mode) {
85106
switch (mode) {
86107
case PoolingMode::kMaximumDeterministic:
@@ -93,6 +114,7 @@ inline cudnnPoolingMode_t GetPoolingMode(const PoolingMode& mode) {
93114
PADDLE_THROW("Unexpected pooling mode.");
94115
}
95116
}
117+
#endif // CUDNN_VERSION < 6000
96118

97119
template <typename T>
98120
class CudnnDataType;

0 commit comments

Comments
 (0)