From cb1f33c6ae840e8dc0f43518daf76e6ed01034f0 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Mon, 08 Dec 2014 19:48:57 +0000
Subject: [PATCH] Fixed race condition in server
---
src/axpy.cl | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/axpy.cl b/src/axpy.cl
index 394d897..04eb534 100644
--- a/src/axpy.cl
+++ b/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];
}
--
Gitblit v1.10.0