Convolution node used for training and float16 data type, possible?

Is it possible to use a convolution node with a data type MPSDataTypeFloat16 when training the network?


In the optimizer's (Adam optimizer) method encodeToCommandBuffer:convolutionGradientState:...resultState: method I get the following error message when using MPSDataTypeFloat16:


/BuildRoot/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShaders/MetalPerformanceShaders-121.4.2/MPSMatrix/LinearAlgebra/MPSMatrix.mm, line 585: error '[MPSVector initWithBuffer:length:dataType] buffer is too small (600) for vector size (1200 bytes)


Yes, I have initialized the gradients with MPSDataTypeFloat16 and then the buffer size has to be 600 bytes. But it seems to be that the method assumes to get a vector of data type MPSDataTypeFloat32.

Convolution node used for training and float16 data type, possible?
 
 
Q