Пример #1
0
def _get_fast_ew_dims(size):

    # TODO: I can probably do much better than this code below,
    # but I think most tensors are evenly divisable by 256 off the bat.
    ew_size = 256
    while ew_size > 0:
        if size % ew_size == 0:
            break
        ew_size -= 32
    if ew_size == 0:
        ew_size = 255
        while ew_size > 0:
            if size % ew_size == 0:
                break
            ew_size -= 1

    shape = (size // ew_size, ew_size)
    return (shape, ng._contiguous_strides(shape))
Пример #2
0
def _get_fast_ew_dims(size):

    # TODO: I can probably do much better than this code below,
    # but I think most tensors are evenly divisable by 256 off the bat.
    ew_size = 256
    while ew_size > 0:
        if size % ew_size == 0:
            break
        ew_size -= 32
    if ew_size == 0:
        ew_size = 255
        while ew_size > 0:
            if size % ew_size == 0:
                break
            ew_size -= 1

    shape = (size // ew_size, ew_size)
    return (shape, ng._contiguous_strides(shape))