Stream: wasmtime

Topic: Winch: Collaboration & Contact


view this post on Zulip Robin Freyler (Dec 17 2023 at 18:54):

For a company internal experiment we wanted to try out Winch for which I personally have high hopes. Unfortunately it seems that Winch does not support certain Wasm operators like load and store instructions and maybe more, so we couldn't compare its performance to alternatives. How to best collaborate on Winch or get in contact with their authors? Unfortunately there is no Zulip channel dedicated to Winch.

view this post on Zulip Chris Fallin (Dec 18 2023 at 03:55):

@Robin Freyler Winch was proposed and is designed + led by @Saúl Cabrera ; I know the intent is to finish its implementation, but I'm not sure what their latest timeline is. I'm sure @Saúl Cabrera would be interested if you want to help with the effort!

view this post on Zulip Saúl Cabrera (Dec 18 2023 at 18:51):

Hi @Robin Freyler Winch is indeed currently missing support for some opcodes in order to fully support Core Wasm. We've been tracking our progress in this issue, which is meant to be an exhaustive list of all the opcodes/Wasm features needed in order to support Core Wasm (elements that have an assignee are currently in progress). As you can see, loads and stores are pretty much what's missing. Our target is to have these instructions completed by end of Feb 2024. We had hopes of finishing them earlier, but we decided to spend some time locally fuzzing Winch before adding more features to ensure the correctness of the existing building blocks.

As for what's next: one the objectives that we have for 2024 is to bring Winch's x64 target to Tier 2, according to Wasmtime's Tiers of Support, this will involve working on Wasm proposals like function references and SIMD. Aside from that, we'd also like to improve support for at least the Arm64 backend, which currently only supports a handful of Wasm instructions. Lastly, but not less important, we'd like to spend some time analyzing Winch's compilation and runtime performance, which we haven't done extensively yet.

Let me know if any of this helps, or if you have any other questions. We don't have a Winch specific stream yet, but I guess we could create one if needed.

During the debugging meeting on June 1, 2023, we discussed opening an issue to track the missing Core Wasm opcodes in Winch. The objective of this issue is to make it easier for potential contribut...

view this post on Zulip Saúl Cabrera (Dec 18 2023 at 19:02):

Also: any help on any of those areas is definitely welcome! And of course, if there's anything else that's not covered, needed for your particular use case, I'd be happy to discuss it.

view this post on Zulip Robin Freyler (Dec 18 2023 at 20:39):

@Chris Fallin thanks for initiating the contact with @Saúl Cabrera . :)

@Saúl Cabrera Thanks for your reply and all the information about the project status. The issue tracking the progress is very helpful to get an overview. It is very wise to implement the JIT incrementally and with great care for correctness and I really like the care taken so far a lot. :)

We wanted to use Winch to test how well it performs in some benchmarks compared to other similar solutions. I think Winch is going to be a wonderful addition to Wasmtime. Currently I am trying to look for opportunities to collaborate more closely with Bytecode Alliance people. So far I have worked on a Wasm interpreter (https://github.com/paritytech/wasmi) but would like to dig deeper into compilers and JITs eventually.

A Winch specific Zulip stream would definitely help people like me collaborate on this effort. :)

WebAssembly (Wasm) interpreter. Contribute to paritytech/wasmi development by creating an account on GitHub.

view this post on Zulip Saúl Cabrera (Dec 20 2023 at 15:38):

I think it's reasonable to have a Winch specific stream. I'm not entirely sure if there's a process to create new streams, though, I'd like to confirm that before proceeding.

@fitzgen (he/him) / @Bailey Hayes do you happen to know if there are any requirements to create new streams?

view this post on Zulip Till Schneidereit (Dec 20 2023 at 15:42):

there isn't really, no. One thing to watch out for is to make it web-public right away, because otherwise it requires admin rights to change

view this post on Zulip Saúl Cabrera (Dec 20 2023 at 15:43):

Thanks @Till Schneidereit , I'll make sure to make it web-public

view this post on Zulip Saúl Cabrera (Dec 20 2023 at 15:46):

Oh it seems that I don't have enough permissions to change the visibility to web-public at creation time, I can only select between the rest of the options.

view this post on Zulip Till Schneidereit (Dec 20 2023 at 15:46):

ugh, that's frustrating. Let me see if I can do that

view this post on Zulip Till Schneidereit (Dec 20 2023 at 15:47):

Looks like yes!

view this post on Zulip Saúl Cabrera (Dec 20 2023 at 15:49):

Thanks for your help!

view this post on Zulip Robin Freyler (Dec 20 2023 at 19:19):

Awesome that Winch now has its own Zulip stream. :)


Last updated: Dec 23 2024 at 13:07 UTC