-
Notifications
You must be signed in to change notification settings - Fork 117
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
Try to isolate L0 runner issue #1056
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In the CUDA/HIP adapters `urKernelSetArgValue` was being used to implement both `urKernelSetArgValue` & `urKernelSetArgLocal`. However, if the validation layer is enabled in UR then the path to set local arg is never taken since it includes a check that `pArgValue` is not null. This PR: * Implements `urKernelSetArgLocal` for CUDA/HIP adapters * Changes `pi2ur` to call `urKernelSetArgLocal` when `arg_value` is `nullptr` * Implements `urKernelSetArgLocal` for L0 adapter - this just calls back into `urKernelSetArgValue`.
In the HIP adapter the HIP module is not set until the program is built with `urProgramBuild`, therefore we should check that the module actually needs to be unloaded in `urProgramRelease`. The following will result in a failure, but should still be valid UR trace: ```cpp uint8_t *source = "<some ptx>"; ur_program_handle_t prog; urProgramCreate(context, device, sizeof(source), ptxSource, nullptr, &prog); urProgramRelease(prog); // fails when it tries to unload the module. ```
Fix the license headers at the top of each source file in the unified runtime directory. --------- Co-authored-by: Alexey Bader <alexey.bader@intel.com>
Fix the license headers at the top of each source file in the unified runtime directory. --------- Co-authored-by: Alexey Bader <alexey.bader@intel.com>
While attempting to enable the Level-Zero and OpenCL adapters at the same time git will report an error due to the OpenCL tag not existing in the intel/llvm clone use for the Level-Zero adapter. Furthermore, if I wanted to test separate bug fixes for the CUDA and HIP adapters from different sources, this would also not be possible. This patch uses a separate FetchSource for each adapter to allow each adapters source to be fetched independently of the others and moves those clones into the build directory. This does result in additional git clones when enabling multiple adapters and again in multiple build directories but avoids conflicting remote URL's or multiple build configurations trampling on each others checked out tags.
and re-name the label to 'fuzz-short' for easier usage.
…e-clones [cmake] Use separate FetchSource's per adapter
This change enables conformance tests on HW with adapters. Tests that currently do not pass are ignored, but in the future, when they are all fixed, tests should pass without using this functionality.
[cts] Add adapters ignore lists for conformance tests
Small updates in fuzz tests
This PR adds missing functions in the hip backend to allow for interoperability in programs that create sycl objects from native hip objects. The new function implementations are: - `make_device` - `make_queue` - `make_event` Note that it would really make sense for intel/llvm#10491 to be merged first because this PR makes the same code change in pi2ur, for a fix that is attributed to #10491. --------- Signed-off-by: Jack Kirk <jack.kirk@codeplay.com>
`urinfo` is a command-line tool for inspecting the current execution environment: ```console $ build/bin/urinfo --help usage: build/bin/urinfo [-h] [-v] [-V] This tool enumerates Unified Runtime layers, adapters, platforms, and devices which are currently visible in the local execution environment. options: -h, --help show this help message and exit --version show version number and exit -v, --verbose print additional information ```
[ur] Introduce urinfo tool
Test urDeviceGetGlobalTimestampTest.SuccessSynchronizedTime is marked as OPT because is flaky.
When UR is built with the UR_BUILD_ADAPTER_L0 flag, run fuzz tests with level zero adapter force loaded.
Add instructions for generating new short fuzz test scenarios.
[CTS] fix cts device adapter L0 match file
…10995) Don't insert zeCommandListAppendWaitOnEvents/zeCommandListAppendSignalEvent for queue::ext_oneapi_submit_barrier() if we have in-order queue and all events in the waitlist are from the same queue.
Creating device binaries silently fails if SYCL isn't available.
Add information on generating new corpus files
Run fuzz test with L0 when available
Cron scheduled workflows are triggered on the default branch only, which is the 'main' branch.
Remove phony nightly CI workflow [adapters branch]
[Command-buffer][L0] Reset sync-point events
Print all CTS outputs (from gtest) in CI.
…iant [HIP][CUDA] Change unions in ur_mem_handle_t_ to stdvariant
…me-main-changes-into-adapters
…-changes-into-adapters Bump adapters branch
This is required after oneapi-src#961
…some-main-changes-into-adapters Revert "Bump adapters branch"
[CUDA][EXP] CUDA adapter support for command buffers
This patch moves the `test-adapter-cuda` and `test-adapter-hip` test suites out of the `test/conformance` directory. The goal of this move is to ensure that all adapters will be tested with the same set and number of conformance tests, making conformance pass rates directly comparable between adapters. Up to now the CUDA and HIP adapters have included additional unit tests of internals which skews pass rates.
…SpecializationConstants [OpenCL] Add version check for urProgramSetSpecializationConstants
[CUDA][HIP] Move adapter specific testing out of CTS
We rather want to fail CMake configuration than silently move on, to find out about missing example, after the build. Codegen example is only build "on demand", when UR_BUILD_EXAMPLE_CODEGEN is set.
automatically generate linker version script for adapter libraries
…calMemSizeQuery [UR] [CUDA] Changed the output of querying localMemSize
Fail codegen example configuration if no dependcies
…leak [OpenCL] Fix memory leak
The CTS is already dependant on the DPC++ compiler to generate programs inputs for the program, kernel, and enqueue test suites specified via the `UR_DPCXX` CMake variable. If the DPC++ compiler is not installed on the system the executables it outputs will likely fail to find the SYCL runtime library when executed, breaking the generation of CTS program inputs. The patch introduces the `UR_SYCL_LIBRARY_DIR` CMake variable enabling the user to specify the path to the SYCL runtime library for use when generating CTS program inputs.
…e-sycl-library-dir [CTS] Add UR_SYCL_LIBRARY_DIR CMake variable
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ur::assertion
withUR_CHECK_ERROR
(#10986)ur::assertion
withUR_CHECK_ERROR
(#10986)USMAllocationMakeResident
USMAllocationMakeResident
"std::get<BufferMem>