MCPcopy
hub / github.com/tinygrad/tinygrad / render_vector_prefix

Method render_vector_prefix

tinygrad/renderer/cstyle.py:245–248  ·  view source on GitHub ↗
(self, dt:DType)

Source from the content-addressed store, hash-verified

243 if sys.platform == 'win32':
244 kernel_typedef = "__attribute__((ms_abi)) void"
245 def render_vector_prefix(self, dt:DType) -> str:
246 # round (down) to power of two (this is actually the default clang behavior)
247 alignment = 2**int(math.log2(dt.itemsize)) if getenv("ALIGNED", 1) and not dtypes.is_bool(dt) else 1
248 return f"typedef {self.render_dtype(dt.scalar())} {self.render_dtype(dt)} __attribute__((aligned({alignment}),ext_vector_type({dt.count})));"
249
250 def _render_defines(self, uops) -> list[str]:
251 prefix = [self.render_vector_prefix(dt) for dt in uops_to_dtypes(uops) if dt.count > 1]

Callers 1

_render_definesMethod · 0.95

Calls 5

getenvFunction · 0.90
log2Method · 0.80
is_boolMethod · 0.80
scalarMethod · 0.80
render_dtypeMethod · 0.45

Tested by

no test coverage detected