[clblas] 35/125: Kernel cache: Store if we have the source for a kernel
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Fri May 29 06:57:20 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch master
in repository clblas.
commit 29d0c282fcf3112b9e9cf780bdde9e9527f2a802
Author: Christian Kellner <christian at kellner.me>
Date: Thu Nov 7 16:45:14 2013 +0100
Kernel cache: Store if we have the source for a kernel
Then don't try to estimate kernel source size if we don't have it:
In fullKernelSize() only call add the source code if we have them,
i.e. did not drop it earlier, because doing so will crash on OSX 10.9.
This should fix issue #21
---
src/include/kern_cache.h | 1 +
src/library/blas/generic/common.c | 2 ++
src/library/common/kern_cache.c | 4 +++-
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/include/kern_cache.h b/src/include/kern_cache.h
index b6749c5..af14a85 100644
--- a/src/include/kern_cache.h
+++ b/src/include/kern_cache.h
@@ -55,6 +55,7 @@ typedef struct Kernel {
void *extra;
size_t extraSize;
void (*dtor)(struct Kernel *kern);
+ int noSource;
} Kernel;
typedef int
diff --git a/src/library/blas/generic/common.c b/src/library/blas/generic/common.c
index 9e26887..de99f72 100644
--- a/src/library/blas/generic/common.c
+++ b/src/library/blas/generic/common.c
@@ -364,6 +364,7 @@ Kernel VISIBILITY_HIDDEN
kernel->extra = calloc(1, kernel->extraSize);
*(CLBLASKernExtra*)(kernel->extra) = *extra;
kernel->dtor = extraDtor;
+ kernel->noSource = 1;
}
else {
putKernel(NULL, kernel);
@@ -491,6 +492,7 @@ Kernel
#if !defined(KEEP_CLBLAS_KERNEL_SOURCES)
if (err == CL_SUCCESS) {
err = dropProgramSource(&kernel->program, context, device);
+ kernel->noSource = 1;
}
#endif /* !DUMP_CLBLAS_KERNELS */
diff --git a/src/library/common/kern_cache.c b/src/library/common/kern_cache.c
index 787d139..1006e48 100644
--- a/src/library/common/kern_cache.c
+++ b/src/library/common/kern_cache.c
@@ -425,7 +425,9 @@ fullKernelSize(Kernel *kern)
size += allSizes[i];
}
- clGetProgramInfo(kern->program, CL_PROGRAM_SOURCE, 0, NULL, &retSize);
+ if (!kern->noSource) {
+ clGetProgramInfo(kern->program, CL_PROGRAM_SOURCE, 0, NULL, &retSize);
+ }
return (size + retSize + sizeof(Kernel) + kern->extraSize);
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/clblas.git
More information about the debian-science-commits
mailing list