Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

[SYCL] tests for win_proxy_loader #1465

Merged
merged 7 commits into from
Mar 1, 2023

Conversation

cperkinsintel
Copy link

tests to verify win_proxy_loader keeps plugin DLLs from unloading until after piTearDown is complete.

@cperkinsintel cperkinsintel marked this pull request as ready for review January 2, 2023 17:55
@cperkinsintel cperkinsintel requested a review from a team as a code owner January 2, 2023 17:55
@cperkinsintel cperkinsintel requested a review from againull January 2, 2023 17:55
@cperkinsintel
Copy link
Author

/verify with intel/llvm#7756

againull pushed a commit to intel/llvm that referenced this pull request Mar 1, 2023
DLLs manually loaded by SYCL are not tracked as direct dependencies in
the same way that linked DLLs are. This means these DLL may be unloaded
before SYCLs shutdown() routine is called, which will lead to problems
when that routine tries to call those DLL to release resources. This PR
adds a new proxy DLL that is a linked dependency of SYCL itself. This
proxy DLL loads all the SYCL manually loaded DLLs early, before SYCL
itself is loaded, and conversely, they are not unloaded until the proxy
itself unloads, which is after SYCL unloads. So now the manually loaded
plugin DLLs will be resident when shutdown() is called and piTearDown
can complete safely and successfully.

I had a previous PR for this work (
#7756 ), but it encountered
interference with a difference in how Windows handles threads and their
termination. I'm addressing that problem separately. In this version, I
am reducing the shutdown() procedure on Windows to only release the
plugins and nothing else. This avoids the issue for now.

Tests are at intel/llvm-test-suite#1465

---------

Signed-off-by: Chris Perkins <[email protected]>
@cperkinsintel
Copy link
Author

This test was run successfully against intel/llvm#8242 and you can see it's latest successful status there.

ping to reviewers.

@againull againull merged commit 5ec33a8 into intel:intel Mar 1, 2023
myler pushed a commit to myler/llvm-test-suite that referenced this pull request Mar 22, 2023
…arget (intel#1465)

* [ESIMD] Add EMBARGO test for xmx::dpas() with double type on Rialto target

Signed-off-by: Vyacheslav N Klochkov <[email protected]>

* Run 'suite_generator_sycl.pl SYCL_ESIMD_EMBARGO' to update the suite

What the script did:
1) Removed *.xml and *.info for those tests that don't have sources because were deleted from EMBARGO test suite.
   For example, 10 lsc* tests do not exist anymore in SYCL_ESIMD_EMBARGO folder,
   but they were listed in 'llvm_test_suite_esimd_embargo.xml'.
   Also, some of those fantom tests had *.info and *.xml

2) Renamed: TEMPLATE_llvm_test_suite_esimd_embargo.xml -> esimd_embargo_named_barriers_nb_exec_in_order.xml

3) Added entries for the newly added test 'dpas_double.cpp'

4) Did harmless changes in few lines in 'llvm_test_suite_esimd_embargo.xml'.
   For example, removed rule that most likely is not needed: '<advancedRule perfSupport="accurate"'

Signed-off-by: Vyacheslav N Klochkov <[email protected]>

Signed-off-by: Vyacheslav N Klochkov <[email protected]>
myler pushed a commit to myler/llvm-test-suite that referenced this pull request Mar 22, 2023
Tests to verify win_proxy_loader keeps plugin DLLs from unloading until after piTearDown is complete.
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
Tests to verify win_proxy_loader keeps plugin DLLs from unloading until after piTearDown is complete.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants