Building samples using the CMake command provided in the README fails when LZ support is enabled because an empty target device is passed to the compiler.
Steps to reproduce:
Run the following command as documented in the README:
cmake .. -DSYNERGY_BUILD_SAMPLES=ON -DSYNERGY_SYCL_IMPL=DPC++ -DSYNERGY_LZ_SUPPORT=ON
Observed behavior:
The build fails with a compilation error caused by an empty value being passed to the compiler option “-device”. This indicates that the sample build expects a target device architecture, but none is set by default when LZ support is enabled.
Expected behavior:
Building samples with LZ support enabled should either work out of the box with a reasonable default device architecture or clearly report that an explicit architecture must be specified.
Workaround / resolution:
The build succeeds when explicitly providing the sample LZ architecture:
cmake .. -DSYNERGY_BUILD_SAMPLES=ON -DSYNERGY_SYCL_IMPL=DPC++ -DSYNERGY_LZ_SUPPORT=ON -DSYNERGY_SAMPLES_LZ_ARCH=pvc
Suggested improvement:
Document the requirement for SYNERGY_SAMPLES_LZ_ARCH in the README when SYNERGY_LZ_SUPPORT is enabled, or define a default value for this variable in CMake to avoid generating an empty “-device” option.
Building samples using the CMake command provided in the README fails when LZ support is enabled because an empty target device is passed to the compiler.
Steps to reproduce:
Run the following command as documented in the README:
cmake .. -DSYNERGY_BUILD_SAMPLES=ON -DSYNERGY_SYCL_IMPL=DPC++ -DSYNERGY_LZ_SUPPORT=ON
Observed behavior:
The build fails with a compilation error caused by an empty value being passed to the compiler option “-device”. This indicates that the sample build expects a target device architecture, but none is set by default when LZ support is enabled.
Expected behavior:
Building samples with LZ support enabled should either work out of the box with a reasonable default device architecture or clearly report that an explicit architecture must be specified.
Workaround / resolution:
The build succeeds when explicitly providing the sample LZ architecture:
cmake .. -DSYNERGY_BUILD_SAMPLES=ON -DSYNERGY_SYCL_IMPL=DPC++ -DSYNERGY_LZ_SUPPORT=ON -DSYNERGY_SAMPLES_LZ_ARCH=pvc
Suggested improvement:
Document the requirement for SYNERGY_SAMPLES_LZ_ARCH in the README when SYNERGY_LZ_SUPPORT is enabled, or define a default value for this variable in CMake to avoid generating an empty “-device” option.