v4.2 release. (#2587)
* Fix default cluster callback values to 1 to avoid profiler failure when these values are not set in command line. * v4.2 release.
This commit is contained in:
@@ -67,17 +67,17 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import torch\n",
|
||||
"import cutlass\n",
|
||||
"from cutlass.epilogue import relu\n",
|
||||
"from cutlass import Tensor as FakeTensor\n",
|
||||
"from cutlass.utils.profiler import CUDAEventProfiler\n",
|
||||
"import cutlass_cppgen\n",
|
||||
"from cutlass_cppgen.epilogue import relu\n",
|
||||
"from cutlass_cppgen import Tensor as FakeTensor\n",
|
||||
"from cutlass_cppgen.utils.profiler import CUDAEventProfiler\n",
|
||||
"\n",
|
||||
"# This controls whether ther C++ GEMM declaration will be printed at each step. Set to `false` to\n",
|
||||
"# omit this information.\n",
|
||||
"print_module = True\n",
|
||||
"\n",
|
||||
"# The Epilogue Visitor feature currently only works for SM80 and 90\n",
|
||||
"from cutlass.backend.utils.device import device_cc\n",
|
||||
"from cutlass_cppgen.backend.utils.device import device_cc\n",
|
||||
"if device_cc() not in [80, 90]:\n",
|
||||
" import sys\n",
|
||||
" sys.exit()\n",
|
||||
@@ -99,7 +99,7 @@
|
||||
"tensor_C = torch.ceil(torch.empty(size=(m, n), dtype=type_C, device=\"cuda\").uniform_(scope_min, scope_max))\n",
|
||||
"tensor_D = torch.zeros_like(tensor_C)\n",
|
||||
"\n",
|
||||
"plan = cutlass.op.Gemm(element=torch.float16, layout=cutlass.LayoutType.RowMajor, element_accumulator=torch.float32)"
|
||||
"plan = cutlass_cppgen.op.Gemm(element=torch.float16, layout=cutlass_cppgen.LayoutType.RowMajor, element_accumulator=torch.float32)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -115,7 +115,7 @@
|
||||
"\n",
|
||||
"The example tensors is a dictionary with tensor names as keys and reference tensors as values. The reference tensors can be `float`, `torch.Tensor`, `numpy.ndarray`, or our `FakeTensor`. They provides the shape and data type information of the inputs and outputs of the epilogue.\n",
|
||||
"\n",
|
||||
"The epilogue can be generated simply through `cutlass.evt.trace(<epilogue function>, <example_tensors>)`."
|
||||
"The epilogue can be generated simply through `cutlass_cppgen.evt.trace(<epilogue function>, <example_tensors>)`."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -139,7 +139,7 @@
|
||||
"bias = torch.ceil(torch.empty(size=(m, 1), dtype=type_C, device=\"cuda\").uniform_(scope_min, scope_max))\n",
|
||||
"tensor_F = torch.zeros_like(tensor_D)\n",
|
||||
"examples_tensors = {\n",
|
||||
" \"accum\": FakeTensor(element=torch.float32, shape=(m, n), layout_tag=cutlass.LayoutType.RowMajor),\n",
|
||||
" \"accum\": FakeTensor(element=torch.float32, shape=(m, n), layout_tag=cutlass_cppgen.LayoutType.RowMajor),\n",
|
||||
" \"alpha\": alpha,\n",
|
||||
" \"C\": tensor_C,\n",
|
||||
" \"beta\": beta,\n",
|
||||
@@ -150,7 +150,7 @@
|
||||
"}\n",
|
||||
"\n",
|
||||
"# Trace the epilogue visitor\n",
|
||||
"epilogue_visitor = cutlass.epilogue.trace(example_epilogue, examples_tensors)"
|
||||
"epilogue_visitor = cutlass_cppgen.epilogue.trace(example_epilogue, examples_tensors)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user