Stream: git-wasmtime

Topic: wasmtime / PR #819 Adds JIT profiling support using ittapi


view this post on Zulip Wasmtime GitHub notifications bot (Mar 08 2020 at 23:20):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 09 2020 at 00:47):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2020 at 19:48):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2020 at 19:49):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2020 at 20:24):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2020 at 22:50):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 24 2020 at 23:13):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 00:04):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

FWIW jitdump didn't actually require any extra C libraries or anything, so the ease of building it was why I went ahead and placed it in the default features. For the ittapi crate, however, it requires a native non-Rust toolchain, so we may want to leave this out of the default features for now while we sort out the build requirements there?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

Is this perhaps stuck around from an old merge conflict?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

FWIW idiomatically use statements all appear at the top of the module

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

How come this is cached internally? I don't think we publish code for the same module twice, so wouldn't we want to always create a new method id?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

This .unwrap() is likely to panic since I don't think that all wasm modules have names associated with them

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

If this needs to be hooked up to get vtune working, I'd recommend implementing Drop for VTuneAgent which would call this method

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

Is the Box here necessary in that ijIT_NotifyEvent is freeing the memory it's given? If the free isn't happening this may be a memory leak, but the Box isn't necessary here either if all that's needed is a pointer. For that you can just do &mut jmethod as *mut _ as *mut _

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

This may be stray now at this point?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

Should this be an argument to module_load perhaps? To try to get the source filename if possible?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 14:22):

alexcrichton created PR Review Comment:

er that is, an argument on the trait

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 18:48):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 18:48):

jlb6740 created PR Review Comment:

@jlb6740 it looks like the new crate here is pulling in bindgen at build time I think, right? That's a pretty hefty dependency and one we'd ideally rather avoid. Would it be possible to check in the generated bindings from bindgen via a scheme like pepyakin/binaryen-rs#52 perhaps?

Hi @alexcrichton, thanks for the comments. The profiling facilitated by a C library (https://github.com/intel/ittapi) for instrumentation and tracing and so there is a sys crate that uses bindgen to create the rust interface. Right now I think that crate isn't properly guarded on a windows build so that needs to be corrected, but it works well on linux. Yes .. we can make any update ... I am trying to digest the change here: https://github.com/pepyakin/binaryen-rs/pull/52/files. Did you remove the build time dependence on bindgen .. do it ahead of time and put the resulting file in bindings.rs? Is that what I am looking at there?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 18:48):

jlb6740 edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 18:49):

jlb6740 edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 19:58):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 19:58):

alexcrichton created PR Review Comment:

@jlb6740 right yeah, I moved it to a dev-dependencies section so it's still verified that the bindings are correct on cargo test, but otherwise the generated bindings are checked into the tree so bindgen isn't needed at build time, only when testing the ittapi-rs crate

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 21:35):

jlb6740 created PR Review Comment:

This is a good question. I saved this for supporting other calls that would rely on the same methodID. Right now this pr only calls method_load for a function and then moves on, but there are other events that can be recorded that aren't included with this particular patch (https://software.intel.com/en-us/vtune-help-ijit-notifyevent). Also .. I wasn't sure what the invoke flag was allowing now. In the past I ran an example wondering why my codes were running twice, only to realize I was using invoke when I did not need to. This was some action.rs file where I had extra hooks, which looks like it is gone now but I was calling profiling hooks twice when maybe it wasn't needed. I wanted to cache methodID to prepare for this possibility as well.

Also note, this instrumentation is targeting jitted code but future updates should include APIs for help in instrumenting wasmtime itself: https://software.intel.com/en-us/vtune-help-instrumenting-your-application#2CCDFEFA-30CD-4899-A86B-54C9F873C823. This is different from recording the methodID, but the same VTune agent interface here I expected would be used to cash domain ids and other handles that help with marking regions.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 21:35):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 23:46):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 23:46):

jlb6740 created PR Review Comment:

It doesn't at all ... it seems to only have purpose if you want to stop profiling and any point while code is still executing. Having drop for VTuneAgent call this would probably be a good idea nonetheless though. +1

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 23:46):

jlb6740 edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 23:46):

jlb6740 edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 25 2020 at 23:46):

jlb6740 edited PR Review Comment.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 26 2020 at 15:37):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 26 2020 at 15:37):

alexcrichton created PR Review Comment:

Ah ok caching makes sense, but I think that here it may make more sense to insert it into the map and assert that it was the first time we saw it? Modules should only be reigstered once and this would allow other VTune methods to get called as well.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 01:00):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 06:13):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 06:13):

jlb6740 created PR Review Comment:

Sorry .. missed this comment earlier. Yeah, that would be great. I looked at instantiate_module and I don't see anywhere the path to the file is being preserved. Is this something possible now?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 06:54):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 06:55):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 06:55):

jlb6740 created PR Review Comment:

Great! Thanks. It shouldn't be freed. I think was some legacy when I didn't quite now how to represent this. Converts to pointer to jmethod and then coerces to the c_void type expected.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 14:47):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 14:47):

alexcrichton created PR Review Comment:

Yeah we don't actually really ever have a filename right now, but it seems like it'd be best if the caller of the profiler would be inventing a filename like this rather than relying on each profiler to invent its own filename. We could eventually thread through a filename from something like Module::from_file to here when we get around to binding it.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 16:49):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 16:49):

jlb6740 created PR Review Comment:

Ok, make sense. I'll add the argument and make up the name at the call site. :+1:

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 23:02):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 27 2020 at 23:02):

jlb6740 created PR Review Comment:

You know, I was thinking if filename should eventually come from the module, well the module is already passed in. We already pull the module_name (if exists) and method_name from the module and the only reason we don't pull the filename too is because it isn't there. I think ultimately we actually may not want this added to the interface. In the next push I've only added it to event load to see what you think, but if you still think it should be a part of the interface and passed in from the jit call site, then I can add it there too.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 28 2020 at 01:07):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 28 2020 at 01:07):

jlb6740 created PR Review Comment:

:+1:

view this post on Zulip Wasmtime GitHub notifications bot (Mar 29 2020 at 06:01):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 05:06):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 19:53):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 19:53):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 19:53):

alexcrichton created PR Review Comment:

I think this may still need to be removed?

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 19:53):

alexcrichton created PR Review Comment:

I think this may not exist in the C API yet? (should just be a few extra lines here and there for this PR)

view this post on Zulip Wasmtime GitHub notifications bot (Mar 31 2020 at 02:42):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 31 2020 at 02:42):

jlb6740 created PR Review Comment:

Lol .. Yes sorry. :+1: I was following your lead and didn't go back and add. I see support here should be added in crates/c-api and will do that next push.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 20:09):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 20:27):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 20:30):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 20:30):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 21:28):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 21:28):

alexcrichton submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 21:28):

alexcrichton created PR Review Comment:

I think this may be missing from the commit by accident?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 21:28):

alexcrichton created PR Review Comment:

Oh dear I see what you mean, it looks like some mangling has definitely gone awry here by accident :(

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 22:54):

jlb6740 submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 22:54):

jlb6740 created PR Review Comment:

Let me just remove this.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 23:59):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2020 at 23:59):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 02 2020 at 00:00):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 02 2020 at 00:05):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 02 2020 at 01:48):

jlb6740 updated PR #819 from add-vtune-ittapi-support to master:

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.

Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm

Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 02 2020 at 14:04):

alexcrichton merged PR #819.


Last updated: Oct 23 2024 at 20:03 UTC