-
Notifications
You must be signed in to change notification settings - Fork 75
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
Gitlab CI: enable the SYCL FPGA emulation backend #2471
base: develop
Are you sure you want to change the base?
Conversation
2a7a927
to
2196428
Compare
d1379e0
to
f333899
Compare
d3f7600
to
9909e00
Compare
@@ -115,6 +115,10 @@ if [ "${alpaka_ACC_SYCL_ENABLE}" == "OFF" ]; then | |||
echo_yellow "<DEFAULT: SYCL environment variables for disabled backend>" | |||
export alpaka_SYCL_ONEAPI_CPU=${alpaka_SYCL_ONEAPI_CPU:=""} | |||
export alpaka_SYCL_ONEAPI_CPU_ISA=${alpaka_SYCL_ONEAPI_CPU_ISA:=""} | |||
export alpaka_SYCL_ONEAPI_FPGA=${alpaka_SYCL_ONEAPI_FPGA:=""} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a TODO
that this should be split in a separate Intel SYCL CPU and FPGA job in future with the next commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I can do that, but do you prefer to merge it like this with a TODO, or to actually split it ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like here:
alpaka/script/job_generator/generate_job_yaml.py
Lines 287 to 290 in eca2cd5
# TODO(SimeonEhrig): set libstdc++ for all backends | |
# support for different standard c++ libraries is planed | |
# https://github.com/alpaka-group/alpaka-job-matrix-library/issues/9 | |
variables["ALPAKA_CI_STDLIB"] = "libstdc++" |
The name is optional in general but in this case you can use my one. I use grep to find TODO
s.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I understand that :-)
What I meant to ask is: are we OK to merge this PR as-is (plus the TODO comment), given that it breaks the SYCL CPU workflows ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, please not. I think you missed my question in the mattermost chat yesterday. It is not possible to compile the CPU and FPGA backend in you job. If this is true, I will start to open an new PR and extend the job generator that it can generate separate jobs for SYCL CPU and FPGA backend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree we should not merge this PR as-is, without splitting the CPU and FPGA workflows (or finding another solution).
Then I don't understand the reason for the TODO: by the time we do merge it, the split will have been done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then I don't understand the reason for the TODO: by the time we do merge it, the split will have been done.
I was not sure, what is the way to go. You did not directly answer on my question on mattermost and you wrote that you asked Intel. So I was not sure how to continue and I thought better document it, before forget it.
@@ -391,6 +391,10 @@ def job_variables(job: Dict[str, Tuple[str, str]]) -> Dict[str, str]: | |||
variables["ALPAKA_CI_ONEAPI_VERSION"] = job[DEVICE_COMPILER][VERSION] | |||
variables["alpaka_SYCL_ONEAPI_CPU"] = "ON" | |||
variables["alpaka_SYCL_ONEAPI_CPU_ISA"] = "avx2" | |||
variables["alpaka_SYCL_ONEAPI_FPGA"] = "ON" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a TODO
that this should be split in a separate Intel SYCL CPU and FPGA job in future with the next commit.
Install the oneAPI FPGA support libraries and enable the FPGA back-end in emulator mode.