You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @WilliamTambellini ,
oneDNN doesn't try to optimize all operations available in DL frameworks, because it is not scaleble (There are thousands of operations in different frameworks with different semantics across them). Most of operations are good enough already or do not take much time comparing to overall execution time or used in one or two models. This operation is one of these operations and so far we haven't seen any models where it becomes a bottleneck and can be optimized further across multiple frameworks. It also applies to #1697 .
oneDNN focuses on functionality that satisfies all of the following
criteria:
Performance: the functionality has material impact on a workload level.
In other words, this means that for a new primitive it should be
demonstrated that it brings visible performance improvement to some
workload.
Generality: the functionality is useful in a wide range of deep learning
applications. This implies that when introducing a new primitive, its API
needs to be general enough to be integrated into multiple deep learning
frameworks that have similar functionality.
Complexity: it is not trivial to implement the functionality directly in
a deep learning application.
Summary
Returns the k largest elements of the given input tensor along a given dimension.
eg:
https://pytorch.org/docs/stable/generated/torch.topk.html
https://arrayfire.org/docs/group__stat__func__topk.htm#gsc.tab=0
Problem statement
Returns the k largest elements of the given input tensor along a given dimension.
Preferred solution
No preference: single nD input, could compute results into 2 given dest tensors: one for top values, one for top indices.
Ref:
https://github.com/intel/x86-simd-sort/
https://arrayfire.org/docs/group__stat__func__topk.htm#gsc.tab=0
The text was updated successfully, but these errors were encountered: