-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System.Numerics.Tensors.Tests cause long-running/hanging tests on Mono JIT (not interpreter) #97295
Comments
@uweigand fya |
@giritrivedi @saitama951 can you see if you can recreate this on s390x |
Sure @uweigand |
I believe this test on NodeJS/WASM is interpreter.
|
Tagging subscribers to this area: @BrzVlad, @kotlarmilos Issue DetailsAfter #97192 was merged we started seeing timeouts in System.Numerics.Tensors.Tests on Mono across all platforms, but seemingly only when using the JIT. Interpreter runs pass fine. There are a large number of long-running tests like this, but disabling them one-by-one wasn't helpful since then just another test was hanging so I had to disable the whole test project
|
I had a look into the issue. Here is a extracted test case
now when running this extracted test case in debug and release, I see the release mode takes 20x times than that of the debug mode. now looking at the perf hotspots I see a hotspot in debugging further I can see :
Now in Now in
The library call The since all of these are dead code for s390x, Is there a way that this can be eliminated way before the other optimization passes? Another concern is that |
@vargaz would you mind helping with this issue? |
I can't reproduce this. This might have been fixed recently by this and related PRs: |
I can reproduce, it only seems to happen on platforms without SIMD. |
* Move the if (cfg->opt & MONO_OPT_SIMD) checks into simd-intrinsics.c so the IsSupported checks can be intrinsified even if SIMD is disabled. * Implement mono_simd_unsupported_aggressive_inline_intrinsic_type () in the non-simd cases as well, add more types. Re: dotnet#97295.
The PR will improve the situation somewhat (2s -> 0.7s). |
* Move the if (cfg->opt & MONO_OPT_SIMD) checks into simd-intrinsics.c so the IsSupported checks can be intrinsified even if SIMD is disabled. * Implement mono_simd_unsupported_aggressive_inline_intrinsic_type () in the non-simd cases as well, add more types. Re: dotnet#97295.
@vargaz Thanks for the fix, this reduced the regression from 2k ms -> 1k ms . however, I see some vector methods still being inlined i.e
however I was thinking to disable inlining for vector methods completely for platforms which don't support it
before this patch
after this patch
|
) * Move the if (cfg->opt & MONO_OPT_SIMD) checks into simd-intrinsics.c so the IsSupported checks can be intrinsified even if SIMD is disabled. * Implement mono_simd_unsupported_aggressive_inline_intrinsic_type () in the non-simd cases as well, add more types. Re: #97295.
After #97192 was merged we started seeing timeouts in System.Numerics.Tensors.Tests on Mono across all platforms, but seemingly only when using the JIT. Interpreter runs pass fine.
There are a large number of long-running tests like this, but disabling them one-by-one wasn't helpful since then just another test was hanging so I had to disable the whole test project
The text was updated successfully, but these errors were encountered: