tree c0f83d71418f8bd85432f247a821611b0e38d6cb
parent b89191c4c319c208d018dfb665416ff7a19fc60a
author MaheshRavishankar <1663364+MaheshRavishankar@users.noreply.github.com> 1600156536 -0700
committer GitHub <noreply@github.com> 1600156536 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfYHN4CRBK7hj4Ov3rIwAAdHIIAJv4WvM2JbEvJdd85CKRG7aw
 wMSFFy+vk6jmez7gXmVRvtbciarn/akzS3NwA603TjjuQm+l4+Wm78+dj/sfd1Tm
 6LqQ1BIpvD7e7SCdp1d7zkCtkPGmrXljyyehmU4TqaIh0hNja/zu+E1hOQ+gl5m3
 Qc/s4hGPQK/M0Enuvdq0X4DXQ/bSoOiYeDm2c5V3s2+9LkrNdN6oRDQUdoP7MvsW
 MIIz1Z3taon1T67KykNiENLKPDxsmfL0pJVLSv2np1BjUSD+0+LjQE673TsEAgnr
 d0CdineyndrhSobZt+jwazFca3hrVB/LKoB8TURZXmkAJBomt2KgTzLjBxiNA4c=
 =8I01
 -----END PGP SIGNATURE-----
 

Use generated function to compute number of workgroups to be launched. (#3095)

The current mechanism of deciding number of workgroups to use for the
launch uses an enumeration of fixed strategies. This is not sufficient
to cover all uses. This commit adds a new mechanism where the
codegeneration passes generate the function to use that when called
from the host side will return the number of workgroups to use. The
arguments to the function are the shapes of the inputs and outputs to
the dispatch region.
Currently this is enabled only for static shapes, since there are some
unresolved issues w.r.t to the dynamic shape case.