MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / IsIdentity

Function IsIdentity

oneflow/user/kernels/transpose_kernel.cpp:28–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26namespace {
27
28bool IsIdentity(const ShapeView& in_shape, const std::vector<int32_t>& perm) {
29 constexpr int kMaxNumDims = 12;
30 CHECK_LE(in_shape.NumAxes(), kMaxNumDims);
31 CHECK_EQ(in_shape.NumAxes(), perm.size());
32
33 size_t simplified_num_dims{};
34 int64_t simplified_src_dims[kMaxNumDims]{};
35 int simplified_permutation[kMaxNumDims]{};
36 ep::primitive::permute::SimplifyPermutation<kMaxNumDims>(
37 in_shape.NumAxes(), in_shape.ptr(), perm.data(), &simplified_num_dims, simplified_src_dims,
38 simplified_permutation);
39 for (int i = 0; i < simplified_num_dims; ++i) {
40 if (simplified_permutation[i] != i) { return false; }
41 }
42 return true;
43}
44
45} // namespace
46

Callers 2

ComputeMethod · 0.85

Calls 4

NumAxesMethod · 0.45
sizeMethod · 0.45
ptrMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected