@@ -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
13961412Val or TensorView 
13971413    Elements from x if condition is True, otherwise elements from y. 
13981414)" 
1415+ 
1416+   NVFUSER_DIRECT_BINDING_THRESHOLD_LIKE_OP (" 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" 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
14011447void  bindReductionOps (py::module_& ops) {
0 commit comments