tree db48cdecbbc87ef538bc6087547444ae3a366089
parent 3ecf8ef7c4c0fe5e6bec8908e4d9ad2c7a428406
author Scott Todd <scotttodd@google.com> 1644871403 -0800
committer GitHub <noreply@github.com> 1644871403 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiCr7rCRBK7hj4Ov3rIwAAScgIADrckRQMguvdN8Tu3ity2ELY
 djEdMjF/VUbYIT1KYHbDNuneU+uVvWmVVSoW1jIiQrr80eAnqeCw8+IAQ/rWlX5y
 N29mtho1DCs6/nnKw2N0CcBcTLY8zplOYPagSRjcDLfopIHFfPeAUKLqWGgKV7hV
 6DM6SXc2nucQtUjVVrkPT7cK4qGPznSFPiGratXvmk4zZhSylJAAf94ItfQrTV+3
 5RmvQpj6dsoHUlJLYCv9DPp80F2xeNbZdDAVNjKWa29u9Eri+4lij0Qa3L87dDmj
 nkKxMKDvGTSwndexmarbeII4Zih/YKr5X6X8mpbtWIEDH4LiZBA1T+m4bUBmAQo=
 =IkBF
 -----END PGP SIGNATURE-----
 

Add dynamic linking web sample using Emscripten. (#8319)

Like the static web sample introduced in https://github.com/google/iree/pull/8171, this uses Emscripten to compile IREE's runtime to WebAssembly. What's new here is the use of Emscripten's [runtime dynamic linking support](https://emscripten.org/docs/compiling/Dynamic-Linking.html#runtime-dynamic-linking-with-dlopen) to be able to separately serve and load compiled programs.

The sample currenly loads [`simple_abs.mlir`](https://github.com/google/iree/blob/main/iree/samples/models/simple_abs.mlir), queries some metadata, then calls the exported function:

https://github.com/google/iree/blob/b959830d762b0614d42a0cf3d2a623410cb3247a/iree/samples/models/simple_abs.mlir#L1-L4

```
iree_worker.js:20 WebAssembly module onRuntimeInitialized()
(index):34 IREE initialized, loading program...
iree_worker.js:75 worker received message: {messageType: 'loadProgram', id: 0, payload: './simple_abs.vmfb'}
iree_worker.js:33 fetching program at './simple_abs.vmfb'
iree_worker.js:38 XMLHttpRequest completed, passing to Wasm module
iree_worker.js:14 (C) load_program() received 5158 bytes of data
iree_worker.js:14 (C) === module properties ===
iree_worker.js:14 (C)   module name: 'module'
iree_worker.js:14 (C)   module signature:
iree_worker.js:14 (C)     18 imported functions
iree_worker.js:14 (C)     2 exported functions
iree_worker.js:14 (C)     2 internal functions
iree_worker.js:14 (C)   exported functions:
iree_worker.js:14 (C)     function name: 'abs', calling convention: 0r_r'
iree_worker.js:14 (C)     function name: '__init', calling convention: 0v_v'
iree_worker.js:14 (C) abs(-5.500000) -> result: 5.500000
iree_worker.js:49 Result from loadProgramFn(): 0
(index):37 Load program success!
```

Future work may add drag-and-drop -> `iree-run-module` behavior. I also have some ideas for building a little UI that shows you properties of any .vmfb like which executable formats are included in it.

I explored enabling multithreading together with the dynamic linking, but ran into issues with Emscripten's experimental [dynamic linking + pthreads](https://emscripten.org/docs/compiling/Dynamic-Linking.html#pthreads-support)  implementation. I left some notes on this at the bottom of the new `README.md`.