oneDPL icon indicating copy to clipboard operation
oneDPL copied to clipboard

[pstl-offload] Initial support for PSTL offload under Windows

Open Alexandr-Konovalov opened this issue 1 year ago • 2 comments

There are 4 groups of the changes:

  1. Microsoft dynamic runtime is instrumented to intercept global memory releasing. Microsoft Detours is used for that. It downloaded and build from sources during pstloffload build step. Then statically linked to pstloffload.dll.
  2. Allocation functions re-use. Under Windows, releasing of memory allocated by native aligned allocation functions must not be done by free/realloc, but by special _aligned_free/etc counterparts. Alignment 0 is used as a sign that common malloc etc should be called.
  3. Tests changes. Link with release runtime is not supported for debug PSTL offload, so in debug testing skips iterator tests that requires that.
  4. CI changes. pstloffload_smoke_tests group of tests created to run on checking.

Alexandr-Konovalov avatar Jan 19 '24 14:01 Alexandr-Konovalov

Other than my comments, looks good to me. I would also ask somebody to review the infrastructure part.

rarutyun avatar Apr 16 '24 05:04 rarutyun

Other than my comments, looks good to me. I would also ask somebody to review the infrastructure part.

I've reviewed the infrastructure part, and it LGTM. I've reviewed the rest as well and looks good other than the documentation / licensing conversations still open (which can be address separately). It would be good to get final approval from @rarutyun after his comments.

danhoeflinger avatar Apr 19 '24 14:04 danhoeflinger