[Beignet] [PATCH 2/2] Fix two tests fail when OCL_SIMD_WIDTH=8.

Zhigang Gong zhigang.gong at linux.intel.com
Sun Jun 9 00:51:38 PDT 2013


Pushed, thanks for the patchset.

On Sat, Jun 08, 2013 at 12:33:37PM +0800, Yang Rong wrote:
> Add barrier for compiler_local_memory and compiler_local_memory_two_ptr,
> otherwise tests may fail if work group size bigger than thread's simd size.
> 
> After add barrier, the test compiler_local_memory is same as
> compiler_local_memory_barrier, so delete test compiler_local_memory.
> 
> Signed-off-by: Yang Rong <rong.r.yang at intel.com>
> ---
>  kernels/compiler_local_memory.cl         |    5 ----
>  kernels/compiler_local_memory_two_ptr.cl |    1 +
>  utests/CMakeLists.txt                    |    1 -
>  utests/compiler_local_memory.cpp         |   47 ------------------------------
>  4 files changed, 1 insertion(+), 53 deletions(-)
>  delete mode 100644 kernels/compiler_local_memory.cl
>  delete mode 100644 utests/compiler_local_memory.cpp
> 
> diff --git a/kernels/compiler_local_memory.cl b/kernels/compiler_local_memory.cl
> deleted file mode 100644
> index daadd66..0000000
> --- a/kernels/compiler_local_memory.cl
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -__kernel void compiler_local_memory(__global int *dst, __local int *src) {
> -  src[get_local_id(0)] = get_local_id(0);
> -  dst[get_global_id(0)] = src[15 - get_local_id(0)];
> -}
> -
> diff --git a/kernels/compiler_local_memory_two_ptr.cl b/kernels/compiler_local_memory_two_ptr.cl
> index f410406..46589ba 100644
> --- a/kernels/compiler_local_memory_two_ptr.cl
> +++ b/kernels/compiler_local_memory_two_ptr.cl
> @@ -4,6 +4,7 @@ __kernel void compiler_local_memory_two_ptr(__global int *dst,
>  {
>    src0[get_local_id(0)] = get_local_id(0);
>    src1[get_local_id(0)] = get_global_id(0);
> +  barrier(CLK_LOCAL_MEM_FENCE);
>    dst[get_global_id(0)] = src0[15 - get_local_id(0)] + src1[15 - get_local_id(0)];
>  }
>  
> diff --git a/utests/CMakeLists.txt b/utests/CMakeLists.txt
> index 56685b0..d883cfd 100644
> --- a/utests/CMakeLists.txt
> +++ b/utests/CMakeLists.txt
> @@ -71,7 +71,6 @@ set (utests_sources
>    compiler_insn_selection_min.cpp
>    compiler_insn_selection_max.cpp
>    compiler_insn_selection_masked_min_max.cpp
> -  compiler_local_memory.cpp
>    compiler_local_memory_two_ptr.cpp
>    compiler_local_memory_barrier.cpp
>    compiler_local_memory_barrier_wg64.cpp
> diff --git a/utests/compiler_local_memory.cpp b/utests/compiler_local_memory.cpp
> deleted file mode 100644
> index 49fa28c..0000000
> --- a/utests/compiler_local_memory.cpp
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -/* 
> - * Copyright © 2012 Intel Corporation
> - *
> - * This library is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU Lesser General Public
> - * License as published by the Free Software Foundation; either
> - * version 2 of the License, or (at your option) any later version.
> - *
> - * This library is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * Lesser General Public License for more details.
> - *
> - * You should have received a copy of the GNU Lesser General Public
> - * License along with this library. If not, see <http://www.gnu.org/licenses/>.
> - *
> - * Author: Benjamin Segovia <benjamin.segovia at intel.com>
> - */
> -
> -#include "utest_helper.hpp"
> -
> -static void compiler_local_memory(void)
> -{
> -  const size_t n = 1024;
> -
> -  // Setup kernel and buffers
> -  OCL_CREATE_KERNEL("compiler_local_memory");
> -  OCL_CREATE_BUFFER(buf[0], 0, n * sizeof(uint32_t), NULL);
> -  OCL_SET_ARG(0, sizeof(cl_mem), &buf[0]);
> -  OCL_SET_ARG(1, 64, NULL); // 16 x int
> -
> -  // Run the kernel
> -  globals[0] = n;
> -  locals[0] = 16;
> -  OCL_NDRANGE(1);
> -  OCL_MAP_BUFFER(0);
> -
> -  // Check results
> -  uint32_t *dst = (uint32_t*)buf_data[0];
> -  for (uint32_t i = 0; i < n; i+=16)
> -  for (uint32_t j = 0; j < 16; ++j)
> -    OCL_ASSERT(dst[i+j] == 15-j);
> -}
> -
> -MAKE_UTEST_FROM_FUNCTION(compiler_local_memory);
> -
> -
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list