[Beignet] [PATCH V2 0/2] Adaptions for LLVM 3.3 / SPIR

Zhigang Gong zhigang.gong at linux.intel.com
Wed Jun 5 18:51:34 PDT 2013


Hi Steven,

Could you do another test with llvm 3.3? As you may already know, we don't plan to support the llvm upstream trunk currently for some reason.

And I am a little confused that how could you build beignet with llvm 3.4 successfully. You could check the llvm_gen_backend.cpp, you can find the following code:
#if (LLVM_VERSION_MAJOR != 3) || (LLVM_VERSION_MINOR > 3)
#error "Only LLVM 3.0 - 3.3 is supported"
#endif /* (LLVM_VERSION_MAJOR != 3) || (LLVM_VERSION_MINOR > 3) */

So if you build it with llvm 3.4, it should fail there.

Anyway, Thanks for your testing, and if you still met failures with llvm 3.3 on your system, please let me know.

> -----Original Message-----
> From: Steven Newbury [mailto:steve at snewbury.org.uk]
> Sent: Thursday, June 06, 2013 5:53 AM
> To: Yang, Rong R
> Cc: Zhigang Gong; beignet at lists.freedesktop.org
> Subject: Re: [Beignet] [PATCH V2 0/2] Adaptions for LLVM 3.3 / SPIR
> 
> On Wed, 2013-06-05 at 07:12 +0000, Yang, Rong R wrote:
> > Pass in 32bit ubuntu with clang/llvm 3.1 and 3.2.
> >
> Just tested with clang/llvm 3.4 (upstream trunk) on Gentoo.  Test results
> below.
> 
> > -----Original Message-----
> > From: beignet-bounces+rong.r.yang=intel.com at lists.freedesktop.org
> > [mailto:beignet-bounces+rong.r.yang=intel.com at lists.freedesktop.org]
> > On Behalf Of Zhigang Gong
> > Sent: Wednesday, June 05, 2013 2:39 PM
> > To: beignet at lists.freedesktop.org
> > Cc: Zhigang Gong
> > Subject: [Beignet] [PATCH V2 0/2] Adaptions for LLVM 3.3 / SPIR
> >
> > As we just applied some patches which conflicts with Dag's origin patch, I
> rebase it to the latest HEAD. And made minor change on it.
> >
> > Now I call for more guys to test this patch on your system. What I have
> tested is:
> >
> > FC17 32bit with clang/llvm 3.2, passed.
> > FC17 32bit with clang/llvm 3.3, passed.
> >
> 
> 
> 
> platform number 1
> platform_profile "FULL_PROFILE"
> platform_name "Experiment Intel Gen OCL Driver"
> platform_vendor "Intel"
> platform_version "OpenCL 1.0"
> platform_extensions "cl_khr_byte_addressable_store cl_khr_icd
> cl_khr_gl_sharing"
> device_profile "FULL_PROFILE"
> device_name "Intel HD Graphics Family"
> device_vendor "Intel"
> device_version "OpenCL 1.0"
> device_extensions "cl_khr_byte_addressable_store cl_khr_icd
> cl_khr_gl_sharing"
> 99 image formats are supported
> [CL_R CL_SNORM_INT8]
> [CL_R CL_SNORM_INT16]
> [CL_R CL_UNORM_INT8]
> [CL_R CL_UNORM_INT16]
> [CL_R CL_SIGNED_INT8]
> [CL_R CL_SIGNED_INT16]
> [CL_R CL_SIGNED_INT32]
> [CL_R CL_UNSIGNED_INT8]
> [CL_R CL_UNSIGNED_INT16]
> [CL_R CL_UNSIGNED_INT32]
> [CL_R CL_HALF_FLOAT]
> [CL_R CL_FLOAT]
> [CL_A CL_SNORM_INT8]
> [CL_A CL_SNORM_INT16]
> [CL_A CL_UNORM_INT8]
> [CL_A CL_UNORM_INT16]
> [CL_A CL_SIGNED_INT8]
> [CL_A CL_SIGNED_INT16]
> [CL_A CL_SIGNED_INT32]
> [CL_A CL_UNSIGNED_INT8]
> [CL_A CL_UNSIGNED_INT16]
> [CL_A CL_UNSIGNED_INT32]
> [CL_A CL_HALF_FLOAT]
> [CL_A CL_FLOAT]
> [CL_RG CL_SNORM_INT8]
> [CL_RG CL_SNORM_INT16]
> [CL_RG CL_UNORM_INT8]
> [CL_RG CL_UNORM_INT16]
> [CL_RG CL_SIGNED_INT8]
> [CL_RG CL_SIGNED_INT16]
> [CL_RG CL_SIGNED_INT32]
> [CL_RG CL_UNSIGNED_INT8]
> [CL_RG CL_UNSIGNED_INT16]
> [CL_RG CL_UNSIGNED_INT32]
> [CL_RG CL_HALF_FLOAT]
> [CL_RG CL_FLOAT]
> [CL_RA CL_SNORM_INT8]
> [CL_RA CL_SNORM_INT16]
> [CL_RA CL_UNORM_INT8]
> [CL_RA CL_UNORM_INT16]
> [CL_RA CL_SIGNED_INT8]
> [CL_RA CL_SIGNED_INT16]
> [CL_RA CL_SIGNED_INT32]
> [CL_RA CL_UNSIGNED_INT8]
> [CL_RA CL_UNSIGNED_INT16]
> [CL_RA CL_UNSIGNED_INT32]
> [CL_RA CL_HALF_FLOAT]
> [CL_RA CL_FLOAT]
> [CL_RGB CL_UNORM_INT_101010]
> [CL_RGBA CL_SNORM_INT8]
> [CL_RGBA CL_SNORM_INT16]
> [CL_RGBA CL_UNORM_INT8]
> [CL_RGBA CL_UNORM_INT16]
> [CL_RGBA CL_SIGNED_INT8]
> [CL_RGBA CL_SIGNED_INT16]
> [CL_RGBA CL_SIGNED_INT32]
> [CL_RGBA CL_UNSIGNED_INT8]
> [CL_RGBA CL_UNSIGNED_INT16]
> [CL_RGBA CL_UNSIGNED_INT32]
> [CL_RGBA CL_HALF_FLOAT]
> [CL_RGBA CL_FLOAT]
> [CL_BGRA CL_UNORM_INT8]
> [CL_INTENSITY CL_SNORM_INT8]
> [CL_INTENSITY CL_SNORM_INT16]
> [CL_INTENSITY CL_UNORM_INT8]
> [CL_INTENSITY CL_UNORM_INT16]
> [CL_INTENSITY CL_SIGNED_INT8]
> [CL_INTENSITY CL_SIGNED_INT16]
> [CL_INTENSITY CL_SIGNED_INT32]
> [CL_INTENSITY CL_UNSIGNED_INT8]
> [CL_INTENSITY CL_UNSIGNED_INT16]
> [CL_INTENSITY CL_UNSIGNED_INT32]
> [CL_INTENSITY CL_HALF_FLOAT]
> [CL_INTENSITY CL_FLOAT]
> [CL_LUMINANCE CL_SNORM_INT8]
> [CL_LUMINANCE CL_SNORM_INT16]
> [CL_LUMINANCE CL_UNORM_INT8]
> [CL_LUMINANCE CL_UNORM_INT16]
> [CL_LUMINANCE CL_SIGNED_INT8]
> [CL_LUMINANCE CL_SIGNED_INT16]
> [CL_LUMINANCE CL_SIGNED_INT32]
> [CL_LUMINANCE CL_UNSIGNED_INT8]
> [CL_LUMINANCE CL_UNSIGNED_INT16]
> [CL_LUMINANCE CL_UNSIGNED_INT32]
> [CL_LUMINANCE CL_HALF_FLOAT]
> [CL_LUMINANCE CL_FLOAT]
> [CL_Rx CL_SNORM_INT8]
> [CL_Rx CL_SNORM_INT16]
> [CL_Rx CL_UNORM_INT8]
> [CL_Rx CL_UNORM_INT16]
> [CL_Rx CL_SIGNED_INT8]
> [CL_Rx CL_SIGNED_INT16]
> [CL_Rx CL_SIGNED_INT32]
> [CL_Rx CL_UNSIGNED_INT8]
> [CL_Rx CL_UNSIGNED_INT16]
> [CL_Rx CL_UNSIGNED_INT32]
> [CL_Rx CL_HALF_FLOAT]
> [CL_Rx CL_FLOAT]
> [CL_RGBx CL_UNORM_INT_101010]
> test_create_kernel:
>   test_create_kernel()    [SUCCESS]
> 
> displacement_map_element:
>   displacement_map_element()    [SUCCESS]
> 
> compiler_clod:
>   compiler_clod()    [SUCCESS]
> 
> compiler_ribbon:
>   compiler_ribbon()    [SUCCESS]
> 
> compiler_nautilus:
>   compiler_nautilus()    [SUCCESS]
> 
> compiler_menger_sponge_no_shadow:
>   compiler_menger_sponge_no_shadow()    [SUCCESS]
> 
> compiler_julia:
>   compiler_julia()    [SUCCESS]
> 
> compiler_julia_no_break:
>   compiler_julia_no_break()    [SUCCESS]
> 
> compiler_mandelbrot:
>   compiler_mandelbrot()    [SUCCESS]
> 
> compiler_mandelbrot_alternate:
>   compiler_mandelbrot_alternate()    [SUCCESS]
> 
> compiler_box_blur_float:
>   compiler_box_blur_float()    [SUCCESS]
> 
> compiler_box_blur_image:
>   compiler_box_blur_image()    [SUCCESS]
> 
> compiler_box_blur:
>   compiler_box_blur()    [SUCCESS]
> 
> compiler_insert_to_constant:
>   compiler_insert_to_constant()    [SUCCESS]
> 
> compiler_argument_structure:
>   compiler_argument_structure()    [SUCCESS]
> 
> compiler_arith_shift_right:
>   compiler_arith_shift_right()    [SUCCESS]
> 
> compiler_array0:
>   compiler_array0()    [SUCCESS]
> 
> compiler_array:
>   compiler_array()    [SUCCESS]
> 
> compiler_array1:
>   compiler_array1()    [SUCCESS]
> 
> compiler_array2:
>   compiler_array2()    [SUCCESS]
> 
> compiler_array3:
>   compiler_array3()    [SUCCESS]
> 
> compiler_byte_scatter:
>   compiler_byte_scatter()    [FAILED]
>     Error: ((int8_t*)buf_data[0])[i] == (int8_t) i
>   at
> file
> /var/tmp/portage/dev-libs/beignet-9999/work/beignet-9999/utests/compiler_
> byte_scatter.cpp, function compiler_byte_scatter, line 20
> 
> compiler_ceil:
>   compiler_ceil()    [SUCCESS]
> 
> compiler_convert_uchar_sat:
>   compiler_convert_uchar_sat()    [SUCCESS]
> 
> compiler_copy_buffer:
>   compiler_copy_buffer()    [SUCCESS]
> 
> compiler_copy_image:
>   compiler_copy_image()    [SUCCESS]
> 
> compiler_copy_image_3d:
>   compiler_copy_image_3d()    [SUCCESS]
> 
> compiler_copy_buffer_row:
>   compiler_copy_buffer_row()    [SUCCESS]
> 
> compiler_fabs:
>   compiler_fabs()    [SUCCESS]
> 
> compiler_fill_image:
>   compiler_fill_image()    [SUCCESS]
> 
> compiler_fill_image0:
>   compiler_fill_image0()    [SUCCESS]
> 
> compiler_fill_image_3d:
>   compiler_fill_image_3d()    [SUCCESS]
> 
> compiler_fill_image_3d_2:
>   compiler_fill_image_3d_2()    [SUCCESS]
> 
> compiler_function_argument0:
>   compiler_function_argument0()    [SUCCESS]
> 
> compiler_function_argument1:
>   compiler_function_argument1()    [SUCCESS]
> 
> compiler_function_argument:
>   compiler_function_argument()    [SUCCESS]
> 
> compiler_function_constant0:
>   compiler_function_constant0()    [SUCCESS]
> 
> compiler_function_constant1:
>   compiler_function_constant1()    [SUCCESS]
> 
> compiler_function_constant:
>   compiler_function_constant()    [SUCCESS]
> 
> compiler_global_constant:
>   compiler_global_constant()    [SUCCESS]
> 
> compiler_global_constant_2:
>   compiler_global_constant_2()    [SUCCESS]
> 
> compiler_group_size1:
>   compiler_group_size1()    [SUCCESS]
> 
> compiler_group_size2:
>   compiler_group_size2()    [SUCCESS]
> 
> compiler_group_size3:
>   compiler_group_size3()    [SUCCESS]
> 
> compiler_if_else:
>   compiler_if_else()    [SUCCESS]
> 
> compiler_integer_division:
>   compiler_integer_division()    [SUCCESS]
> 
> compiler_integer_remainder:
>   compiler_integer_remainder()    [SUCCESS]
> 
> compiler_lower_return0:
>   compiler_lower_return0()    [SUCCESS]
> 
> compiler_lower_return1:
>   compiler_lower_return1()    [SUCCESS]
> 
> compiler_lower_return2:
>   compiler_lower_return2()    [SUCCESS]
> 
> compiler_multiple_kernels:
>   compiler_multiple_kernels()    [SUCCESS]
> 
> compiler_saturate_int8_t:
>   compiler_saturate_int8_t()    [SUCCESS]
> 
> compiler_saturate_uint8_t:
>   compiler_saturate_uint8_t()    [SUCCESS]
> 
> compiler_saturate_int16_t:
>   compiler_saturate_int16_t()    [SUCCESS]
> 
> compiler_saturate_uint16_t:
>   compiler_saturate_uint16_t()    [SUCCESS]
> 
> compiler_saturate_int32_t:
>   compiler_saturate_int32_t()    [SUCCESS]
> 
> compiler_saturate_uint32_t:
>   compiler_saturate_uint32_t()    [SUCCESS]
> 
> compiler_saturate_sub_int8_t:
>   compiler_saturate_sub_int8_t()    [SUCCESS]
> 
> compiler_saturate_sub_uint8_t:
>   compiler_saturate_sub_uint8_t()    [SUCCESS]
> 
> compiler_saturate_sub_int16_t:
>   compiler_saturate_sub_int16_t()    [SUCCESS]
> 
> compiler_saturate_sub_uint16_t:
>   compiler_saturate_sub_uint16_t()    [SUCCESS]
> 
> compiler_saturate_sub_uint32_t:
>   compiler_saturate_sub_uint32_t()    [SUCCESS]
> 
> compiler_shift_right:
>   compiler_shift_right()    [SUCCESS]
> 
> compiler_short_scatter:
>   compiler_short_scatter()    [SUCCESS]
> 
> compiler_sub_bytes:
>   compiler_sub_bytes()    [SUCCESS]
> 
> compiler_sub_shorts:
>   compiler_sub_shorts()    [SUCCESS]
> 
> compiler_uint2_copy:
>   compiler_uint2_copy()    [SUCCESS]
> 
> compiler_uint3_copy:
>   compiler_uint3_copy()    [SUCCESS]
> 
> compiler_uint8_copy:
>   compiler_uint8_copy()    [SUCCESS]
> 
> compiler_uint16_copy:
>   compiler_uint16_copy()    [SUCCESS]
> 
> compiler_uint3_unaligned_copy:
>   compiler_uint3_unaligned_copy()    [SUCCESS]
> 
> compiler_unstructured_branch0:
>   compiler_unstructured_branch0()    [SUCCESS]
> 
> compiler_unstructured_branch1:
>   compiler_unstructured_branch1()    [SUCCESS]
> 
> compiler_unstructured_branch2:
>   compiler_unstructured_branch2()    [SUCCESS]
> 
> compiler_unstructured_branch3:
>   compiler_unstructured_branch3()    [SUCCESS]
> 
> compiler_write_only_bytes:
>   compiler_write_only_bytes()    [SUCCESS]
> 
> compiler_write_only:
>   compiler_write_only()    [SUCCESS]
> 
> compiler_write_only_shorts:
>   compiler_write_only_shorts()    [SUCCESS]
> 
> compiler_switch:
>   compiler_switch()    [SUCCESS]
> 
> compiler_math:
>   compiler_math()    [SUCCESS]
> 
> compiler_insn_selection_min:
>   compiler_insn_selection_min()    [SUCCESS]
> 
> compiler_insn_selection_max:
>   compiler_insn_selection_max()    [SUCCESS]
> 
> compiler_insn_selection_masked_min_max:
>   compiler_insn_selection_masked_min_max()    [SUCCESS]
> 
> compiler_local_memory:
>   compiler_local_memory()    [SUCCESS]
> 
> compiler_local_memory_two_ptr:
>   compiler_local_memory_two_ptr()    [SUCCESS]
> 
> compiler_local_memory_barrier:
>   compiler_local_memory_barrier()    [SUCCESS]
> 
> compiler_local_memory_barrier_wg64:
>   compiler_local_memory_barrier_wg64()    [SUCCESS]
> 
> compiler_movforphi_undef:
>   compiler_movforphi_undef()    [SUCCESS]
> 
> compiler_volatile:
>   compiler_volatile()    [SUCCESS]
> 
> compiler_copy_image1:
>   compiler_copy_image1()    [SUCCESS]
> 
> compiler_get_image_info:
>   compiler_get_image_info()    [SUCCESS]
> 
> compiler_vector_char2_load_store:
>   compiler_vector_char2_load_store()    [SUCCESS]
> 
> compiler_vector_char3_load_store:
>   compiler_vector_char3_load_store()    [SUCCESS]
> 
> compiler_vector_char4_load_store:
>   compiler_vector_char4_load_store()    [SUCCESS]
> 
> compiler_vector_char8_load_store:
>   compiler_vector_char8_load_store()    [SUCCESS]
> 
> compiler_vector_char16_load_store:
>   compiler_vector_char16_load_store()    [SUCCESS]
> 
> compiler_vector_uchar2_load_store:
>   compiler_vector_uchar2_load_store()    [SUCCESS]
> 
> compiler_vector_uchar3_load_store:
>   compiler_vector_uchar3_load_store()    [SUCCESS]
> 
> compiler_vector_uchar4_load_store:
>   compiler_vector_uchar4_load_store()    [SUCCESS]
> 
> compiler_vector_uchar8_load_store:
>   compiler_vector_uchar8_load_store()    [SUCCESS]
> 
> compiler_vector_uchar16_load_store:
>   compiler_vector_uchar16_load_store()    [SUCCESS]
> 
> compiler_vector_short2_load_store:
>   compiler_vector_short2_load_store()    [SUCCESS]
> 
> compiler_vector_short3_load_store:
>   compiler_vector_short3_load_store()    [SUCCESS]
> 
> compiler_vector_short4_load_store:
>   compiler_vector_short4_load_store()    [SUCCESS]
> 
> compiler_vector_short8_load_store:
>   compiler_vector_short8_load_store()    [SUCCESS]
> 
> compiler_vector_short16_load_store:
>   compiler_vector_short16_load_store()    [SUCCESS]
> 
> compiler_vector_ushort2_load_store:
>   compiler_vector_ushort2_load_store()    [SUCCESS]
> 
> compiler_vector_ushort3_load_store:
>   compiler_vector_ushort3_load_store()    [SUCCESS]
> 
> compiler_vector_ushort4_load_store:
>   compiler_vector_ushort4_load_store()    [SUCCESS]
> 
> compiler_vector_ushort8_load_store:
>   compiler_vector_ushort8_load_store()    [SUCCESS]
> 
> compiler_vector_ushort16_load_store:
>   compiler_vector_ushort16_load_store()    [SUCCESS]
> 
> compiler_vector_int2_load_store:
>   compiler_vector_int2_load_store()    [SUCCESS]
> 
> compiler_vector_int3_load_store:
>   compiler_vector_int3_load_store()    [FAILED]
>     Error: ((T*)buf_data[1])[i] == (T)(((T*)buf_data[0])[i] + shift)
>   at
> file
> /var/tmp/portage/dev-libs/beignet-9999/work/beignet-9999/utests/compiler_
> vector_load_store.cpp, function compiler_vector_load_store, line 30
> 
> compiler_vector_int4_load_store:
>   compiler_vector_int4_load_store()    [SUCCESS]
> 
> compiler_vector_int8_load_store:
>   compiler_vector_int8_load_store()    [SUCCESS]
> 
> compiler_vector_int16_load_store:
>   compiler_vector_int16_load_store()    [SUCCESS]
> 
> compiler_vector_uint2_load_store:
>   compiler_vector_uint2_load_store()    [SUCCESS]
> 
> compiler_vector_uint3_load_store:
>   compiler_vector_uint3_load_store()    [SUCCESS]
> 
> compiler_vector_uint4_load_store:
>   compiler_vector_uint4_load_store()    [SUCCESS]
> 
> compiler_vector_uint8_load_store:
>   compiler_vector_uint8_load_store()    [SUCCESS]
> 
> compiler_vector_uint16_load_store:
>   compiler_vector_uint16_load_store()    [SUCCESS]
> 
> compiler_vector_float2_load_store:
>   compiler_vector_float2_load_store()    [SUCCESS]
> 
> compiler_vector_float3_load_store:
>   compiler_vector_float3_load_store()    [SUCCESS]
> 
> compiler_vector_float4_load_store:
>   compiler_vector_float4_load_store()    [SUCCESS]
> 
> compiler_vector_float8_load_store:
>   compiler_vector_float8_load_store()    [SUCCESS]
> 
> compiler_vector_float16_load_store:
>   compiler_vector_float16_load_store()    [SUCCESS]
> 
> buildin_work_dim:
>   buildin_work_dim()    [SUCCESS]
> 
> runtime_createcontextfromtype:
>   runtime_createcontextfromtype()    [SUCCESS]
> 
> compiler_fill_gl_image:
>   compiler_fill_gl_image()    [SUCCESS]
> 




More information about the Beignet mailing list