mixed precision casues failure to benchmark
NevesLucas opened this issue · 2 comments
setting up the problem type as:
- # ProblemType
OperationType: ConvolutionForward
HighPrecisionAccumulate: False
DataType: h
ComputeDataType: h
DestDataType: s
TransposeA: False
TransposeB: False
UseBeta: False
Batched: True
ConvolutionConfig:
- TensorAFormat: NCHW
- TensorBFormat: KCYX
- TensorDFormat: NCHW
- Filter: 1x1
- Stride: 1x1
- Dilation: 1x1
- GroupCount: 1
- PackedSpatialDims: 1
- PackedFilterDims: 1
- UnrollOnChannel: 1
Causes valid kernels to be generated, but throws
Invalid combination of data types: a: Half, b: Half, c: Float, d: Float, alpha: Half, beta: Half
when benchmarking begins.
Is it even possible to assign different datatypes as above? if not a more graceful exit message would be helpful, waiting until all kernels are generated before erroring out can take a long time.
Hi @NevesLucas , It is possible to have mixed datatypes. Not all combinations are admissible, though. To enable mixed-precision types HighPrecisionAccumulate must be True (yours is False). Please let me know if that solves the error message.
The current data types you have is not working, you can modify it as follows:
DataType: h
ComputeDataType: s
DestDataType: s