[clblas] 24/61: Ben : fixing bonaire path for sgemm using CL2.0 path

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Fri Jul 24 22:49:45 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 c084b473a9ccfc593f29b873d8347ee9c5eb57e0
Author: BenjaminCoquelle <benjamin.coquelle at amd.com>
Date:   Fri May 8 10:01:17 2015 +0100

    Ben : fixing bonaire path for sgemm using CL2.0 path
---
 src/flags_public.txt                               |  2 +-
 src/library/blas/functor/bonaire.cc                | 11 ++++-----
 .../blas/functor/hawaii_sgemmSplitKernel.cc        | 27 +++++++++++++++++++---
 3 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/src/flags_public.txt b/src/flags_public.txt
index e3fcd75..c2ca065 100644
--- a/src/flags_public.txt
+++ b/src/flags_public.txt
@@ -1,4 +1,4 @@
 TAHITI_OCL " ";
 HAWAII1_OCL " ";
 HAWAII2_OCL "-cl-std=CL2.0";
-BONAIRE_OCL " ";
+BONAIRE_OCL "-cl-std=CL2.0";
diff --git a/src/library/blas/functor/bonaire.cc b/src/library/blas/functor/bonaire.cc
index 69b0e98..a97d9b9 100644
--- a/src/library/blas/functor/bonaire.cc
+++ b/src/library/blas/functor/bonaire.cc
@@ -15,13 +15,10 @@
  * ************************************************************************/
 
 #include <bonaire.h>
-//#include "gpu_dtrsm.h"
-//#include "gcn_dgemmCommon.h"
+
 #include "math.h"
-//#include "hawaii_dgemmChannelConflict.h"
-//#include "hawaii_dgemmSplitKernel.h"
+
 #include "hawaii_sgemmSplitKernel.h"
-//#include "gcn_dgemmSmallMatrices.h"
 #include "gcn_sgemmSmallMatrices.h"
 
 FunctorSelectorBonaire FunctorSelectorBonaire::instance ;
