The number of flops I am seeing is a little bit higher on half precision than full precision, and the bytes fetched from memory is half (which makes sense).
My leading theory for the discrepancy (which I am looking for more information about), is that the half precision data are being bit packed onto 32-bit data to be sent on chip. Then there are operations which unpack the data so they can be operated on as 16-bit once they are on chip?