tree df1953ddbc4decc2e056f0f1d54aca0973db8bc8
parent 0bafed8a63007cbbafa521d31a0aae75a89161bf
author Scott Todd <scotttodd@google.com> 1623091855 -0700
committer GitHub <noreply@github.com> 1623091855 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgvmqPCRBK7hj4Ov3rIwAAxu4IAH0XNJg9BiAkG6uJ3FpDHM7F
 QVHbeQpcg1N4AjNCdUzMclrFk2ND9k5QJP3ox62pRN1yT7nx4gWYM6KDcu2x5IYw
 VPpWHICGgKKsbCWexm7iIOt/0pXKknwMJmW8GaKwCklCvpxWv/FzkQq+vJb9V0L9
 +18ThiJKnPtingp3m9SZ9Kdw0fwA31hY0UzpzDYL4NIAWy94cdu4jgUdsiESHe7H
 QbsA2JUFOI8MdWi3wrJXhlaxA35jARMixZ5XA19+hNedWLq25npdbrxJ6kPKklz8
 FY0uBDGXCa4QQv2qV38atSjc6/b8p/ahEFYopOqWm6UXj4blnJa27teIoGEQIfc=
 =rVZ4
 -----END PGP SIGNATURE-----
 

Add a minimal sample using variables from TF -> C API. (#6104)

I'm planning on using this as a template for future samples as part of https://github.com/google/iree/issues/5222 (showing dynamic shapes, flow control, etc.).

Some guiding principles:

* Samples should be written as external (out of tree) applications would be
  * No `iree_cc_binary`, `iree_bytecode_module`, or other CMake helpers
  * Only use parts of the public C API
* Samples should show _an_ entire flow, but designate clear points where users could branch off on their own
  * The included Colab notebook provides both a .mlir file and a .vmfb for VMVX, along with instructions for compiling the .mlir file separately for other backends
  * The notebook also shows how to use the Python runtime API, so users could stop there if they aren't interested in the C API
* These samples should be _minimal_
  * No complex tensor types, ops, or layers - just scalars