Skip to content

Merge v0.9.0 to main #726

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

Merged

Conversation

lukaszstolarczuk
Copy link
Contributor

Merge v0.9.0 tag (via v0.9.x branch) into main.

szadam and others added 30 commits July 30, 2024 10:55
It add utils_annotate_memory_defined() (which does unpoison on memory region)
after all mmap().
This should be unnecessary change but pairs of mmap/munmap do not reset
asan's user-poisoning flags, leading to invalid error reports.
This bug is describe here - 81619: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81619
Fix the warnings:

umf\build\src\libumf.rc(12): warning RC4005: 'UMF_VERSION' : redefinition
umf\build\src\proxy_lib\proxy_lib.rc(12): warning RC4005: 'UMF_VERSION' : redefinition

Signed-off-by: Lukasz Dorau <[email protected]>
Add lock for updating file size in OS memory provider,
because umfMemoryProviderAlloc() has to be MT-safe.

Signed-off-by: Lukasz Dorau <[email protected]>
use full path, to omit potential conflicts in names with other modules,
e.g. in other projects, which can use the same module name.
ASan throws an error whenever the memory poison is called for the memory allocated on GPU:
"AddressSanitizer: CHECK failed: asan_mapping.h:359 "((AddrIsInMem(p))) != (0)" (0x0, 0x0)".

This commit disables poisoning.
The poison memory macro definition is always defined, so an #ifdef check
is insufficient.
to fix:

"ld.lld: error: version script assignment of 'UMF_1.0' to symbol
'umfLevelZeroMemoryProviderOps' failed: symbol not defined"

when using lld linker
Referring to an installed file using `CMAKE_SOURCE_DIR`
only works when UMF is built and installed standalone,
but not when it's included by other projects.

Only `LICENSE.TXT` and `licensing/third-party-programs.txt` still had
these issue, while other files already used `PROJECT_SOURCE_DIR`.
Add UMF_ prefix, where missing.
In bench, tests, and examples use UMF_X_ prefix.
Without explicitly disabling them and if a system where hwloc
is being build has opencl/cuda/nvml installed those libraries
will become hwloc dependencies which would force umf to link with
them.

The problem manifested on a system where opencl was installed and
umf compilation failed due to missing clGetDevices symbol.
…or-0.9.0-rc4

Merge another fixes for 0.9.0-rc4
When building as a subproject the `CMAKE_PROJECT_VERSION` is the root
project version not the current project version. As such, in a
subproject which makes use of UMF, such as UR, the `.so` or `.dll`
library version would be set to the UR project version, not the UMF
version.

This patch fixes this erroneous versioning by using `PROJECT_VERSION`
(and derivatives) in place of `CMAKE_PROJECT_VERSION`.
igchor and others added 9 commits August 19, 2024 12:55
Windows `cmd.exe` doesn't have a `true` command, `(exit 0)` will do the
same thing but it will work on both linux and windows.

This issue only shows up on Windows and not on a first build, since when
building the first time the patch applies cleanly so the `||` branch is
not taken, but then when rebuilding the patch doens't apply and the
command errors out in the `||` branch.
@lukaszstolarczuk lukaszstolarczuk requested a review from a team as a code owner September 12, 2024 12:43
@lukaszstolarczuk lukaszstolarczuk merged commit 02f5d9c into oneapi-src:main Sep 12, 2024
66 checks passed
@lukaszstolarczuk lukaszstolarczuk deleted the merge-v0.9.0-to-main branch September 12, 2024 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.