This PR adds several new prototype features to the cuDNN type safe wrapper:
It's now possible to compute the workspace size for a given forward convolution configuration.
Forward convolution algorithms admissible configurations depending on dimensionality, data types and tensor layouts have been implemented in the type system.
A flexible API to make cuDNN automatically find the best forward convolution for the given forward convolution configuration has been implemented. Such heuristic is also checked at compile time with the type systems.
This PR adds several new prototype features to the cuDNN type safe wrapper: