diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index b47324c7..c4a4a97d 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -59,7 +59,7 @@ jobs: BIN: [64] STD: - C: 11 # Utils C library uses C11 functions (e.g. timespec_get) - CXX: 14 + CXX: 14 # Utils C++ library uses C14 types (e.g. integer_sequence) - C: 17 CXX: 17 CONF: @@ -616,7 +616,6 @@ jobs: cmake --build $GITHUB_WORKSPACE/build_install --config Debug --parallel `sysctl -n hw.logicalcpu` `if [[ "${{matrix.GEN}}" == "Xcode" ]]; then echo "-- -quiet"; fi;` python: - if: false name: Exercise Python examples on ${{matrix.os}} strategy: matrix: @@ -653,7 +652,6 @@ jobs: done checkruby: - if: false name: Check Ruby Samples ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -679,7 +677,6 @@ jobs: working-directory: ruby android: - if: false runs-on: ubuntu-latest needs: format strategy: diff --git a/external/OpenCL-CLHPP b/external/OpenCL-CLHPP index 375f6417..826abb16 160000 --- a/external/OpenCL-CLHPP +++ b/external/OpenCL-CLHPP @@ -1 +1 @@ -Subproject commit 375f6417322ce364c71aa1dca235d86179f1a64a +Subproject commit 826abb167a253164e784e490eba208be138ea9af diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index 0834853a..b9635d99 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -130,17 +130,18 @@ macro(add_sample) ) foreach(CONFIG ${OPENCL_SAMPLE_CONFIGS}) - install(TARGETS ${OPENCL_SAMPLE_TARGET} CONFIGURATIONS ${CONFIG} DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES ${OPENCL_SAMPLE_KERNELS} CONFIGURATIONS ${CONFIG} DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES ${OPENCL_SAMPLE_SHADERS} CONFIGURATIONS ${CONFIG} DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS ${OPENCL_SAMPLE_TARGET} CONFIGURATIONS ${CONFIG} DESTINATION ${CMAKE_INSTALL_BINDIR}/${CONFIG}) + install(FILES ${OPENCL_SAMPLE_KERNELS} CONFIGURATIONS ${CONFIG} DESTINATION ${CMAKE_INSTALL_BINDIR}/${CONFIG}) + install(FILES ${OPENCL_SAMPLE_SHADERS} CONFIGURATIONS ${CONFIG} DESTINATION ${CMAKE_INSTALL_BINDIR}/${CONFIG}) + if(OPENCL_SDK_TEST_SAMPLES AND OPENCL_SAMPLE_TEST) + add_test( + NAME "${OPENCL_SAMPLE_TARGET}_${CONFIG}" + COMMAND ${OPENCL_SAMPLE_TARGET} + CONFIGURATIONS ${CONFIG} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + ) + endif() endforeach() - if(OPENCL_SDK_TEST_SAMPLES AND OPENCL_SAMPLE_TEST) - add_test( - NAME ${OPENCL_SAMPLE_TARGET} - COMMAND ${OPENCL_SAMPLE_TARGET} - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - ) - endif() endmacro() diff --git a/samples/core/blur/main.c b/samples/core/blur/main.c index f6df0eaa..47b047f7 100644 --- a/samples/core/blur/main.c +++ b/samples/core/blur/main.c @@ -1119,8 +1119,9 @@ int main(int argc, char *argv[]) printf("Dual-pass subgroup relative exchange blur\n"); kernel_op[0] = '\0'; + // cl_khr_subgroup_shuffle_relative requires OpenCL 2.0 + strcat(kernel_op, " -cl-std=CL2.0 "); strcat(kernel_op, "-D USE_SUBGROUP_EXCHANGE_RELATIVE "); - OCLERROR_RET(dual_pass_subgroup_exchange_box_blur( &s, (cl_int)blur_opts.size), error, prg); @@ -1130,6 +1131,8 @@ int main(int argc, char *argv[]) printf("Dual-pass subgroup exchange blur\n"); kernel_op[0] = '\0'; + // cl_khr_subgroup_shuffle requires OpenCL 2.0 + strcat(kernel_op, " -cl-std=CL2.0 "); strcat(kernel_op, "-D USE_SUBGROUP_EXCHANGE "); OCLERROR_RET(dual_pass_subgroup_exchange_box_blur( @@ -1173,6 +1176,8 @@ int main(int argc, char *argv[]) printf("Dual-pass subgroup relative exchange Gaussian blur\n"); kernel_op[0] = '\0'; + // cl_khr_subgroup_shuffle_relative requires OpenCL 2.0 + strcat(kernel_op, " -cl-std=CL2.0 "); strcat(kernel_op, "-D USE_SUBGROUP_EXCHANGE_RELATIVE "); OCLERROR_RET(dual_pass_subgroup_exchange_kernel_blur(&s, gauss_size, @@ -1184,6 +1189,8 @@ int main(int argc, char *argv[]) printf("Dual-pass subgroup exchange Gaussian blur\n"); kernel_op[0] = '\0'; + // cl_khr_subgroup_shuffle requires OpenCL 2.0 + strcat(kernel_op, " -cl-std=CL2.0 "); strcat(kernel_op, "-D USE_SUBGROUP_EXCHANGE "); OCLERROR_RET(dual_pass_subgroup_exchange_kernel_blur(&s, gauss_size, diff --git a/samples/core/blur/main.cpp b/samples/core/blur/main.cpp index 1face850..1b724f17 100644 --- a/samples/core/blur/main.cpp +++ b/samples/core/blur/main.cpp @@ -89,8 +89,9 @@ int main(int argc, char* argv[]) { std::cout << "Dual-pass subgroup relative exchange blur" << std::endl; - - blur.build_program("-D USE_SUBGROUP_EXCHANGE_RELATIVE "); + // cl_khr_subgroup_shuffle_relative requires OpenCL 2.0 + blur.build_program( + "-D USE_SUBGROUP_EXCHANGE_RELATIVE -cl-std=CL2.0 "); blur.dual_pass_subgroup_exchange_box_blur(); } @@ -99,8 +100,8 @@ int main(int argc, char* argv[]) if (use_subgroup_exchange) { std::cout << "Dual-pass subgroup exchange blur" << std::endl; - - blur.build_program("-D USE_SUBGROUP_EXCHANGE "); + // cl_khr_subgroup_shuffle requires OpenCL 2.0 + blur.build_program("-D USE_SUBGROUP_EXCHANGE -cl-std=CL2.0 "); blur.dual_pass_subgroup_exchange_box_blur(); } } // Box blur @@ -137,8 +138,9 @@ int main(int argc, char* argv[]) std::cout << "Dual-pass subgroup relative exchange Gaussian blur" << std::endl; - - blur.build_program("-D USE_SUBGROUP_EXCHANGE_RELATIVE "); + // cl_khr_subgroup_shuffle_relative requires OpenCL 2.0 + blur.build_program( + "-D USE_SUBGROUP_EXCHANGE_RELATIVE -cl-std=CL2.0 "); blur.dual_pass_subgroup_exchange_kernel_blur(); } @@ -148,8 +150,8 @@ int main(int argc, char* argv[]) { std::cout << "Dual-pass subgroup exchange Gaussian blur" << std::endl; - - blur.build_program("-D USE_SUBGROUP_EXCHANGE "); + // cl_khr_subgroup_shuffle requires OpenCL 2.0 + blur.build_program("-D USE_SUBGROUP_EXCHANGE -cl-std=CL2.0 "); blur.dual_pass_subgroup_exchange_kernel_blur(); } } // Gaussian blur