pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
New package OpenBLAS
Module Name: pkgsrc-wip
Committed By: Kai-Uwe Eckhardt <kuehro%posteo.de@localhost>
Pushed By: kuehro
Date: Wed Oct 12 18:24:14 2016 +0200
Changeset: c67ca8589580669e7fda60ba02dd03809962b67b
Modified Files:
Makefile
Added Files:
OpenBLAS/DESCR
OpenBLAS/Makefile
OpenBLAS/PLIST
OpenBLAS/TODO
OpenBLAS/distinfo
OpenBLAS/patches/patch-driver_others_memory.c
Log Message:
New package OpenBLAS
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c67ca8589580669e7fda60ba02dd03809962b67b
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
OpenBLAS/DESCR | 6 ++
OpenBLAS/Makefile | 47 ++++++++++++
OpenBLAS/PLIST | 15 ++++
OpenBLAS/TODO | 101 ++++++++++++++++++++++++++
OpenBLAS/distinfo | 7 ++
OpenBLAS/patches/patch-driver_others_memory.c | 15 ++++
7 files changed, 192 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index ef11441..ce86eb9 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,7 @@ SUBDIR+= GoogleEarth
SUBDIR+= I2util
SUBDIR+= LabPlot
SUBDIR+= MoleInvasion
+SUBDIR+= OpenBLAS
SUBDIR+= OpenGLUT
SUBDIR+= PHPUnit
SUBDIR+= PPower4
diff --git a/OpenBLAS/DESCR b/OpenBLAS/DESCR
new file mode 100644
index 0000000..bd2a936
--- /dev/null
+++ b/OpenBLAS/DESCR
@@ -0,0 +1,6 @@
+OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD. It is a
+prerequisite to get decent performance for anything based on BLAS (like octave
+or R) and contains a complete implementation of LAPACK and LAPACKE as well.
+
+The aim of this package is to build a blas library for pkgsrc with optimized
+kernels for all processors, dynamically chosen at runtime.
diff --git a/OpenBLAS/Makefile b/OpenBLAS/Makefile
new file mode 100644
index 0000000..d0aef37
--- /dev/null
+++ b/OpenBLAS/Makefile
@@ -0,0 +1,47 @@
+# $NetBSD$
+
+CATEGORIES= math
+
+MAINTAINER= kuehro%posteo.de@localhost
+COMMENT= OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD
+LICENSE= modified-bsd
+
+OPENBLAS_VER= 0.2.19
+DISTNAME= v${OPENBLAS_VER}
+PKGNAME= OpenBLAS-${OPENBLAS_VER}
+MASTER_SITES= ${MASTER_SITE_GITHUB:=xinayi/}
+GITHUB_TAG= ${DISTNAME}
+
+HOMEPAGE= http://www.openblas.net/
+
+EXTRACT_USING= gtar
+WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
+
+ONLY_FOR_PLATFORM+= *-*-i386 *-*-x86_64
+
+USE_TOOLS+= gmake perl
+USE_LANGUAGES+= c fortran
+GCC_REQD+= 6.2
+
+NO_CONFIGURE= yes
+
+.include "../../mk/bsd.pkg.mk"
+
+
+MAKE_ENV= PREFIX=${PREFIX}
+MAKE_ENV+= CC=${CCPATH}
+MAKE_ENV+= FC=${FCPATH}
+
+.if (${MACHINE_ARCH} == "i386")
+MAKE_ENV+= BINARY=32
+.else
+MAKE_ENV+= BINARY=64
+.endif
+
+# Choose the processor kernel dynamically at runtime
+MAKE_ENV+= DYNAMIC_ARCH=1
+
+# NO_AFFINITY=1 recommended for use in OpenMP codes
+MAKE_ENV+= USE_OPENMP=1 NO_AFFINITY=1
+
+INSTALL_MAKE_FLAGS+= PREFIX=${PREFIX}
diff --git a/OpenBLAS/PLIST b/OpenBLAS/PLIST
new file mode 100644
index 0000000..72baceb
--- /dev/null
+++ b/OpenBLAS/PLIST
@@ -0,0 +1,15 @@
+@comment $NetBSD$
+include/cblas.h
+include/f77blas.h
+include/lapacke.h
+include/lapacke_config.h
+include/lapacke_mangling.h
+include/lapacke_utils.h
+include/openblas_config.h
+lib/cmake/openblas/OpenBLASConfig.cmake
+lib/cmake/openblas/OpenBLASConfigVersion.cmake
+lib/libopenblas.a
+lib/libopenblas.so
+lib/libopenblasp-r${PKGVERSION}.a
+lib/libopenblasp-r${PKGVERSION}.so
+@pkgdir bin
diff --git a/OpenBLAS/TODO b/OpenBLAS/TODO
new file mode 100644
index 0000000..807d005
--- /dev/null
+++ b/OpenBLAS/TODO
@@ -0,0 +1,101 @@
+The aim of this package is to build a blas library for pkgsrc with optimized
+kernels for all processors, dynamically chosen at runtime, to allow distribution
+as a binary package. This gets quite large (~ 100 MB) and pkgsrc has to deal with
+different types of processor architectures, operating systems and compilers. In my
+opinion the only way to deal with this is to build all of pkgsrc with the most recent
+GCC in lang/gcc.
+
+OpenBLAS has support for the processors listed in '* Supported List'
+at the end of this TODO. There should be an option to choose 64 or 32
+bit depending on build system. Right now only 64 bit kernels are built.
+ONLY_FOR_PLATFORM should be adjusted for all possible platforms.
+
+If you ask three people involved in Numerics, they want over a dozen ways to build
+OpenBLAS for the special purposes of different simulation codes. In fact I use
+four different ways at work, but this package should only have a small number of
+options to keep it managable.
+
+If you want to use other C and Fortran compilers besides gcc 6.2, then change
+GCC_REQD or fiddle with PKGSRC variables. Good luck and may the force be with you.
+
+Kai-Uwe
+
+
+
+* Supported List:
+1.X86/X86_64
+a)Intel CPU:
+P2
+KATMAI
+COPPERMINE
+NORTHWOOD
+PRESCOTT
+BANIAS
+YONAH
+CORE2
+PENRYN
+DUNNINGTON
+NEHALEM
+SANDYBRIDGE
+HASWELL
+ATOM
+
+b)AMD CPU:
+ATHLON
+OPTERON
+OPTERON_SSE3
+BARCELONA
+SHANGHAI
+ISTANBUL
+BOBCAT
+BULLDOZER
+PILEDRIVER
+STEAMROLLER
+EXCAVATOR
+
+c)VIA CPU:
+SSE_GENERIC
+VIAC3
+NANO
+
+2.Power CPU:
+POWER4
+POWER5
+POWER6
+POWER7
+POWER8
+PPCG4
+PPC970
+PPC970MP
+PPC440
+PPC440FP2
+CELL
+
+3.MIPS CPU:
+P5600
+
+4.MIPS64 CPU:
+SICORTEX
+LOONGSON3A
+LOONGSON3B
+I6400
+P6600
+
+5.IA64 CPU:
+ITANIUM2
+
+6.SPARC CPU:
+SPARC
+SPARCV7
+
+7.ARM CPU:
+CORTEXA15
+CORTEXA9
+ARMV7
+ARMV6
+ARMV5
+
+8.ARM 64-bit CPU:
+ARMV8
+CORTEXA57
+
diff --git a/OpenBLAS/distinfo b/OpenBLAS/distinfo
new file mode 100644
index 0000000..af11621
--- /dev/null
+++ b/OpenBLAS/distinfo
@@ -0,0 +1,7 @@
+$NetBSD$
+
+SHA1 (v0.2.19.tar.gz) = df4ceb25d2529748ad0f2715e62fefb348477edd
+RMD160 (v0.2.19.tar.gz) = 8472d90075a8c1d357b896eba7ce293be508bca0
+SHA512 (v0.2.19.tar.gz) = 7081a8540b8037c0d4d6db0ec4b51277856c0e0f4e2575671984e5deb3482102da8936c43691087c8475d67070f89ac6925e4867ead60802aa2a29e8517e7495
+Size (v0.2.19.tar.gz) = 10834034 bytes
+SHA1 (patch-driver_others_memory.c) = 3f0d6014782810cc89c6fe0d0c1684e5ffdc2000
diff --git a/OpenBLAS/patches/patch-driver_others_memory.c b/OpenBLAS/patches/patch-driver_others_memory.c
new file mode 100644
index 0000000..ace100d
--- /dev/null
+++ b/OpenBLAS/patches/patch-driver_others_memory.c
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Patch for NO_AFFINITY=1. Sent upstream as issue #979.
+
+--- driver/others/memory.c.orig 2016-10-11 14:00:54.030387184 +0000
++++ driver/others/memory.c
+@@ -169,7 +169,7 @@ void goto_set_num_threads(int num_thread
+
+ #else
+
+-#if defined(OS_LINUX) || defined(OS_SUNOS)
++#if defined(OS_LINUX) || defined(OS_SUNOS) || defined(OS_NETBSD)
+ #ifndef NO_AFFINITY
+ int get_num_procs(void);
+ #else
Home |
Main Index |
Thread Index |
Old Index