Skip to content

Commit a7036d6

Browse files
manuelcandalesfacebook-github-bot
authored andcommitted
SpecDB: Add spec: topk
Reviewed By: digantdesai Differential Revision: D59936969 fbshipit-source-id: 751275065e896be7f8fc9ce35f2ba2851813377b
1 parent bac333f commit a7036d6

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

specdb/db.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3953,6 +3953,45 @@
39533953
],
39543954
outspec=[OutArg(ArgType.Tensor)],
39553955
),
3956+
Spec(
3957+
op="topk.default", # (Tensor self, SymInt k, int dim=-1, bool largest=True, bool sorted=True) -> (Tensor values, Tensor indices)
3958+
inspec=[
3959+
InPosArg(
3960+
ArgType.Tensor,
3961+
name="self",
3962+
constraints=[cp.Dtype.Ne(lambda deps: torch.bool)],
3963+
),
3964+
InPosArg(
3965+
ArgType.Length,
3966+
name="k",
3967+
deps=[0, 2],
3968+
constraints=[
3969+
cp.Value.Ge(lambda deps: 0),
3970+
cp.Value.Le(lambda deps: fn.safe_size(deps[0], deps[1])),
3971+
],
3972+
),
3973+
InPosArg(
3974+
ArgType.Dim,
3975+
name="dim",
3976+
deps=[0],
3977+
constraints=DimDefault,
3978+
),
3979+
InPosArg(ArgType.Bool, name="largest"),
3980+
InPosArg(ArgType.Bool, name="sorted"),
3981+
],
3982+
outspec=[
3983+
OutArg(
3984+
ArgType.Tensor,
3985+
name="values",
3986+
constraints=[cp.Dtype.Eq(lambda deps: deps[0].dtype)],
3987+
),
3988+
OutArg(
3989+
ArgType.Tensor,
3990+
name="indices",
3991+
constraints=[cp.Dtype.Eq(lambda deps: torch.long)],
3992+
),
3993+
],
3994+
),
39563995
Spec(
39573996
op="transpose_copy.int", # (Tensor self, int dim0, int dim1) -> Tensor
39583997
inspec=[

0 commit comments

Comments
 (0)