| 19 | namespace gpu { |
| 20 | |
| 21 | absl::string_view ThunkKindToString(Thunk::Kind kind) { |
| 22 | switch (kind) { |
| 23 | case Thunk::kAsyncOutSend: |
| 24 | return "kAsyncOutSend"; |
| 25 | case Thunk::kCholesky: |
| 26 | return "kCholesky"; |
| 27 | case Thunk::kCollectivePermute: |
| 28 | return "kCollectivePermute"; |
| 29 | case Thunk::kConditional: |
| 30 | return "kConditional"; |
| 31 | case Thunk::kConvolution: |
| 32 | return "kConvolution"; |
| 33 | case Thunk::kCopy: |
| 34 | return "kCopy"; |
| 35 | case Thunk::kCudnnSoftmax: |
| 36 | return "kCudnnSoftmax"; |
| 37 | case Thunk::kCudnnBatchNormBackward: |
| 38 | return "kCudnnBatchNormBackward"; |
| 39 | case Thunk::kCudnnBatchNormForwardInference: |
| 40 | return "kCudnnBatchNormForwardInference"; |
| 41 | case Thunk::kCudnnBatchNormForwardTraining: |
| 42 | return "kCudnnBatchNormForwardTraining"; |
| 43 | case Thunk::kCustomCall: |
| 44 | return "kCustomCall"; |
| 45 | case Thunk::kNcclAllReduce: |
| 46 | return "kNcclAllReduce"; |
| 47 | case Thunk::kFft: |
| 48 | return "kFft"; |
| 49 | case Thunk::kGemm: |
| 50 | return "kGemm"; |
| 51 | case Thunk::kInfeed: |
| 52 | return "kInfeed"; |
| 53 | case Thunk::kKernel: |
| 54 | return "kKernel"; |
| 55 | case Thunk::kMemset32BitValue: |
| 56 | return "kMemset32BitValue"; |
| 57 | case Thunk::kMemzero: |
| 58 | return "kMemzero"; |
| 59 | case Thunk::kOutfeed: |
| 60 | return "kOutfeed"; |
| 61 | case Thunk::kReplicaId: |
| 62 | return "kReplicaId"; |
| 63 | case Thunk::kSequential: |
| 64 | return "kSequential"; |
| 65 | case Thunk::kTriangularSolve: |
| 66 | return "kTriangularSolve"; |
| 67 | case Thunk::kTuple: |
| 68 | return "kTuple"; |
| 69 | case Thunk::kWhile: |
| 70 | return "kWhile"; |
| 71 | } |
| 72 | } |
| 73 | |
| 74 | std::ostream& operator<<(std::ostream& os, Thunk::Kind kind) { |
| 75 | return os << ThunkKindToString(kind); |
no outgoing calls
no test coverage detected