Skip to content

[SYCL] Adjust devicelib install location #2405

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
merged 5 commits into from
Sep 8, 2020

Conversation

jinge90
Copy link
Contributor

@jinge90 jinge90 commented Sep 1, 2020

This patch will do following:

  1. Rename all .o libraries to .obj on Windows
  2. Install all .obj libraries in lib/ on Windows
  3. Uniform the previous libsycl-glibc and libsycl-msvc to libsycl-crt.o/obj

Signed-off-by: gejin [email protected]

This patch will do following:
1. Rename all .o libraries to .obj on Windows
2. Install all .obj libraries in lib/ on Windows
3. Uniform the previous libsycl-glibc and libsycl-msvc to libsycl-crt.o/obj

Signed-off-by: gejin <[email protected]>
@jinge90 jinge90 requested review from asavonic, vzakhari and a team as code owners September 1, 2020 14:59
@s-kanaev
Copy link
Contributor

s-kanaev commented Sep 1, 2020

@jinge90 , please provide brief description of the problem this patch solves.

@jinge90
Copy link
Contributor Author

jinge90 commented Sep 1, 2020

@jinge90 , please provide brief description of the problem this patch solves.

Currently, device libraries included .o and .spv libraries. The ".o" libraries are for offline link with users' device code and .spv libraries are to be loaded and linked during runtime by sycl RT. bin/ is for dynamic libraries on Windows and lib/ is for static libraries. The spv libraries are some kind of "dynamic" libraries, putting them into bin/ seems to align with Windows' style.
The ".o" libraries are object files but ".o" is not a standard object name on Windows (typically it is .obj). Changing the suffix to ".obj" also aims to align with Windows style to avoid confusion to users.
@vzakhari and @mdtoguchi ,please feel free to correct me if anything wrong.
Thank you very much.

Signed-off-by: gejin <[email protected]>
@vzakhari
Copy link
Contributor

vzakhari commented Sep 1, 2020

Please fix the LIT tests, otherwise LGTM

@jinge90
Copy link
Contributor Author

jinge90 commented Sep 2, 2020

Please fix the LIT tests, otherwise LGTM

Hi, @vzakhari
Just updated the patch to align the spv and obj output directories with install directories.
On Linux, both the static libraries(.a) and dynamic libraries(.so) are generated in build/lib/ folder
On Windows, the static libraries(.lib) are generated in build/lib and dynamic libraries(.dll) are generated in build/bin folder.
Thank you very much.

@jinge90
Copy link
Contributor Author

jinge90 commented Sep 3, 2020

Hi, @asavonic
We updated the install folder for device libraries. For all object files, we installed them in lib/ on both Linux and Windows. For .spv files, we don't change the install folder. We also change the suffix from ".o" to ".obj" to follow Windows style. Could you help review?
Thank you very much.

@bader bader changed the title [SYCL] devicelib install location adjustment [SYCL] Adjust devicelib install location Sep 8, 2020
@bader bader merged commit 6306a99 into intel:sycl Sep 8, 2020
@jinge90 jinge90 deleted the Uniform_devicelib_location_and_postfix branch January 26, 2021 01:19
Chenyang-L pushed a commit that referenced this pull request Feb 18, 2025
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.

4 participants