MCPcopy Create free account
hub / github.com/NVIDIA/cutlass / CreateGemmPlanarComplexOperator

Function CreateGemmPlanarComplexOperator

python/cutlass_library/generator.py:358–388  ·  view source on GitHub ↗
(manifest, layouts, tile_descriptions, data_type, \
  alignment_constraints, complex_transforms)

Source from the content-addressed store, hash-verified

356
357#
358def CreateGemmPlanarComplexOperator(manifest, layouts, tile_descriptions, data_type, \
359 alignment_constraints, complex_transforms):
360
361 if complex_transforms is None:
362 complex_transforms = [(ComplexTransform.none, ComplexTransform.none),]
363
364 element_a, element_b, element_c, element_epilogue = data_type
365
366 gemm_kinds = [GemmKind.PlanarComplex, GemmKind.PlanarComplexArray]
367
368 # by default, only generate the largest tile and largest alignment
369 if manifest.kernel_filter == '':
370 tile_descriptions = [tile_descriptions[0],]
371 alignment_constraints = [alignment_constraints[0],]
372
373 for gemm_kind in gemm_kinds:
374 for layout in layouts:
375 for tile_description in tile_descriptions:
376 for alignment in alignment_constraints:
377 for complex_transform in complex_transforms:
378
379 alignment_c = min(8, alignment)
380
381 A = TensorDescription(element_a, layout[0], alignment, complex_transform[0])
382 B = TensorDescription(element_b, layout[1], alignment, complex_transform[1])
383 C = TensorDescription(element_c, layout[2], alignment_c)
384
385 manifest.append(GemmOperation(gemm_kind, \
386 tile_description.minimum_compute_capability, \
387 tile_description, A, B, C, element_epilogue))
388 return
389
390#
391def CreateGemmGroupedOperator(manifest, layouts, tile_descriptions, data_type, \

Calls 4

TensorDescriptionClass · 0.70
GemmOperationClass · 0.70
minFunction · 0.50
appendMethod · 0.45

Tested by

no test coverage detected