Joseph Redmon
2014-12-04 1edcf73a73d2007afc61289245763f5cf0c29e10
src/axpy.cl
@@ -1,7 +1,7 @@
__kernel void axpy(int N, float ALPHA, __global float *X, int INCX, __global float *Y, int INCY)
__kernel void axpy(int N, float ALPHA, __global float *X, int OFFX, int INCX, __global float *Y, int OFFY, int INCY)
{
    int i = get_global_id(0);
    Y[i*INCY] += ALPHA*X[i*INCX];
    Y[OFFY+i*INCY] += ALPHA*X[OFFX+i*INCX];
}
__kernel void scal(int N, float ALPHA, __global float *X, int INCX)
@@ -10,9 +10,15 @@
    X[i*INCX] *= ALPHA;
}
__kernel void copy(int N, __global float *X, int INCX, __global float *Y, int INCY)
__kernel void mask(int n, __global float *x, __global float *mask, int mod)
{
    int i = get_global_id(0);
    Y[i*INCY] = X[i*INCX];
    x[i] = (mask[(i/mod)*mod] || i%mod == 0) ? x[i] : 0;
}
__kernel void copy(int N, __global float *X, int OFFX, int INCX, __global float *Y, int OFFY, int INCY)
{
    int i = get_global_id(0);
    Y[i*INCY + OFFY] = X[i*INCX + OFFX];
}