Skip to content
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

Rename hipSYCL/Open SYCL target to AdaptiveCpp #21

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

ravil-mobile
Copy link
Contributor

No description provided.

@ravil-mobile
Copy link
Contributor Author

The pipeline failed because the CI-GPU image needs to be rebuilt. It cannot be currently done because the LRZ compute cloud is down

Copy link
Contributor

@davschneller davschneller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks alot! I left a bunch of smaller comments regarding the build system etc. ... The main thing is maybe the naming, i.e. it is "Open SYCL", not "openSYCL". Cf. here: AdaptiveCpp/AdaptiveCpp#942 (comment)

DeviceMacros.h Outdated
#elif defined(DEVICE_HIPSYCL_LANG)
#error do not launch kernel with macros using hipsycl
#elif defined(DEVICE_OPENSYCL_LANG)
#error do not launch kernel with macros using opensycl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The official name is written with a space in between, see AdaptiveCpp/AdaptiveCpp#942 (comment) .

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I renamed OpenSYCL to Open SYCL in READMEs.

#elif defined(DEVICE_OPENSYCL_LANG)

It is C-macro. Spaces are not going to work here.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
cmake/FindOpenSyclConfig.cmake Outdated Show resolved Hide resolved
cmake/FindOpenSyclConfig.cmake Outdated Show resolved Hide resolved


def get_full_target_name(arch):
data = get_config()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now, get_config is getting called twice—but the result is the same. While that shouldn't cause many problems (I hope)... Wouldn't it be better only load the config once and then re-use it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am calling this python script 3 times to get different outputs to stdout

# 1. to get Open SYCL include dit
execute_process(COMMAND "${Python3_EXECUTABLE}" ${CMAKE_CURRENT_LIST_DIR}/find-opensycl.py -i
                  OUTPUT_VARIABLE _OPENSYCL_INLCUDE_DIR)

# 2. to get the vendor name for the default device
execute_process(COMMAND "${Python3_EXECUTABLE}" ${CMAKE_CURRENT_LIST_DIR}/find-opensycl.py --vendor
                  OUTPUT_VARIABLE _OPENSYCL_VENDOR)

# 3. to get correct default target name    
execute_process(COMMAND "${Python3_EXECUTABLE}" ${CMAKE_CURRENT_LIST_DIR}/find-opensycl.py -t -a "${DEVICE_ARCH}"
                  OUTPUT_VARIABLE _OPENSYCL_FULL_TARGET_NAME)

I don't want to execute a python script once and get all these output in one go
because, in this case, I will have to parse the resultant string in CMake which is tedious and ugly.

cmake/find-opensycl.py Outdated Show resolved Hide resolved


def get_package_dir():
exe_name = which("syclcc")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe make the package dir a CMake variable? Just in case the syclcc in PATH is not the one that is wanted (or some environment variable is supposed to supersede this name), or not given at all.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm. I would argue that the user is responsible for providing a correct syclcc. The executable is supposed to visible in the environment. Otherwise, nothing is going to get compiled.

* renamed `OpenSycl-config` to `OpenSYCLSettings`
@ravil-mobile ravil-mobile force-pushed the ravil/opensycl branch 3 times, most recently from 261385a to a6dab74 Compare April 3, 2023 16:07
@illuhad
Copy link

illuhad commented Apr 4, 2023

fyi, please see here: AdaptiveCpp/AdaptiveCpp#999

Hi @illuhad. Thank you and @davschneller for pointing it out. Yes, I paused this PR and I am waiting for your team to rename the project. I hope it will happen soon. As for me, both FreeSYCL and LibreSYCL sound good.

@davschneller davschneller changed the title renamed hipsycl to opensycl Rename hipSYCL/Open SYCL target to AdaptiveCpp Sep 20, 2023
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.

3 participants