/external/pytorch/aten/src/ATen/native/mps/operations/ |
D | Activation.mm | 64 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 73 … Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self, nil, executeGatherOp); 74 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output, nil, false); 78 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 105 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 114 … Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self, nil, executeGatherOp); 115 …Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, executeGatherOp ? out : ou… 119 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 146 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 163 … Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self, nil, executeGatherOp); [all …]
|
D | RangeFactories.mm | 110 auto cachedGraph = cache_->LookUpAs<RangeCachedGraph>(key); 111 if (!cachedGraph) { 112 cachedGraph = cache_->CreateCachedGraphAs<RangeCachedGraph>(key, ^MPSCachedGraph*() { 117 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor, r); 120 feeds[cachedGraph->startTensor] = getMPSGraphTensorFromScalar(stream, startScalar); 122 feeds[cachedGraph->multiplyTensor] = getMPSGraphTensorFromScalar(stream, stepScalar); 124 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 177 auto cachedGraph = cache_->LookUpAs<RangeCachedGraph>(key); 178 if (!cachedGraph) { 179 cachedGraph = cache_->CreateCachedGraphAs<RangeCachedGraph>(key, ^MPSCachedGraph*() { [all …]
|
D | Pooling.mm | 152 …auto cachedGraph = LookUpOrCreateCachedGraph<PoolingCachedGraph>(key, [&](auto* mpsGraph, auto* ne… 193 Placeholder inputPlaceholder = Placeholder(cachedGraph->inputTensor, 200 … : Placeholder(cachedGraph->gradOutputTensor, 208 …cachedGraph->indicesTensor, indices, nullptr, true, MPSDataTypeInvalid, /*useMPSStridedAPI=*/false) 211 Placeholder(cachedGraph->outputTensor, output, nullptr, false, MPSDataTypeInvalid, false); 218 if (cachedGraph->gradOutputTensor) { 221 if (cachedGraph->indicesTensor) { 229 if (cachedGraph->divisorTensor) { 232 feeds[cachedGraph->divisorTensor] = getMPSGraphTensorFromScalar(mpsStream, divisor_scalar); 235 runMPSGraph(mpsStream, cachedGraph->graph(), feeds, results); [all …]
|
D | TensorCompare.mm | 30 static void clamp_mps_graph(CachedGraph* cachedGraph, 35 MPSGraph* mpsGraph = cachedGraph->graph(); 37 cachedGraph->inputTensor = mpsGraphRankedPlaceHolder(mpsGraph, input_tensor); 39 auto minTensor = cachedGraph->minTensor; 40 auto maxTensor = cachedGraph->maxTensor; 41 auto inputTensor = cachedGraph->inputTensor; 54 cachedGraph->outputTensor = [mpsGraph clampWithTensor:inputTensor 59 …cachedGraph->outputTensor = [mpsGraph minimumWithPrimaryTensor:inputTensor secondaryTensor:maxTens… 61 …cachedGraph->outputTensor = [mpsGraph maximumWithPrimaryTensor:inputTensor secondaryTensor:minTens… 78 cachedGraph->outputTensor = outputTensor; [all …]
|
D | WeightNorm.mm | 53 …auto cachedGraph = LookUpOrCreateCachedGraph<WeightNormCachedGraph>(key, [&](auto mpsGraph, auto n… 74 Placeholder v_placeholder = Placeholder(cachedGraph->v_, v, nil, true); 75 Placeholder g_placeholder = Placeholder(cachedGraph->g_, g, nil, true); 76 Placeholder norms_placeholder = Placeholder(cachedGraph->norms_, norms); 77 Placeholder w_placeholder = Placeholder(cachedGraph->w_, w); 81 runMPSGraph(mpsStream, cachedGraph->graph(), feeds, results); 115 auto cachedGraph = 158 Placeholder grad_w_placeholder = Placeholder(cachedGraph->grad_w, grad_w, nil, true); 159 Placeholder v_placeholder = Placeholder(cachedGraph->saved_v, saved_v, nil, true); 160 Placeholder g_placeholder = Placeholder(cachedGraph->saved_g, saved_g, nil, true); [all …]
|
D | BinaryOps.mm | 111 …auto cachedGraph = LookUpOrCreateCachedGraph<BinaryOpCachedGraph>(key, [&](auto mpsGraph, auto new… 155 feeds[cachedGraph->primaryTensor] = getMPSGraphTensorFromScalar(mpsStream, self_scalar); 157 selfPlaceholder = Placeholder(cachedGraph->primaryTensor, 166 feeds[cachedGraph->secondaryTensor] = getMPSGraphTensorFromScalar(mpsStream, other_scalar); 168 otherPlaceholder = Placeholder(cachedGraph->secondaryTensor, 176 …// 'cachedGraph->alphaTensor' is not nil only if add_sub_lerp_template() was called with an alpha … 177 if (cachedGraph->alphaTensor) { 179 feeds[cachedGraph->alphaTensor] = getMPSGraphTensorFromScalar(mpsStream, alpha_scalar); 182 …Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor, needsCopyToOutput ? output … 183 runMPSGraph(mpsStream, cachedGraph->graph(), feeds, outputPlaceholder); [all …]
|
D | Linear.mm | 69 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto* mpsGraph, auto* newCached… 104 Placeholder inputPlaceholder = Placeholder(cachedGraph->inputTensor_, input); 105 Placeholder weightPlaceholder = Placeholder(cachedGraph->weightTensor_, weight); 107 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 113 biasPlaceholder = Placeholder(cachedGraph->biasTensor_, bias); 116 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 158 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto* mpsGraph, auto* newCached… 179 Placeholder weightPlaceholder = Placeholder(cachedGraph->weightTensor_, weight_reshaped); 180 Placeholder gradOutputPlaceholder = Placeholder(cachedGraph->gradOutputTensor_, grad_output); 181 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); [all …]
|
D | TriangularOps.mm | 30 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 60 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 61 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 64 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 81 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 106 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 107 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 110 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder);
|
D | FastFourierTransform.mm | 95 …auto cachedGraph = LookUpOrCreateCachedGraph<MPSUnaryCachedGraph>(key, [&](auto mpsGraph, auto new… 119 auto inputPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 120 auto outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out); 122 runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), feeds, outputPlaceholder); 136 …auto cachedGraph = LookUpOrCreateCachedGraph<MPSUnaryCachedGraph>(key, [&](auto mpsGraph, auto new… 149 auto inputPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 150 auto outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out); 152 runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), feeds, outputPlaceholder); 162 …auto cachedGraph = LookUpOrCreateCachedGraph<MPSUnaryCachedGraph>(key, [&](auto mpsGraph, auto new… 174 auto inputPlaceholder = Placeholder(cachedGraph->inputTensor_, self); [all …]
|
D | Lerp.mm | 28 auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto graph) { 40 auto selfPlaceholder = Placeholder(cachedGraph->selfTensor_, self); 41 auto endPlaceholder = Placeholder(cachedGraph->endTensor_, end); 42 auto weightPlaceholder = Placeholder(cachedGraph->weightTensor_, weight); 43 auto outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out); 45 runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), feeds, outputPlaceholder);
|
D | RnnOps.mm | 138 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 283 NSMutableArray<MPSGraphTensor*>* kernelWeightsList = cachedGraph->kernelWeightsList_; 284 …NSMutableArray<MPSGraphTensor*>* recurrentKernelWeightsList = cachedGraph->recurrentKernelWeightsL… 285 NSMutableArray<MPSGraphTensor*>* biasList = cachedGraph->biasList_; 286 NSMutableArray<MPSGraphTensor*>* recurrentBiasList = cachedGraph->recurrentBiasList_; 302 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensors_[0], input); 303 Placeholder selfState = Placeholder(cachedGraph->inputTensors_[1], hx[0]); 304 Placeholder selfCellState = Placeholder(cachedGraph->inputTensors_[2], hx[1]); 309 auto dims = getTensorShape(cachedGraph->outputTensors_[0]); 313 …Tensor zState = at::empty(IntArrayRef(getTensorShape(cachedGraph->outputTensors_[3])), input.optio… [all …]
|
D | LossOps.mm | 74 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 90 Placeholder inputPlaceholder = Placeholder(cachedGraph->inputTensor, input); 91 Placeholder targetPlaceholder = Placeholder(cachedGraph->targetTensor, target); 92 Placeholder gradInputPlaceholder = Placeholder(cachedGraph->gradInputTensor, grad_input); 93 Placeholder gradOutputPlaceholder = Placeholder(cachedGraph->gradOutputTensor, grad_output); 96 runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), feeds, gradInputPlaceholder); 219 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 254 Placeholder inputPlaceholder = Placeholder(cachedGraph->inputTensor, input_squeezed); 255 Placeholder targetPlaceholder = Placeholder(cachedGraph->targetTensor, target_squeezed); 256 Placeholder lossPlaceholder = Placeholder(cachedGraph->lossTensor, loss_squeezed); [all …]
|
D | Blas.mm | 68 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 101 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 102 Placeholder otherPlaceholder = Placeholder(cachedGraph->otherTensor_, other); 103 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 106 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 141 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 174 Placeholder matMulVecPlaceholder = Placeholder(cachedGraph->matMulVecTensor_, matMulVec); 175 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, result); 180 Placeholder selfPlaceholder = Placeholder(cachedGraph->selfTensor_, self); 184 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder);
|
D | PointwiseOps.mm | 49 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 81 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor, self); 82 Placeholder tensor1Placeholder = Placeholder(cachedGraph->firstTensor, tensor1); 83 Placeholder tensor2Placeholder = Placeholder(cachedGraph->secondTensor, tensor2); 84 …Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor, !contiguousOutput ? output_… 92 cachedGraph->valueTensor : getMPSGraphTensorFromScalar(mpsStream, value_scalar), 95 runMPSGraph(mpsStream, cachedGraph->graph(), feeds, outputPlaceholder);
|
D | Indexing.mm | 244 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 253 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 254 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out); 256 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 336 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 345 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 346 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, out); 348 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 417 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 426 …Placeholder(cachedGraph->inputTensor_, self, /*mpsShape*/ nil, /*gatherTensorData=*/true, inputDat… [all …]
|
D | SoftMax.mm | 99 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 124 Placeholder(cachedGraph->inputTensor_, input, is_macOS_15_0_or_newer ? nil : input_shape); 126 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 129 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 164 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 184 Placeholder softmaxPlaceholder = Placeholder(cachedGraph->outputTensor_, output, grad_shape); 185 … Placeholder gradOutputPlaceholder = Placeholder(cachedGraph->gradOutputTensor_, grad, grad_shape); 186 Placeholder gradInputPlaceholder = Placeholder(cachedGraph->gradInputTensor_, grad_input); 189 runMPSGraph(stream, cachedGraph->graph(), feeds, gradInputPlaceholder);
|
D | Attention.mm | 62 auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(mkey, [&](auto mpsGraph, auto graph) { 110 auto qPlaceholder = Placeholder(cachedGraph->qTensor, query); 111 auto kPlaceholder = Placeholder(cachedGraph->kTensor, key); 112 auto vPlaceholder = Placeholder(cachedGraph->vTensor, value); 113 auto outputPlaceholder = Placeholder(cachedGraph->outputTensor, out); 114 auto attnPlaceholder = Placeholder(cachedGraph->attnTensor, attn); 119 auto mPlaceholder = Placeholder(cachedGraph->maskTensor, *attn_mask); 123 runMPSGraph(getCurrentMPSStream(), cachedGraph->graph(), feeds, outs);
|
D | Sort.mm | 55 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 77 Placeholder inputPlaceholder = Placeholder(cachedGraph->selfTensor, self); 79 Placeholder valuesPlaceholder = Placeholder(cachedGraph->valuesTensor, values); 80 Placeholder indicesPlaceholder = Placeholder(cachedGraph->indicesTensor, indices); 85 runMPSGraph(stream, cachedGraph->graph(), feeds, results);
|
D | Distributions.mm | 67 …auto cachedGraph = LookUpOrCreateCachedGraph<RandomCachedGraph>(key, [&](auto mpsGraph, auto newCa… 122 feeds[cachedGraph->stateTensor] = stateTensorData; 124 if (cachedGraph->stdTensor) { 126 stdPlaceholder = Placeholder(cachedGraph->stdTensor, stdTensor); 129 if (cachedGraph->meanTensor) { 131 meanPlaceholder = Placeholder(cachedGraph->meanTensor, meanTensor); 135 Placeholder outputPlaceholder = Placeholder(cachedGraph->resultTensor, self); 136 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 159 RandomOpBlock random_op_block = ^RandomOpFn(cachedGraph, randomTensor) { 160 MPSGraph* mpsGraph = cachedGraph->graph(); [all …]
|
D | SummaryOps.mm | 23 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 55 Placeholder inputPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 56 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 57 Placeholder scatterPlaceholder = Placeholder(cachedGraph->scatterDataTensor_, output); 65 weightsPlaceholder = Placeholder(cachedGraph->weightsTensor_, weights); 70 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder);
|
D | Inverse.mm | 45 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 53 Placeholder inputPlaceholder = Placeholder(cachedGraph->inputTensor_, A); 54 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, result); 57 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder);
|
D | Convolution.mm | 240 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 324 auto inputPlaceholder = inputNDArray ? Placeholder(cachedGraph->inputTensor_, inputNDArray) 325 … : Placeholder(cachedGraph->inputTensor_, input_t, inputShape); 326 auto weightsPlaceholder = Placeholder(cachedGraph->weightTensor_, weight_t); 331 …biasPlaceholder = Placeholder(cachedGraph->biasTensor_, (bias_opt.value()).view({1, bias_shape[0],… 334 …biasPlaceholder = Placeholder(cachedGraph->biasTensor_, (bias_opt.value()).view({1, 1, 1, bias_sha… 336 …biasPlaceholder = Placeholder(cachedGraph->biasTensor_, (bias_opt.value()).view({1, bias_shape[0],… 340 auto outputPlaceholder = outputNDArray ? Placeholder(cachedGraph->outputTensor_, outputNDArray) 341 : Placeholder(cachedGraph->outputTensor_, *output); 351 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); [all …]
|
D | ReduceOps.mm | 214 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 281 auto inputPlaceholder = Placeholder(cachedGraph->inputTensor_, input_t, mpsShape); 282 … auto outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output_t, apparent_output_shape); 284 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 355 …auto cachedGraph = LookUpOrCreateCachedGraph<MPSBinaryCachedGraph>(key, [&](auto mpsGraph, auto ne… 412 auto inputPlaceholder = Placeholder(cachedGraph->inputTensor_, input_t); 413 … auto outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output_t, apparent_output_shape); 419 otherPlaceholder = Placeholder(cachedGraph->otherTensor_, other_tensor); 423 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder); 569 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… [all …]
|
D | Normalization.mm | 156 …auto cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto newCachedGr… 299 auto inputPlaceholder = Placeholder(cachedGraph->inputTensor_, self, input_shape); 302 … weightPlaceholder = Placeholder(cachedGraph->weightTensor_, weight_opt.value(), new_mean_shape); 305 biasPlaceholder = Placeholder(cachedGraph->biasTensor_, bias_opt.value(), new_mean_shape); 309 …runningMeanPlaceholder = Placeholder(cachedGraph->runningMeanTensor_, running_mean_opt.value(), ne… 310 …runningVarPlaceholder = Placeholder(cachedGraph->runningVarTensor_, running_var_opt.value(), new_m… 318 Placeholder(cachedGraph->runningMeanInplaceUpdate_, running_mean_opt.value()); 319 …runningVarInplaceUpdatePlaceholder = Placeholder(cachedGraph->runningVarInplaceUpdate_, running_va… 322 auto outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output, input_shape, false); 323 auto saveMeanPlaceholder = Placeholder(cachedGraph->saveMeanTensor_, save_mean); [all …]
|
D | PixelShuffle.mm | 49 …CachedGraph* cachedGraph = LookUpOrCreateCachedGraph<CachedGraph>(key, [&](auto mpsGraph, auto new… 76 Placeholder selfPlaceholder = Placeholder(cachedGraph->inputTensor_, self); 77 Placeholder outputPlaceholder = Placeholder(cachedGraph->outputTensor_, output); 79 runMPSGraph(stream, cachedGraph->graph(), feeds, outputPlaceholder);
|