Skip to content

dpnp.dot performance degradation by 4 times #1693

@npolina4

Description

@npolina4

Performance degradation by 4 times for dpnp.dot function for current case.
Affected pairwise_distance workload

dpnp version #1669

In [1]: import dpnp
In [2]: a = dpnp.ones((21846, 3), device='cpu')
In [3]: b = dpnp.ones((21846, 3), device='cpu')
In [4]: c = dpnp.ones((21846, 21846), device='cpu')
In [5]: %timeit dpnp.dot(a, b.T, c)
1.18 s ± 59.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
In [1]: import numpy
In [2]: a_np = numpy.ones((21846, 3))
In [3]: b_np = numpy.ones((21846, 3))
In [4]: c_np = numpy.ones((21846, 21846))
In [5]: %timeit numpy.dot(a_np, b_np.T, c_np)
457 ms ± 9.27 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

dpnp version 0.13.1dev3+15

In [1]: import dpnp
In [2]: a = dpnp.ones((21846, 3), device='cpu')
In [3]: b = dpnp.ones((21846, 3), device='cpu')
In [4]: c = dpnp.ones((21846, 21846), device='cpu')
In [5]: %timeit dpnp.dot(a, b.T, c)
288 ms ± 12.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions