Skip to content

Commit

Permalink
Add support for softmaxcrossentropy loss to MIGraphX EP (#64) (micros…
Browse files Browse the repository at this point in the history
…oft#22603)

Add support for softmaxcrossentropy loss. This is already enabled on our
ROCm Fork of the MIGraphX EP


### Motivation and Context
Adds support for the SoftmaxCrossEntropyLoss operator and removes the
filtering of inputs here.
  • Loading branch information
TedThemistokleous authored and ankitm3k committed Dec 11, 2024
1 parent b8d3efa commit 05cce90
Showing 1 changed file with 1 addition and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -915,6 +915,7 @@ GetUnsupportedNodeIndices(const GraphViewer& graph_viewer,
"SkipSimplifiedLayerNormalization",
"Slice",
"Softmax",
"SoftmaxCrossEntropyLoss",
"Softplus",
"Softsign",
"SpaceToDepth",
Expand Down Expand Up @@ -1026,15 +1027,6 @@ MIGraphXExecutionProvider::GetCapability(const onnxruntime::GraphViewer& graph_v
return result;
}

// migraphx cannot handle Loop, If, and SoftmaxCrossEntropyLoss for now,
// so if a model contain any of these operators, fall back to CPU
std::unordered_set<std::string> vec_ops = {"SoftmaxCrossEntropyLoss"};
if (std::any_of(unsupported_nodes.begin(), unsupported_nodes.end(), [&](auto i) {
return (vec_ops.count(graph_viewer.GetNode(i)->OpType()) > 0);
})) {
return result;
}

auto mgx_clusters = GetPartitionedSubgraphs(graph_viewer.GetNodesInTopologicalOrder(), unsupported_nodes);

// check whether a subgrap should fallback to CPU
Expand Down

0 comments on commit 05cce90

Please sign in to comment.