Exe from a single command with experimental ComputeCpp


Great to hear about the new experimental version of ComputeCpp. I’m giving it a try on Ubuntu 21.04 just now. I’ve just one small query. Is it possible to create an executable from a single compiler invocation? With established ComputeCpp I could use:

$COMPUTECPP_DIR/bin/compute++ -sycl -O2 -mllvm -inline-threshold=1000 -intelspirmetadata -Wno-unused-command-line-argument -sycl-driver -sycl-target spir64 -no-serial-memop -I $COMPUTECPP_DIR/include -std=c++17 -DSYCL_LANGUAGE_VERSION=202001 -L $COMPUTECPP_DIR/lib -lComputeCpp example-sycl-application.cpp

…but if I set COMPUTECPP_DIR to the new compiler’s location, the command above gives the error:

/usr/bin/ld: /lib/x86_64-linux-gnu/crt1.o: in function _start': (.text+0x24): undefined reference to main’
compute++: error: linker command failed with exit code 1 (use -v to see invocation)

Many thanks,

Hi Paul,
Can you try removing the -sycl flag in your command? It’s not needed when using the -sycl-driver flag and seems to cause a conflict in this situation.
Let me know how that goes.

1 Like

Good computation! Thanks Rod, that works nicely.

1 Like