@@ -67,11 +64,11 @@ clblasSgemmFunctor * FunctorSelectorBonaire::select_sgemm_specific(clblasSgemmFu
     }
     if ( useSpliKernel) 
     {
-#ifndef CLBLAS_HAWAII_DYNAMIC_KERNEL
+
     functor = clBlashawaiiSgemmSplitKernelFunctor::provide(args, "Bonaire");
     if (functor)
       return functor;
-#endif
+
     }
     else
     {
diff --git a/src/library/blas/functor/hawaii_sgemmSplitKernel.cc b/src/library/blas/functor/hawaii_sgemmSplitKernel.cc
index 23828dd..432324f 100644
--- a/src/library/blas/functor/hawaii_sgemmSplitKernel.cc
+++ b/src/library/blas/functor/hawaii_sgemmSplitKernel.cc
@@ -1,4 +1,4 @@
-#ifndef CLBLAS_HAWAII_DYNAMIC_KERNEL
+#if !define CLBLAS_HAWAII_DYNAMIC_KERNEL && !define CLBLAS_BONAIRE_DYNAMIC_KERNEL
 
 #include <stdio.h>
 #include <string.h>
@@ -23,9 +23,16 @@
 #if BUILD_KERNEL_FROM_STRING
 #include "sgemm_hawaiiSplitKernel.clT"
 #else 
+
+#ifndef CLBLAS_HAWAII_DYNAMIC_KERNEL
 #include "sgemm_hawaiiSplitKernel.clHawaii_64.bin.clT"
+#endif//CLBLAS_HAWAII_DYNAMIC_KERNEL
+
+#ifndef CLBLAS_BONAIRE_DYNAMIC_KERNEL
 #include "sgemm_hawaiiSplitKernel.clBonaire_64.bin.clT"
-#endif
+#endif //CLBLAS_BONAIRE_DYNAMIC_KERNEL
+
+#endif //BUILD_KERNEL_FROM_STRING
 
 // Just because the full name is too long
 typedef clBlashawaiiSgemmSplitKernelFunctor::Variant Variant ; 
@@ -161,9 +168,11 @@ static const Variant * select_variant_SplitKernel( clblasSgemmFunctor::Args & ar
       size_t KBin_NNMainK1Size64 = 0;       
 
       const char* KBin_NNMainK1Alpha64 ;    
-      size_t KBin_NNMainK1AlphaSize64 = 0;  
+      size_t KBin_NNMainK1AlphaSize64 = 0; 
+
       if (!strcmp(DevName, "Hawaii"))
       {
+#ifndef CLBLAS_HAWAII_DYNAMIC_KERNEL
         KBin_NNMain64             = SGEMM_SRC_NAME_BIN(N, N, 16, __ALPHABETA,  64, HAWAII) ;
         KBin_NNMainSize64        = sizeof(SGEMM_SRC_NAME_BIN(N, N, 16, __ALPHABETA,  64, HAWAII)) ;
 
@@ -175,7 +184,10 @@ static const Variant * select_variant_SplitKernel( clblasSgemmFunctor::Args & ar
 
         KBin_NNMainK1Alpha64      = SGEMM_SRC_NAME_BIN(N, N, 1, __ALPHA,  64, HAWAII) ;
         KBin_NNMainK1AlphaSize64 = sizeof(SGEMM_SRC_NAME_BIN(N, N, 1, __ALPHA,  64, HAWAII)) ;
+      
+#endif //CLBLAS_HAWAII_DYNAMIC_KERNEL
       }
+      
       else if (!strcmp(DevName, "Bonaire"))
       {
 #ifndef CLBLAS_BONAIRE_DYNAMIC_KERNEL
@@ -297,8 +309,11 @@ static const Variant * select_variant_SplitKernel( clblasSgemmFunctor::Args & ar
       const char* KSrc_NTColumn = SGEMM_SRC_NAME(N, T, 96, 1, 16, 16, 16, 6, 6, __ALPHABETA) ;
       const char* KSrc_NTSingleWave = SGEMM_SRC_NAME(N, T, 1, 1, 16, 16, 16, 6, 6, __ALPHABETA) ;
 #else
+
+
       if (!strcmp(DevName, "Hawaii"))
       {
+#ifndef CLBLAS_HAWAII_DYNAMIC_KERNEL
         KBin_NTMain64             = SGEMM_SRC_NAME_BIN(N, T, 16, __ALPHABETA,  64, HAWAII) ;
         KBin_NTMainSize64        = sizeof(SGEMM_SRC_NAME_BIN(N, T, 16, __ALPHABETA,  64, HAWAII)) ;
 
@@ -310,7 +325,9 @@ static const Variant * select_variant_SplitKernel( clblasSgemmFunctor::Args & ar
 
         KBin_NTMainK1Alpha64      = SGEMM_SRC_NAME_BIN(N, T, 1, __ALPHA,  64, HAWAII) ;
         KBin_NTMainK1AlphaSize64 = sizeof(SGEMM_SRC_NAME_BIN(N, T, 1, __ALPHA,  64, HAWAII)) ;
+#endif //CLBLAS_HAWAII_DYNAMIC_KERNEL
       }
+
       else if (!strcmp(DevName, "Bonaire"))
       {
 #ifndef CLBLAS_BONAIRE_DYNAMIC_KERNEL
@@ -430,8 +447,10 @@ static const Variant * select_variant_SplitKernel( clblasSgemmFunctor::Args & ar
 
       //const char* KBin_NNMainK1Alpha64 ;    
       //size_t KBin_NNMainK1AlphaSize64 = 0;  
+
       if (!strcmp(DevName, "Hawaii"))
       {
+#ifndef CLBLAS_HAWAII_DYNAMIC_KERNEL
         KBin_TNMain64             = SGEMM_SRC_NAME_BIN(T, N, 16, __ALPHABETA,  64, HAWAII) ;
         KBin_TNMainSize64        = sizeof(SGEMM_SRC_NAME_BIN(T, N, 16, __ALPHABETA,  64, HAWAII)) ;
              
@@ -443,7 +462,9 @@ static const Variant * select_variant_SplitKernel( clblasSgemmFunctor::Args & ar
 
         //KBin_NNMainK1Alpha64      = SGEMM_SRC_NAME_BIN(N, N, 1, __ALPHA,  64, HAWAII) ;
         //KBin_NNMainK1AlphaSize64 = sizeof(SGEMM_SRC_NAME_BIN(N, N, 1, __ALPHA,  64, HAWAII)) ;
+#endif  //CLBLAS_HAWAII_DYNAMIC_KERNEL
       }
+
       else if (!strcmp(DevName, "Bonaire"))
       {
 #ifndef CLBLAS_BONAIRE_DYNAMIC_KERNEL

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