Skip to content

Commit 5340d8b

Browse files
committed
Add threshold-like ops
1 parent 108a27d commit 5340d8b

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

python/python_direct/ops.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,22 @@ namespace {
105105
DOCSTRING, \
106106
py::return_value_policy::reference);
107107

108+
#define NVFUSER_DIRECT_BINDING_THRESHOLD_LIKE_OP(NAME, OP_NAME, DOCSTRING) \
109+
ops.def( \
110+
NAME, \
111+
[](Val* arg1, Val* arg2, Val* arg3) -> Val* { \
112+
return static_cast<Val* (*)(Val*, Val*, Val*)>(OP_NAME)( \
113+
arg1, arg2, arg3); \
114+
}, \
115+
py::return_value_policy::reference); \
116+
ops.def( \
117+
NAME, \
118+
[](TensorView* arg1, Val* arg2, Val* arg3) -> TensorView* { \
119+
return static_cast<TensorView* (*)(TensorView*, Val*, Val*)>(OP_NAME)( \
120+
arg1, arg2, arg3); \
121+
}, \
122+
DOCSTRING);
123+
108124
#define NVFUSER_DIRECT_BINDING_REDUCTION_OP(NAME, OP_NAME, DOCSTRING) \
109125
ops.def( \
110126
NAME, \
@@ -1396,6 +1412,36 @@ Returns
13961412
Val or TensorView
13971413
Elements from x if condition is True, otherwise elements from y.
13981414
)")
1415+
1416+
NVFUSER_DIRECT_BINDING_THRESHOLD_LIKE_OP("clamp", clamp, R"(
1417+
Clamps all elements in input into the range [ min, max ]
1418+
1419+
Parameters
1420+
----------
1421+
input : Val or TensorView
1422+
min : Val or TensorView
1423+
max : Val or TensorView
1424+
1425+
Returns
1426+
-------
1427+
Val or TensorView
1428+
Clamped values.
1429+
)")
1430+
1431+
NVFUSER_DIRECT_BINDING_THRESHOLD_LIKE_OP("threshold", threshold, R"(
1432+
Thresholds each element of the input Tensor.
1433+
1434+
Parameters
1435+
----------
1436+
input : Val or TensorView
1437+
threshold : Val or TensorView
1438+
value : Val or TensorView
1439+
1440+
Returns
1441+
-------
1442+
Val or TensorView
1443+
Thresholded values.
1444+
)")
13991445
}
14001446

14011447
void bindReductionOps(py::module_& ops) {

0 commit comments

Comments
 (0)