Skip to content

Building with -fsycl-targets #20745

@frenchwr

Description

@frenchwr

Hi there, I'm working on creating a deb package of oneMath, which will be built using an already-created deb of DPC++ (version 6.2.0, in a PPA for now) that I am using to build oneMath.

Which of the fsycl-targets from this page are supported with the open source DPC++ compiler?

I ask because for the portFFT backend in oneMath, the build docs suggest using -fsycl-targets option for the best performance on Intel GPUs. Without this flag, oneMath builds fine, but if I try something like -fsycl-targets=spir64_gen or even -fsycl-targets=spir64_x64_64 I get an error:

$ echo "int main(){}" > t.cpp
$ clang++-dpcpp -fsycl -fsycl-targets=spir64_x86_64 t.cpp -o t
llvm-foreach: No such file or directory
clang++-dpcpp: error: x86_64 compiler command failed with exit code 1 (use -v to see invocation)

The build using the default -fsycl-targets=spir64 works fine, so I assume the llvm-foreach error is a red herring, and that instead the problem is that the compiler does not support these targets.

Is that correct? If so, are there special steps I need to follow while building the compiler to enable support for such targets (spir64_x86, spir64_gen)? Or is that a limitation of the open source version of the compiler?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions