Scala chokes on big classes ~ 64kB
limit for a method
• Split the implementation
into multiple classes
• Make one trait inherit all
LMS has read / write effects
• Produce the effects
automatically using the
category data in the Intel
<intrinsic tech='AVX' rettype='__m256d' name='_mm256_loadu_pd'>
<parameter varname='mem_addr' type='double const *’ />
Load 256-bits (composed of 4 packed
double-precision (64-bit) floating-point elements)
from memory into "dst". "mem_addr" does not need
to be aligned on any particular boundary.
dst[255:0] := MEM[mem_addr+255:mem_addr]
dst[MAX:256] := 0
<instruction name='vmovupd' form='ymm, m256’ />
Type Mappings – unsigned?
• Use Scala Unsigned for
• Disallow and use memory
Implement Arrays only?
• Abstract containers for the
need of the DSL
Challenge #6, #7, ...
Try to think of everything?