|
206 | 206 |
|
207 | 207 | Error
|
208 | 208 | MPSGraphBuilder::mpsScatterOp(NodePtr nodePtr) {
|
209 |
| - auto graphNode = nodePtr->mpsnode_union_as_MPSScatter(); |
210 |
| - ET_LOG( |
211 |
| - Debug, "%s %d: %d", |
212 |
| - __FUNCTION__, graphNode->input1_id(), graphNode->output_id() |
213 |
| - ); |
| 209 | + if (@available(iOS 15.4, macOS 12.3, *)) { |
| 210 | + auto graphNode = nodePtr->mpsnode_union_as_MPSScatter(); |
| 211 | + ET_LOG( |
| 212 | + Debug, "%s %d: %d", |
| 213 | + __FUNCTION__, graphNode->input1_id(), graphNode->output_id() |
| 214 | + ); |
214 | 215 |
|
215 |
| - int64_t dim = graphNode->dim(); |
216 |
| - MPSGraphTensor* inputTensor = getMPSGraphTensor(graphNode->input1_id()); |
217 |
| - MPSGraphTensor* indicesTensor = getMPSGraphTensor(graphNode->idx_id()); |
218 |
| - MPSGraphTensor* updatesTensor = getMPSGraphTensor(graphNode->src_id()); |
| 216 | + int64_t dim = graphNode->dim(); |
| 217 | + MPSGraphTensor* inputTensor = getMPSGraphTensor(graphNode->input1_id()); |
| 218 | + MPSGraphTensor* indicesTensor = getMPSGraphTensor(graphNode->idx_id()); |
| 219 | + MPSGraphTensor* updatesTensor = getMPSGraphTensor(graphNode->src_id()); |
219 | 220 |
|
220 |
| - _idToMPSGraphTensor[graphNode->output_id()] = |
221 |
| - [_mpsGraph scatterAlongAxis:dim |
222 |
| - withDataTensor:inputTensor |
223 |
| - updatesTensor:updatesTensor |
224 |
| - indicesTensor:indicesTensor |
225 |
| - mode:MPSGraphScatterModeSet |
226 |
| - name:nil]; |
227 |
| - return Error::Ok; |
| 221 | + _idToMPSGraphTensor[graphNode->output_id()] = |
| 222 | + [_mpsGraph scatterAlongAxis:dim |
| 223 | + withDataTensor:inputTensor |
| 224 | + updatesTensor:updatesTensor |
| 225 | + indicesTensor:indicesTensor |
| 226 | + mode:MPSGraphScatterModeSet |
| 227 | + name:nil]; |
| 228 | + |
| 229 | + return Error::Ok; |
| 230 | + } else { |
| 231 | + ET_LOG(Error, "MPS: scatter op is not supported on iOS < 15.4 and macOS < 12.3"); |
| 232 | + |
| 233 | + return Error::NotSupported; |
| 234 | + } |
228 | 235 | }
|
229 | 236 |
|
230 | 237 |
|
|
0 commit comments