Skip to content

Commit f08db06

Browse files
authored
remove linalg.pack (#124)
1 parent 388d3e6 commit f08db06

File tree

1 file changed

+0
-182
lines changed

1 file changed

+0
-182
lines changed

mlir/extras/dialects/ext/linalg.py

Lines changed: 0 additions & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -534,185 +534,3 @@ def vecmat(y, A, x, *, loc=None, ip=None):
534534
if loc is None:
535535
loc = get_user_code_loc()
536536
return linalg.vecmat(y, A, loc=loc, ip=ip, outs=[x])
537-
538-
539-
@_cext.register_operation(linalg.Dialect)
540-
class PackOp(ir.OpView):
541-
OPERATION_NAME = "linalg.pack"
542-
543-
_ODS_OPERAND_SEGMENTS = [
544-
1,
545-
1,
546-
0,
547-
-1,
548-
]
549-
550-
_ODS_REGIONS = (0, True)
551-
552-
def __init__(
553-
self,
554-
source,
555-
dest,
556-
inner_dims_pos,
557-
inner_tiles,
558-
static_inner_tiles,
559-
*,
560-
padding_value=None,
561-
outer_dims_perm=None,
562-
loc=None,
563-
ip=None,
564-
):
565-
operands = []
566-
results = []
567-
attributes = {}
568-
regions = None
569-
operands.append(source)
570-
operands.append(dest)
571-
operands.append(padding_value)
572-
operands.append(get_op_results_or_values(inner_tiles))
573-
_ods_context = get_default_loc_context(loc)
574-
if outer_dims_perm is not None:
575-
attributes["outer_dims_perm"] = (
576-
outer_dims_perm
577-
if (
578-
isinstance(outer_dims_perm, ir.Attribute)
579-
or not ir.AttrBuilder.contains("DenseI64ArrayAttr")
580-
)
581-
else ir.AttrBuilder.get("DenseI64ArrayAttr")(
582-
outer_dims_perm, context=_ods_context
583-
)
584-
)
585-
attributes["inner_dims_pos"] = (
586-
inner_dims_pos
587-
if (
588-
isinstance(inner_dims_pos, ir.Attribute)
589-
or not ir.AttrBuilder.contains("DenseI64ArrayAttr")
590-
)
591-
else ir.AttrBuilder.get("DenseI64ArrayAttr")(
592-
inner_dims_pos, context=_ods_context
593-
)
594-
)
595-
attributes["static_inner_tiles"] = (
596-
static_inner_tiles
597-
if (
598-
isinstance(static_inner_tiles, ir.Attribute)
599-
or not ir.AttrBuilder.contains("DenseI64ArrayAttr")
600-
)
601-
else ir.AttrBuilder.get("DenseI64ArrayAttr")(
602-
static_inner_tiles, context=_ods_context
603-
)
604-
)
605-
_ods_successors = None
606-
super().__init__(
607-
self.OPERATION_NAME,
608-
self._ODS_REGIONS,
609-
self._ODS_OPERAND_SEGMENTS,
610-
self._ODS_RESULT_SEGMENTS,
611-
attributes=attributes,
612-
operands=operands,
613-
successors=_ods_successors,
614-
regions=regions,
615-
loc=loc,
616-
ip=ip,
617-
)
618-
619-
@property
620-
def source(self):
621-
operand_range = segmented_accessor(
622-
self.operation.operands, self.operation.attributes["operandSegmentSizes"], 0
623-
)
624-
return operand_range[0]
625-
626-
@property
627-
def dest(self):
628-
operand_range = segmented_accessor(
629-
self.operation.operands, self.operation.attributes["operandSegmentSizes"], 1
630-
)
631-
return operand_range[0]
632-
633-
@property
634-
def padding_value(self):
635-
operand_range = segmented_accessor(
636-
self.operation.operands, self.operation.attributes["operandSegmentSizes"], 2
637-
)
638-
return operand_range[0] if len(operand_range) > 0 else None
639-
640-
@property
641-
def inner_tiles(self):
642-
operand_range = segmented_accessor(
643-
self.operation.operands, self.operation.attributes["operandSegmentSizes"], 3
644-
)
645-
return operand_range
646-
647-
@property
648-
def outer_dims_perm(self):
649-
if "outer_dims_perm" not in self.operation.attributes:
650-
return None
651-
return self.operation.attributes["outer_dims_perm"]
652-
653-
@outer_dims_perm.setter
654-
def outer_dims_perm(self, value):
655-
if value is not None:
656-
self.operation.attributes["outer_dims_perm"] = value
657-
elif "outer_dims_perm" in self.operation.attributes:
658-
del self.operation.attributes["outer_dims_perm"]
659-
660-
@outer_dims_perm.deleter
661-
def outer_dims_perm(self):
662-
del self.operation.attributes["outer_dims_perm"]
663-
664-
@property
665-
def inner_dims_pos(self):
666-
return self.operation.attributes["inner_dims_pos"]
667-
668-
@inner_dims_pos.setter
669-
def inner_dims_pos(self, value):
670-
if value is None:
671-
raise ValueError("'None' not allowed as value for mandatory attributes")
672-
self.operation.attributes["inner_dims_pos"] = value
673-
674-
@property
675-
def static_inner_tiles(self):
676-
return self.operation.attributes["static_inner_tiles"]
677-
678-
@static_inner_tiles.setter
679-
def static_inner_tiles(self, value):
680-
if value is None:
681-
raise ValueError("'None' not allowed as value for mandatory attributes")
682-
self.operation.attributes["static_inner_tiles"] = value
683-
684-
@property
685-
def result(self):
686-
return self.operation.results[0]
687-
688-
689-
def pack(
690-
source,
691-
dest,
692-
inner_dims_pos,
693-
inner_tiles,
694-
*,
695-
padding_value=None,
696-
outer_dims_perm=None,
697-
loc=None,
698-
ip=None,
699-
) -> ir.Value:
700-
701-
(
702-
dynamic_inner_tiles,
703-
# packed here means %1:2 packing (results packing)
704-
_inner_tiles,
705-
static_inner_tiles,
706-
) = _dispatch_mixed_values(inner_tiles)
707-
708-
return PackOp(
709-
source=source,
710-
dest=dest,
711-
inner_dims_pos=inner_dims_pos,
712-
inner_tiles=dynamic_inner_tiles,
713-
static_inner_tiles=static_inner_tiles,
714-
padding_value=padding_value,
715-
outer_dims_perm=outer_dims_perm,
716-
loc=loc,
717-
ip=ip,
718-
).result

0 commit comments

Comments
 (0)