[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