Пример #1
0
    def get_dev_no_sync_size(device):
        from pyopencl.characterize import get_simd_group_size
        result = get_simd_group_size(device, out_type_size)

        if result is None:
            from warnings import warn
            warn("Reduction might be unnecessarily slow: "
                    "can't query SIMD group size")
            return 1

        return result
Пример #2
0
    def get_dev_no_sync_size(device):
        from pyopencl.characterize import get_simd_group_size
        result = get_simd_group_size(device, out_type_size)

        if result is None:
            from warnings import warn
            warn("Reduction might be unnecessarily slow: "
                 "can't query SIMD group size")
            return 1

        return result
Пример #3
0
def build_preamble_for_context(ctx,preamble=""):
    warp_size=clchar.get_simd_group_size(ctx.devices[0],0)
    
    if(warp_size >= 32):
        preamble += """
                    #define WARPSPEED
                    #define NOWARPBLOCK
                    """
    else:
        preamble +=  """
                    #define NOWARPBLOCK barrier(CLK_LOCAL_MEM_FENCE);
                     """

    return preamble
def build_preamble_for_context(ctx, preamble=""):
    warp_size = clchar.get_simd_group_size(ctx.devices[0], 0)

    if (warp_size >= 32 and False):
        preamble += """
                    #define WARPSPEED
                    #define NOWARPBLOCK
                    """
    else:
        preamble += """
                    #define NOWARPBLOCK barrier(CLK_LOCAL_MEM_FENCE);
                     """

    return preamble