Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] [Starpu-commits] r2912 - trunk/src/drivers/opencl

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] [Starpu-commits] r2912 - trunk/src/drivers/opencl


Chronologique Discussions 
  • From: Sylvain HENRY <sylvain.henry@inria.fr>
  • To: starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] [Starpu-commits] r2912 - trunk/src/drivers/opencl
  • Date: Fri, 19 Nov 2010 10:28:53 +0100
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Hi Nathalie,

Wouldn't it be better to use mmap to avoid copy?

stat(filename,&statbuf);
int fd = open(filename, O_RDONLY);

void * src = mmap(NULL, statbuf.st_size, PROT_READ, 0, fd, 0);

cl_program p = clCreateProgramWithSource(context, 1, &src, &statbuf.st_size, &ret)

munmap(src, statbuf.st_size)
close(fd);

Cheers
Sylvain

Le 19/11/2010 09:34, nfurmento@users.gforge.inria.fr a écrit :
Author: nfurmento
Date: 2010-11-19 09:34:35 +0100 (Fri, 19 Nov 2010)
New Revision: 2912

Modified:
trunk/src/drivers/opencl/driver_opencl_utils.c
Log:
drivers/opencl: using fread does not work on all OSes (namely Windows ...)

Modified: trunk/src/drivers/opencl/driver_opencl_utils.c
===================================================================
--- trunk/src/drivers/opencl/driver_opencl_utils.c 2010-11-18 16:11:38
UTC (rev 2911)
+++ trunk/src/drivers/opencl/driver_opencl_utils.c 2010-11-19 08:34:35
UTC (rev 2912)
@@ -96,6 +96,8 @@
struct stat statbuf;
FILE *fh;
char *source;
+ int x;
+ char c;

fh = fopen(filename, "r");
if (fh == 0)
@@ -103,9 +105,15 @@

stat(filename,&statbuf);
source = (char *) malloc(statbuf.st_size + 1);
- fread(source, statbuf.st_size, 1, fh);
- source[statbuf.st_size] = '\0';

+ for(c=fgetc(fh), x=0 ; c != EOF ; c = fgetc(fh), x++) {
+ source[x] = c;
+ }
+ source[x] = '\0';
+
+
+ _STARPU_DEBUG("OpenCL codelet<%s>\n", source);
+
fclose(fh);

return source;


_______________________________________________
Starpu-commits mailing list
Starpu-commits@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/starpu-commits






Archives gérées par MHonArc 2.6.19+.

Haut de le page