Why is the case that every operator is supported by the ANE but the model still runs on GPU

Hi everyone,

Wondering if you know how the device decide which compute unit (GPU, CPU or ANE) to use when compute units are set to ALL?

I'm working on optimizing a GPT2 model to run on ANE. I ran the performance report for the existing model and the report showed me operators not supported by ANE.

Then I went onto remove these operators and converted the model to CoreML again. This time the performance report showed that every operator is supported by ANE but the device still prefers GPU when the compute units are set to ALL and perfers CPU when the compute units are set to CPU and ANE.

ALL

CPU and ANE

Does anyone know why?

Thank you in advance!