svn commit: r504793 - in head/math/clblas: . files

Mark Linimon linimon at FreeBSD.org
Fri Jun 21 12:18:13 UTC 2019


Author: linimon
Date: Fri Jun 21 12:18:11 2019
New Revision: 504793
URL: https://svnweb.freebsd.org/changeset/ports/504793

Log:
  Attempt to fix build on GCC-based systems by removing stray ";" characters.
  This fix should go upstream.
  
  However, at least on powerpc64, the patch is necessary but insufficient:
  
    src/library/tools/tune/tune.c:137: error: 'CLOCK_REALTIME' undeclared (first use in this function)
  
  After spending some time examining the wrkdir, I can't find its declaration.
  OTOH the build succeeds on amd64.
  
  This may need to be worked on by the upstream.
  
  Approved by:	portmgr (tier-2 blanket)

Added:
  head/math/clblas/files/patch-src_library_blas_xgemm.cc   (contents, props changed)
Modified:
  head/math/clblas/Makefile

Modified: head/math/clblas/Makefile
==============================================================================
--- head/math/clblas/Makefile	Fri Jun 21 12:01:47 2019	(r504792)
+++ head/math/clblas/Makefile	Fri Jun 21 12:18:11 2019	(r504793)
@@ -13,6 +13,8 @@ COMMENT=	Software library containing BLAS functions wr
 LICENSE=	APACHE20
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
+BROKEN_powerpc64=	src/library/tools/tune/tune.c:137: error: 'CLOCK_REALTIME' undeclared (first use in this function)
+
 BUILD_DEPENDS=	opencl>=0:devel/opencl
 LIB_DEPENDS=	libOpenCL.so:devel/ocl-icd \
 		libboost_program_options.so:devel/boost-libs

Added: head/math/clblas/files/patch-src_library_blas_xgemm.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/clblas/files/patch-src_library_blas_xgemm.cc	Fri Jun 21 12:18:11 2019	(r504793)
@@ -0,0 +1,35 @@
+--- src/library/blas/xgemm.cc.orig	2016-01-05 17:04:55 UTC
++++ src/library/blas/xgemm.cc
+@@ -75,19 +75,19 @@ bool isZero(Precision value);
+ template<>
+ bool isZero<float>( float value ) {
+   return value == 0;
+-};
++}
+ template<>
+ bool isZero<double>( double value ) {
+   return value == 0;
+-};
++}
+ template<>
+ bool isZero<FloatComplex>( FloatComplex value ) {
+   return CREAL(value) == 0 && CIMAG(value) == 0;
+-};
++}
+ template<>
+ bool isZero<DoubleComplex>( DoubleComplex value ) {
+   return CREAL(value) == 0 && CIMAG(value) == 0;
+-};
++}
+ 
+ static char *getKernelName(cl_kernel clKernel)
+ {
+@@ -534,7 +534,7 @@ clblasGemm(
+   if (needRowKernel)    makeGemmKernel(   rowClKernel, commandQueues[0],    rowKernelSource, sourceBuildOptions,    &rowKernelBinary,    rowKernelBinarySize, binaryBuildOptions);
+   if (needColKernel)    makeGemmKernel(   colClKernel, commandQueues[0],    colKernelSource, sourceBuildOptions,    &colKernelBinary,    colKernelBinarySize, binaryBuildOptions);
+   if (needCornerKernel) makeGemmKernel(cornerClKernel, commandQueues[0], cornerKernelSource, sourceBuildOptions, &cornerKernelBinary, cornerKernelBinarySize, binaryBuildOptions);
+-  const size_t localWorkSize[2] = { workGroupNumRows, workGroupNumCols };
++  const size_t localWorkSize[2] = { workGroupNumRows, workGroupNumCols };;
+   unsigned int numKernelsEnqueued = 0;
+ 
+ /******************************************************************************


More information about the svn-ports-all mailing list