Samuel Thibault 15 gadi atpakaļ
vecāks
revīzija
28bbc5e201
3 mainītis faili ar 16 papildinājumiem un 20 dzēšanām
  1. 12 16
      doc/starpu.texi
  2. 1 1
      doc/vector_scal_c.texi
  3. 3 3
      doc/vector_scal_opencl.texi

+ 12 - 16
doc/starpu.texi

@@ -2101,7 +2101,7 @@ float vector[NX];
 
 starpu_data_handle vector_handle;
 starpu_vector_data_register(&vector_handle, 0, (uintptr_t)vector, NX,
-                            sizeof(float));
+                            sizeof(vector[0]));
 @end smallexample
 @end cartouche
 
@@ -2147,12 +2147,10 @@ void scal_cpu_func(void *buffers[], void *cl_arg)
     unsigned i;
     float *factor = cl_arg;
 
-    struct starpu_vector_interface_s *vector = buffers[0];
-
     /* length of the vector */
-    unsigned n = STARPU_GET_VECTOR_NX(vector);
+    unsigned n = STARPU_GET_VECTOR_NX(buffers[0]);
     /* local copy of the vector pointer */
-    float *val = (float *)STARPU_GET_VECTOR_PTR(vector);
+    float *val = (float *)STARPU_GET_VECTOR_PTR(buffers[0]);
 
     for (i = 0; i < n; i++)
         val[i] *= *factor;
@@ -2223,12 +2221,11 @@ static __global__ void vector_mult_cuda(float *val, unsigned n,
 extern "C" void scal_cuda_func(void *buffers[], void *_args)
 @{
     float *factor = (float *)_args;
-    struct starpu_vector_interface_s *vector = (struct starpu_vector_interface_s *) buffers[0];
 
     /* length of the vector */
-    unsigned n = STARPU_GET_VECTOR_NX(vector);
+    unsigned n = STARPU_GET_VECTOR_NX(buffers[0]);
     /* local copy of the vector pointer */
-    float *val = (float *)STARPU_GET_VECTOR_PTR(vector);
+    float *val = (float *)STARPU_GET_VECTOR_PTR(buffers[0]);
 
 @i{    vector_mult_cuda<<<1,1>>>(val, n, *factor);}
 
@@ -2264,16 +2261,15 @@ __kernel void vector_mult_opencl(__global float* val, int nx, float factor)
 
 void scal_opencl_func(void *buffers[], void *_args)
 @{
-    float *factor = (float *)_args;
-    struct starpu_vector_interface_s *vector = (struct starpu_vector_interface_s *) buffers[0];
+    float *factor = _args;
 @i{    int id, devid, err;}
 @i{    cl_kernel kernel;}
 @i{    cl_command_queue queue;}
 
     /* length of the vector */
-    unsigned n = STARPU_GET_VECTOR_NX(vector);
+    unsigned n = STARPU_GET_VECTOR_NX(buffers[0]);
     /* local copy of the vector pointer */
-    float *val = (float *)STARPU_GET_VECTOR_PTR(vector);
+    float *val = (float *)STARPU_GET_VECTOR_PTR(buffers[0]);
 
 @i{    id = starpu_worker_get_id();}
 @i{    devid = starpu_worker_get_devid(id);}
@@ -2284,8 +2280,8 @@ void scal_opencl_func(void *buffers[], void *_args)
 
 @i{    err = 0;}
 @i{    err = clSetKernelArg(kernel, 0, sizeof(cl_mem), &val);}
-@i{    err = clSetKernelArg(kernel, 1, sizeof(int), &n);}
-@i{    err |= clSetKernelArg(kernel, 2, sizeof(float), (void*)factor);}
+@i{    err = clSetKernelArg(kernel, 1, sizeof(n), &n);}
+@i{    err |= clSetKernelArg(kernel, 2, sizeof(*factor), factor);}
 @i{    if (err) STARPU_OPENCL_REPORT_ERROR(err);}
 
 @i{    @{}
@@ -2342,7 +2338,7 @@ int main(int argc, char **argv)
 
     starpu_init(NULL);                            /* @b{Initialising StarPU} */
 
-    vector = (float*)malloc(NX*sizeof(float));
+    vector = malloc(NX*sizeof(vector[0]));
     assert(vector);
     for(i=0 ; i<NX ; i++) vector[i] = i;
 @end smallexample
@@ -2352,7 +2348,7 @@ int main(int argc, char **argv)
 @smallexample
     /* @b{Registering data within StarPU} */
     starpu_vector_data_register(&vector_handle, 0, (uintptr_t)vector,
-                                NX, sizeof(float));
+                                NX, sizeof(vector[0]));
 
     /* @b{Definition of the task} */
     task = starpu_task_create();

+ 1 - 1
doc/vector_scal_c.texi

@@ -66,7 +66,7 @@ int main(int argc, char **argv)
      *  - the fifth argument is the size of each element.
      */
     starpu_data_handle vector_handle;
-    starpu_vector_data_register(&vector_handle, 0, (uintptr_t)vector, NX, sizeof(float));
+    starpu_vector_data_register(&vector_handle, 0, (uintptr_t)vector, NX, sizeof(vector[0]));
 
     float factor = 3.14;
 

+ 3 - 3
doc/vector_scal_opencl.texi

@@ -5,7 +5,7 @@ extern struct starpu_opencl_codelet codelet;
 
 void scal_opencl_func(void *buffers[], void *_args)
 @{
-    float *factor = (float *)_args;
+    float *factor = _args;
     int id, devid, err;
     cl_kernel kernel;
     cl_command_queue queue;
@@ -23,8 +23,8 @@ void scal_opencl_func(void *buffers[], void *_args)
 
     err = 0;
     err = clSetKernelArg(kernel, 0, sizeof(cl_mem), &val);
-    err = clSetKernelArg(kernel, 1, sizeof(int), &n);
-    err |= clSetKernelArg(kernel, 2, sizeof(float), (void*)factor);
+    err = clSetKernelArg(kernel, 1, sizeof(n), &n);
+    err |= clSetKernelArg(kernel, 2, sizeof(*factor), factor);
     if (err) STARPU_OPENCL_REPORT_ERROR(err);
 
     @{