138 references to CpuMathUtils
Microsoft.ML.CpuMath (5)
AlignedMatrix.cs (1)
556
CpuMathUtils
.ZeroMatrixItems(Items, ColCount, ColCountPhy, indices);
CpuAligenedMathUtils.cs (4)
22
Contracts.Assert((mat.Items.CbAlign %
CpuMathUtils
.GetVectorAlignment()) == 0);
35
Contracts.Assert((vec.Items.CbAlign %
CpuMathUtils
.GetVectorAlignment()) == 0);
91
CpuMathUtils
.MatrixTimesSource(colMajor, m.Items, A(src).Items, A(dst).Items, m.RunCnt);
106
CpuMathUtils
.MatrixTimesSource(!colMajor, m.Items, A(src).Items, A(dst).Items, m.RunCnt);
Microsoft.ML.CpuMath.PerformanceTests (22)
SmallInputCpuMathPerformanceTests.cs (22)
17
=>
CpuMathUtils
.Add(DefaultScale, dst.AsSpan(0, arrayLength));
21
=>
CpuMathUtils
.Scale(DefaultScale, dst.AsSpan(0, arrayLength));
25
=>
CpuMathUtils
.Scale(DefaultScale, src, dst, arrayLength);
29
=>
CpuMathUtils
.ScaleAdd(DefaultScale, DefaultScale, dst.AsSpan(0, arrayLength));
33
=>
CpuMathUtils
.AddScale(DefaultScale, src, dst, arrayLength);
37
=>
CpuMathUtils
.AddScale(DefaultScale, src, idx, dst, arrayLength);
41
=>
CpuMathUtils
.AddScaleCopy(DefaultScale, src, dst, result, arrayLength);
45
=>
CpuMathUtils
.Add(src, dst, arrayLength);
49
=>
CpuMathUtils
.Add(src, idx, dst, arrayLength);
53
=>
CpuMathUtils
.MulElementWise(src1, src2, dst, arrayLength);
57
=>
CpuMathUtils
.Sum(new Span<float>(src, 0, arrayLength));
61
=>
CpuMathUtils
.SumSq(new Span<float>(src, 0, arrayLength));
65
=>
CpuMathUtils
.SumSq(DefaultScale, src.AsSpan(0, arrayLength));
69
=>
CpuMathUtils
.SumAbs(src.AsSpan(0, arrayLength));
73
=>
CpuMathUtils
.SumAbs(DefaultScale, src.AsSpan(0, arrayLength));
77
=>
CpuMathUtils
.MaxAbs(src.AsSpan(0, arrayLength));
81
=>
CpuMathUtils
.MaxAbsDiff(DefaultScale, src.AsSpan(0, arrayLength));
85
=>
CpuMathUtils
.DotProductDense(src, dst, arrayLength);
89
=>
CpuMathUtils
.DotProductSparse(src, dst, idx, arrayLength);
93
=>
CpuMathUtils
.L2DistSquared(src, dst, arrayLength);
97
=>
CpuMathUtils
.SdcaL1UpdateDense(DefaultScale, arrayLength, src, DefaultScale, dst, result);
101
=>
CpuMathUtils
.SdcaL1UpdateSparse(DefaultScale, arrayLength, src, idx, DefaultScale, dst, result);
Microsoft.ML.CpuMath.UnitTests (28)
UnitTests.cs (28)
27
private static readonly int _vectorAlignment =
CpuMathUtils
.GetVectorAlignment();
260
CpuMathUtils
.MatrixTimesSource(false, mat, src, dst, dst.Size);
294
CpuMathUtils
.MatrixTimesSource(true, mat, src, dst, src.Size);
330
CpuMathUtils
.MatrixTimesSource(mat, idx, src, 0, 0, limit, dst, dst.Size);
359
CpuMathUtils
.Add(defaultScale, dst);
385
CpuMathUtils
.Scale(defaultScale, dst);
412
CpuMathUtils
.Scale(defaultScale, src, dst, dst.Length);
438
CpuMathUtils
.ScaleAdd(defaultScale, defaultScale, dst);
466
CpuMathUtils
.AddScale(defaultScale, src, dst, dst.Length);
490
CpuMathUtils
.AddScale(defaultScale, src, idx, dst, limit);
523
CpuMathUtils
.AddScaleCopy(defaultScale, src, dst, result, dst.Length);
555
CpuMathUtils
.Add(src, dst, dst.Length);
585
CpuMathUtils
.Add(src, idx, dst, limit);
619
CpuMathUtils
.MulElementWise(src1, src2, dst, dst.Length);
643
var actual =
CpuMathUtils
.Sum(src);
666
var actual =
CpuMathUtils
.SumSq(src);
684
var actual =
CpuMathUtils
.SumSq(defaultScale, src);
714
var actual =
CpuMathUtils
.SumAbs(src);
732
var actual =
CpuMathUtils
.SumAbs(defaultScale, src);
756
var actual =
CpuMathUtils
.MaxAbs(src);
785
var actual =
CpuMathUtils
.MaxAbsDiff(defaultScale, src);
825
var actual =
CpuMathUtils
.DotProductDense(src, dst, dst.Length);
859
var actual =
CpuMathUtils
.DotProductSparse(src, dst, idx, limit);
891
var actual =
CpuMathUtils
.L2DistSquared(src, dst, dst.Length);
905
CpuMathUtils
.ZeroMatrixItems(src, src.Size, src.Size, idx);
919
CpuMathUtils
.ZeroMatrixItems(src, src.Size / 2 - 1, src.Size / 2, idx);
947
CpuMathUtils
.SdcaL1UpdateDense(defaultScale, src.Length, src, defaultScale, v, w);
980
CpuMathUtils
.SdcaL1UpdateSparse(defaultScale, limit, src, idx, defaultScale, v, w);
Microsoft.ML.Data (36)
Deprecated\Vector\VBufferMathUtils.cs (15)
24
return
CpuMathUtils
.SumSq(aValues);
32
return
CpuMathUtils
.SumSq(a);
53
return
CpuMathUtils
.SumAbs(aValues);
65
return
CpuMathUtils
.MaxAbs(aValues);
76
return
CpuMathUtils
.Sum(aValues);
90
CpuMathUtils
.Scale(c, editor.Values);
121
CpuMathUtils
.Scale(c, srcValues, editor.Values, length);
131
CpuMathUtils
.Scale(c, srcValues, editor.Values, count);
151
CpuMathUtils
.Add(srcValues, editor.Values, src.Length);
153
CpuMathUtils
.Add(srcValues, src.GetIndices(), editor.Values, srcValues.Length);
179
CpuMathUtils
.AddScale(c, srcValues, editor.Values, src.Length);
181
CpuMathUtils
.AddScale(c, srcValues, src.GetIndices(), editor.Values, srcValues.Length);
209
CpuMathUtils
.AddScaleCopy(c, srcValues, dst.GetValues(), editor.Values, length);
256
CpuMathUtils
.AddScale(c, srcValues, values, srcValues.Length);
258
CpuMathUtils
.AddScale(c, srcValues, src.GetIndices(), values, srcValues.Length);
Deprecated\Vector\VectorUtils.cs (21)
27
return
CpuMathUtils
.DotProductDense(a, b, a.Length);
37
return
CpuMathUtils
.DotProductDense(a, bValues, b.Length);
38
return
CpuMathUtils
.DotProductSparse(a, bValues, b.GetIndices(), bValues.Length);
53
return
CpuMathUtils
.DotProductDense(aValues, bValues, a.Length);
54
return
CpuMathUtils
.DotProductSparse(aValues, bValues, b.GetIndices(), bValues.Length);
58
return
CpuMathUtils
.DotProductSparse(bValues, aValues, a.GetIndices(), aValues.Length);
167
CpuMathUtils
.MulElementWise(a.GetValues(), dst.GetValues(), editor.Values, a.Length);
224
var normA =
CpuMathUtils
.SumSq(valuesA);
227
var normB =
CpuMathUtils
.SumSq(valuesB);
228
var dotP =
CpuMathUtils
.DotProductSparse(valuesA, valuesB, indicesB, valuesB.Length);
240
return
CpuMathUtils
.L2DistSquared(valuesA, valuesB, length);
263
return
CpuMathUtils
.DotProductDense(aValues.Slice(offset), bValues, b.Length);
264
return
CpuMathUtils
.DotProductSparse(aValues.Slice(offset), bValues, b.GetIndices(), bValues.Length);
313
return
CpuMathUtils
.DotProductDense(a.AsSpan(offset), bValues, b.Length);
314
return
CpuMathUtils
.DotProductSparse(a.AsSpan(offset), bValues, b.GetIndices(), bValues.Length);
433
CpuMathUtils
.Add(src, dst, src.Length);
451
CpuMathUtils
.AddScale(c, srcValues, dst, srcValues.Length);
504
CpuMathUtils
.AddScale(c, src, dst, src.Length);
512
return MathUtils.Sqrt(
CpuMathUtils
.SumSq(a));
522
return
CpuMathUtils
.Sum(a);
536
CpuMathUtils
.Scale(c, dst);
Microsoft.ML.KMeansClustering (1)
KMeansPlusPlusTrainer.cs (1)
934
CpuMathUtils
.Add(workStateWeights[i], weights, totalSamples);
Microsoft.ML.Mkl.Components (2)
VectorWhitening.cs (2)
702
editor.Values[i] =
CpuMathUtils
.DotProductSparse(model.AsSpan(offs), values, indices, count);
712
return
CpuMathUtils
.DotProductSparse(a.AsSpan(aOffset), b, indices, count);
Microsoft.ML.StandardTrainers (6)
Standard\SdcaBinary.cs (2)
880
CpuMathUtils
.SdcaL1UpdateDense(primalUpdate, featureValues.Length, featureValues, l1Threshold, l1IntermediateWeightsEditor.Values, weightsEditor.Values);
882
CpuMathUtils
.SdcaL1UpdateSparse(primalUpdate, featureValues.Length, featureValues, features.GetIndices(), l1Threshold, l1IntermediateWeightsEditor.Values, weightsEditor.Values);
Standard\SdcaMulticlass.cs (4)
298
CpuMathUtils
.SdcaL1UpdateDense(-primalUpdate, featureValues.Length, featureValues, l1Threshold, l1IntermediateWeightsEditor.Values, weightsEditor.Values);
300
CpuMathUtils
.SdcaL1UpdateSparse(-primalUpdate, featureValues.Length, featureValues, features.GetIndices(), l1Threshold, l1IntermediateWeightsEditor.Values, weightsEditor.Values);
329
CpuMathUtils
.SdcaL1UpdateDense(labelPrimalUpdate, featureValues.Length, featureValues, l1Threshold, l1IntermediateWeightsEditor.Values, weightsEditor.Values);
331
CpuMathUtils
.SdcaL1UpdateSparse(labelPrimalUpdate, featureValues.Length, featureValues, features.GetIndices(), l1Threshold, l1IntermediateWeightsEditor.Values, weightsEditor.Values);
Microsoft.ML.Tests (1)
TrainerEstimators\MatrixFactorizationTests.cs (1)
841
CpuMathUtils
.MatrixTimesSource(false, leftFactorMatrixAligned, rightFactorVectorAligned, valuesAtSecondColumn, m);
Microsoft.ML.TimeSeries (16)
AdaptiveSingularSpectrumSequenceModeler.cs (16)
272
_x = new CpuAlignedVector(windowSize,
CpuMathUtils
.GetVectorAlignment());
273
_xSmooth = new CpuAlignedVector(windowSize,
CpuMathUtils
.GetVectorAlignment());
327
_x = new CpuAlignedVector(_windowSize,
CpuMathUtils
.GetVectorAlignment());
328
_xSmooth = new CpuAlignedVector(_windowSize,
CpuMathUtils
.GetVectorAlignment());
332
_y = new CpuAlignedVector(_rank,
CpuMathUtils
.GetVectorAlignment());
333
_wTrans = new CpuAlignedMatrixRow(_rank, _windowSize,
CpuMathUtils
.GetVectorAlignment());
434
_wTrans = new CpuAlignedMatrixRow(_rank, _windowSize,
CpuMathUtils
.GetVectorAlignment());
439
_y = new CpuAlignedVector(_rank,
CpuMathUtils
.GetVectorAlignment());
444
_x = new CpuAlignedVector(_windowSize,
CpuMathUtils
.GetVectorAlignment());
445
_xSmooth = new CpuAlignedVector(_windowSize,
CpuMathUtils
.GetVectorAlignment());
1112
_y = new CpuAlignedVector(_rank,
CpuMathUtils
.GetVectorAlignment());
1113
_wTrans = new CpuAlignedMatrixRow(_rank, _windowSize,
CpuMathUtils
.GetVectorAlignment());
1294
_x = new CpuAlignedVector(_windowSize,
CpuMathUtils
.GetVectorAlignment());
1295
_xSmooth = new CpuAlignedVector(_windowSize,
CpuMathUtils
.GetVectorAlignment());
1332
_y = new CpuAlignedVector(_rank,
CpuMathUtils
.GetVectorAlignment());
1335
_wTrans = new CpuAlignedMatrixRow(_rank, _windowSize,
CpuMathUtils
.GetVectorAlignment());
Microsoft.ML.Transforms (21)
GcnTransform.cs (10)
506
CpuMathUtils
.Scale(normScale, src.GetValues(), dstValues, count);
517
CpuMathUtils
.ScaleAdd(normScale, -offset, editor.Values);
519
CpuMathUtils
.Add(-offset, editor.Values);
533
var tmpMean =
CpuMathUtils
.Sum(values) / length;
541
sumSq +=
CpuMathUtils
.SumSq(tmpMean, values);
561
sumSq +=
CpuMathUtils
.SumSq(mean, values);
573
return MathUtils.Sqrt(
CpuMathUtils
.SumSq(mean, values));
584
return
CpuMathUtils
.SumAbs(mean, values);
595
return
CpuMathUtils
.MaxAbsDiff(mean, values);
602
return
CpuMathUtils
.Sum(src) / length;
RandomFourierFeaturizing.cs (11)
124
RndFourierVectors = new AlignedArray(roundedUpD * roundedUpNumFeatures,
CpuMathUtils
.GetVectorAlignment());
125
RotationTerms = _useSin ? null : new AlignedArray(roundedUpD,
CpuMathUtils
.GetVectorAlignment());
158
RndFourierVectors = new AlignedArray(roundedUpD * roundedUpNumFeatures,
CpuMathUtils
.GetVectorAlignment());
159
RotationTerms = _useSin ? null : new AlignedArray(roundedUpD,
CpuMathUtils
.GetVectorAlignment());
227
private static readonly int _cfltAlign =
CpuMathUtils
.GetVectorAlignment() / sizeof(float);
517
var featuresAligned = new AlignedArray(RoundUp(_srcTypes[iinfo].GetValueCount(), _cfltAlign),
CpuMathUtils
.GetVectorAlignment());
518
var productAligned = new AlignedArray(RoundUp(_parent._transformInfos[iinfo].NewDim, _cfltAlign),
CpuMathUtils
.GetVectorAlignment());
534
var featuresAligned = new AlignedArray(RoundUp(1, _cfltAlign),
CpuMathUtils
.GetVectorAlignment());
535
var productAligned = new AlignedArray(RoundUp(_parent._transformInfos[iinfo].NewDim, _cfltAlign),
CpuMathUtils
.GetVectorAlignment());
569
CpuMathUtils
.MatrixTimesSource(false, transformInfo.RndFourierVectors, featuresAligned, productAligned,
579
CpuMathUtils
.MatrixTimesSource(transformInfo.RndFourierVectors, srcIndices, featuresAligned, 0, 0,