- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When using dpcpp to compile for an FPGA target, is there a way to
control the number of threads that the Quartus tools can use?
sh,80458 -c cd ../oneAPI-samples/DirectProgramming/DPC++FPGA/ReferenceDesigns/crr/build/src && ../intel/2021.1.0.2659/compiler/2021.1.1/linux/bin/dpcpp -Xsparallel=12 -I../intel/2021.1.0.2659/dev-utilities/2021.1.1/include -fintelfpga -Xshardware -Xsdaz -Xsrounding=faithful -Xsparallel=2 -Xsseed=4 -Xsboard=s10:p520_max_sg280l -DOUTER_UNROLL=2 -DINNER_UNROLL=64 -DOUTER_UNROLL_POW2=2 crr_fpga.o -o ../oneAPI-samples/DirectProgramming/DPC++FPGA/ReferenceDesigns/crr/build/crr.fpga
└─dpcpp,80459 -I../intel/2021.1.0.2659/dev-utilities/2021.1.1/include -fintelfpga -Xshardware -Xsdaz -Xsrounding=faithful -Xsparallel=2 -Xsseed=4 -Xsboard=s10:p520_max_sg280l -DOUTER_UNROLL=2 -DINNER_UNROLL=64 -DOUTER_UNROLL_POW2=2 crr_fpga.o -o ../oneAPI-samples/DirectProgramming/DPC++FPGA/ReferenceDesigns/crr/build/crr.fpga
└─clang++,80460 --dpcpp -fsycl -I../intel/2021.1.0.2659/dev-utilities/2021.1.1/include -fintelfpga -Xshardware -Xsdaz -Xsrounding=faithful -Xsparallel=2 -Xsseed=4 -Xsboard=s10:p520_max_sg280l -DOUTER_UNROLL=2 -DINNER_UNROLL=64 -DOUTER_UNROLL_POW2=2 crr_fpga.o -o ../oneAPI-samples/DirectProgramming/DPC++FPGA/ReferenceDesigns/crr/build/crr.fpga
└─perl,80472 ../intel/2021.1.0.2659/compiler/2021.1.1/linux/lib/oclfpga/share/lib/perl/acl/aoc.pl -o /tmp/crr_fpga-32e90b.aocx /tmp/crr_fpga-54488f.spv -sycl -dep-files=/tmp/crr_fpga-2de1d6.d -output-report-folder=../oneAPI-samples/DirectProgramming/DPC++FPGA/ReferenceDesigns/crr/build/crr.prj -g -hardware -daz -rounding=faithful -parallel=2 -seed=4 -board=s10:p520_max_sg280l
Passing -Xsparallel=<x> is overridden.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @CHughes,
Thank you for posting in Intel community forum and hope all is well.
There are a list of compilation flag and one of it is to specify the thread number, more details can be found in the link here.
Please do review through the command and let us know if that clarify your doubts.
Best Wishes
BB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From my initial post, Xsparallel is overwritten.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @CHughes,
Apologies as overlooked that, mind if I ask how/what command are used to invoke the dpc++ compiler?
As notice above the Xsparallel are specified twice.
Additionally, where are the above message coming from? And are you using the Intel devcloud for the compilation?
Hope to hear from you soon.
Best Wishes,
BB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the process tree for the aoc.pl perl script. The user run line is:
dpcpp -Xsparallel=12 -I../intel/2021.1.0.2659/dev-utilities/2021.1.1/include -fintelfpga -Xshardware -Xsdaz -Xsrounding=faithful -Xsparallel=2 -Xsseed=4 -Xsboard=s10:p520_max_sg280l -DOUTER_UNROLL=2 -DINNER_UNROLL=64 -DOUTER_UNROLL_POW2=2
Everything below that is the dpcpp -> quartus toolchain, which is invoked automatically (user has no control).
~Clay
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @CHughes,
Is the mention aoc.pl perl script being used to build the oneapi project?
Unfortunately the mention build flow is not a typical build flow we have here, would you be able to share more details on the steps needed and also the perl script for us to check further? Or any guide that you are following?
As well, the mention run line seems to specify Xsparallel twice which might cause the overwritten.
While mention that user have no control over it, hence would suggest perhaps to use the makefile to compile the oneapi project instead. (more reference can be found here)
Hope that clarify.
Best Wishes
BB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
aoc.pl is called by dpcpp (there is nothing irregular about the compilation process); you can see the tree above: dpcpp->clang->perl. The user specified Xsparallel is being passed down but the Intel tools are inserting a duplicate, which is likely causing the user value to be overwritten.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @CHughes,
Good day, just following up on the previous clarification.
By any chances did you managed to look into the it?
Best Wishes
BB
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page