-
Notifications
You must be signed in to change notification settings - Fork 755
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
Document the -fintelfpga flag ? #1190
Comments
It looks like |
SYCL specific compiler options are documented here: Please, let us know if it's not clear. |
Thanks @bader.
|
@fwyzard, if you could propose a new wording via PR, it would be great. |
Done in #1218. |
@fwyzard, can we close this issue or there is anything else you wanted to add regarding |
Is there a way to install |
None that I'm aware of. @GarveyJoe, could you please chime in? |
There is not. |
Thanks. |
Tagging @vladimirlaz to answer the question |
Late anawer is better than nothing. There is no hard correlation between aoc and siycl compiler. So the latest one should be ok. |
Is this still true? I tried to use # Compilation step
dpcpp -O3 -DNDEBUG -fsycl -sycl-std=2020 -fsycl-targets=spir64_fpga-unknown-unknown-sycldevice -Xsycl-target-backend=spir64_fpga-unknown-unknown-sycldevice -g -MMD -o axpy.cpp.o -c axpy.cpp
# Linking step
dpcpp -O3 -DNDEBUG -fsycl -fsycl-targets=spir64_fpga-unknown-unknown-sycldevice -Xsycl-target-backend=spir64_fpga-unknown-unknown-sycldevice -g -MMD -Xsycl-target-backend=spir64_fpga-unknown-unknown-sycldevice -hardware -Xsycl-target-backend=spir64_fpga-unknown-unknown-sycldevice -board=pac_a10 -Xsycl-target-backend=spir64_fpga-unknown-unknown-sycldevice -board-package=/glob/development-tools/versions/oneapi/beta10/inteloneapi/intelfpgadpcpp/2021.1-beta10/board/intel_a10gx_pac axpy.cpp.o -o axpy /glob/development-tools/versions/oneapi/beta10/inteloneapi/compiler/2021.1-beta10/linux/lib/libOpenCL.so -lsycl This emits the following warning:
|
A few extra flags were added over time to tweak the default behaviour to be more amenable for FPGA users. You can always check the latest flags by running "dpcpp -v -fintelfpga <some .cpp file>" as this will emit the full clang++ command that dpcpp runs under the hood. The relevant flag for your warning is "-dependency-file" which is needed by the reports to map generated hardware to code in your program. Another notable difference is that -fintelfpga also now adds "-fno-sycl-early-optimizations" to disable early optimizations by the frontend. Performing these optimization early can result in less useful reports and the backend can perform most of the same optimizations. The flag is desirable for just-in-time (JiT) compilation because it reduces JiT time but -fintelfpga forces ahead-of-time (AoT) compilation. As an aside, if you are targeting an FPGA, why aren't you simply using "-fintelfpga"? Its purpose is to make targeting an FPGA easier so you don't have to deal with all these flags yourself. |
Thanks for the hint!
As far as I understand the documentation |
In view of the extensive existing documentation at https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top.html, I would suggest re-assessing whether the issue is still relevant. |
Well, what does this flag do exactly? According to the official Intel documentation it is equivalent to |
Hm... it looks like a bug to me. I thought that -fintelfpga is a short alias for setting compiler flags defaults for FPGA target and that |
The option is documented in https://github.com/intel/llvm/blob/sycl/sycl/doc/UsersManual.md#intel-fpga-specific-options. |
According to @GarveyJoe a few comments above additional flags were added to |
Over time, @mdtoguchi has minimized the gap between the |
The differences are |
So the |
Use of |
Hi! There have been no updates for at least the last 60 days, though the ticket has assignee(s). @mdtoguchi, could I ask you to take one of the following actions? :)
Thanks! |
Hi! There have been no updates for at least the last 60 days, though the issue has assignee(s). @mdtoguchi, could you please take one of the following actions:
Thanks! |
3 similar comments
Hi! There have been no updates for at least the last 60 days, though the issue has assignee(s). @mdtoguchi, could you please take one of the following actions:
Thanks! |
Hi! There have been no updates for at least the last 60 days, though the issue has assignee(s). @mdtoguchi, could you please take one of the following actions:
Thanks! |
Hi! There have been no updates for at least the last 60 days, though the issue has assignee(s). @mdtoguchi, could you please take one of the following actions:
Thanks! |
Unassigning Michael for further work. |
Is there any documentation about the
-fintelfpga
flag ?I've tried to build the simply SYCL application from the getting started page with
but that failed with
Where do I get
aoc
(apart from the oneAPI beta) ?One installed, Is there any way to point the location of
aoc
toclang++
, other than having it in thePATH
?I've also tried to build multiple backends at the same time, bit I got the error
Is that a design choice, or just a short term issue to be improved later ?
The text was updated successfully, but these errors were encountered: