コード例 #1
0
ファイル: functions.py プロジェクト: jakirkham/Clyther
def setslice_kernel(arr, value):
    index = cl.cl_uint4(clrt.get_global_id(0), clrt.get_global_id(1), clrt.get_global_id(2), 0)
    
    
    a_strides = index * arr.strides
    aidx = arr.offset + a_strides.x + a_strides.y + a_strides.z
    
    v_strides = index * value.strides
    vidx = value.offset + v_strides.x + v_strides.y + v_strides.z

    arr[aidx] = value[vidx]
コード例 #2
0
ファイル: ufunc_framework.py プロジェクト: jakirkham/Clyther
def ufunc_kernel(function, a, b, out):

    index = cl.cl_uint4(clrt.get_global_id(0), clrt.get_global_id(1),
                        clrt.get_global_id(2), 0)

    a_strides = index * a.strides
    aidx = a.offset + a_strides.x + a_strides.y + a_strides.z

    b_strides = index * b.strides
    bidx = b.offset + b_strides.x + b_strides.y + b_strides.z

    out_strides = index * out.strides
    oidx = out.offset + out_strides.x + out_strides.y + out_strides.z

    a0 = a[aidx]
    b0 = b[bidx]

    out[oidx] = function(a0, b0)
コード例 #3
0
ファイル: ufunc_framework.py プロジェクト: ejmvar/Clyther
def ufunc_kernel(function, a, b, out):
    
    index = cl.cl_uint4(clrt.get_global_id(0), clrt.get_global_id(1), clrt.get_global_id(2), 0)
    
    
    a_strides = index * a.strides
    aidx = a.offset + a_strides.x + a_strides.y + a_strides.z
    
    b_strides = index * b.strides
    bidx = b.offset + b_strides.x + b_strides.y + b_strides.z

    out_strides = index * out.strides
    oidx = out.offset + out_strides.x + out_strides.y + out_strides.z
        
    a0 = a[aidx]
    b0 = b[bidx]
    
    out[oidx] = function(a0, b0)