[clblas] 49/61: fixed zgemm offset bug; removed profiling from client

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Fri Jul 24 22:49:48 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 03ae1873f75af45d847afe70ecb1b39a5e5d2d88
Author: David Tanner <guacamoleo at gmail.com>
Date:   Tue Jun 23 10:00:14 2015 -0500

    fixed zgemm offset bug; removed profiling from client
---
 src/client/clfunc_common.hpp                   |  2 +-
 src/client/clfunc_xgemm.hpp                    | 13 -------------
 src/library/blas/functor/hawaii.cc             |  5 +----
 src/library/blas/gens/clTemplates/zgemm_gcn.cl | 11 ++++++++---
 4 files changed, 10 insertions(+), 21 deletions(-)

diff --git a/src/client/clfunc_common.hpp b/src/client/clfunc_common.hpp
index 86f93c0..01363a9 100644
--- a/src/client/clfunc_common.hpp
+++ b/src/client/clfunc_common.hpp
@@ -246,7 +246,7 @@ public:
         props_[2] = 0;
         ctx_ = clCreateContext(props_, 1, &device_, NULL, NULL, &err);
         OPENCL_V_THROW(err, "creating context");
-        queue_ = clCreateCommandQueue(ctx_, device_, CL_QUEUE_PROFILING_ENABLE, &err);
+        queue_ = clCreateCommandQueue(ctx_, device_, 0, &err);
 
 
         timer_id = timer.getUniqueID( "clfunc", 0 );
diff --git a/src/client/clfunc_xgemm.hpp b/src/client/clfunc_xgemm.hpp
index 27fa1f2..b676f13 100644
--- a/src/client/clfunc_xgemm.hpp
+++ b/src/client/clfunc_xgemm.hpp
@@ -1065,19 +1065,6 @@ xGemm_Function(bool flush, cl_uint apiCallCount )
                      buffer_.buf_b_, buffer_.offB_, buffer_.ldb_,
                      buffer_.beta_, buffer_.buf_c_, buffer_.offC_,
                      buffer_.ldc_, 1, &queue_, 0, NULL, &event_);
-#if 0
-    // print kernel time
-    clFinish(queue_);
-    cl_ulong start, stop;
-    double time;
-    cl_int err;
-    err = clGetEventProfilingInfo( event_, CL_PROFILING_COMMAND_START, sizeof(start), &start, NULL );
-    if (err) printf("err = %i\n", err);
-    err = clGetEventProfilingInfo( event_, CL_PROFILING_COMMAND_END,   sizeof(stop),  &stop,  NULL );
-    if (err) printf("err = %i\n", err);
-    time = (stop - start) / 1000000.0; // milliseconds
-    printf("kernel %lu -> %lu = %.f ms\n", start, stop, time );
-#endif
   }
 	//flush==true if only the kernel time (library call) is timed
 	//flush==false if memory time is also timed
diff --git a/src/library/blas/functor/hawaii.cc b/src/library/blas/functor/hawaii.cc
index 0d2b2c0..94a23a5 100644
--- a/src/library/blas/functor/hawaii.cc
+++ b/src/library/blas/functor/hawaii.cc
@@ -168,16 +168,13 @@ clblasSgemmFunctor * FunctorSelectorHawaii::select_sgemm_specific(clblasSgemmFun
 clblasZgemmFunctor * FunctorSelectorHawaii::select_zgemm_specific(clblasZgemmFunctor::Args & args)
 {
 
-  //TODO: the logic below is complicated; Needs cleanup;
-  clblasZgemmFunctor * functor;
-
   if ( args.M%32==0
     && args.N%64==0
     && args.K%8==0
     && args.transA==clblasNoTrans
     && args.transB==clblasTrans
     && args.order==clblasColumnMajor) {
-    functor = clblasZgemmFunctorGCN::provide(args, "Hawaii");
+    return clblasZgemmFunctorGCN::provide(args, "Hawaii");
   } else {
     return this->clblasFunctorSelector::select_zgemm_specific(args);
   }
diff --git a/src/library/blas/gens/clTemplates/zgemm_gcn.cl b/src/library/blas/gens/clTemplates/zgemm_gcn.cl
index fc28caf..1769639 100644
--- a/src/library/blas/gens/clTemplates/zgemm_gcn.cl
+++ b/src/library/blas/gens/clTemplates/zgemm_gcn.cl
@@ -200,10 +200,15 @@ __kernel void KERNEL_NAME(DATA_TYPE_CHAR,TRANSPOSE_A,TRANSPOSE_B,MACRO_TILE_NUM_
   uint const lda,
   uint const ldb,
   uint const ldc,
-  uint const offA,
-  uint const offB,
-  uint const offC )
+  uint const offsetA,
+  uint const offsetB,
+  uint const offsetC )
 {
+  // apply offsets
+  A += offsetA;
+  B += offsetB;
+  C += offsetC;
+
   // registers
   DATA_TYPE_STR rC[MICRO_TILE_NUM_ROWS][MICRO_TILE_NUM_COLS]  = {0};
   DATA_TYPE_STR rA[MICRO_TILE_NUM_ROWS];

-- 
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