aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <sebfabbro@gmail.com>2011-08-22 19:52:06 +0100
committerSébastien Fabbro <sebfabbro@gmail.com>2011-08-22 19:52:06 +0100
commitc64ec5ef4c3b2bd84a69bdf5958299984ce2916a (patch)
treed44d1a645e7809139b1ad9e1b35dca116b37e47d
parentadded lapacke (diff)
downloadsci-c64ec5ef4c3b2bd84a69bdf5958299984ce2916a.tar.gz
sci-c64ec5ef4c3b2bd84a69bdf5958299984ce2916a.tar.bz2
sci-c64ec5ef4c3b2bd84a69bdf5958299984ce2916a.zip
added mkl
-rw-r--r--sci-libs/mkl/ChangeLog22
-rw-r--r--sci-libs/mkl/Manifest6
-rw-r--r--sci-libs/mkl/metadata.xml13
-rw-r--r--sci-libs/mkl/mkl-10.3.4.191.ebuild136
4 files changed, 177 insertions, 0 deletions
diff --git a/sci-libs/mkl/ChangeLog b/sci-libs/mkl/ChangeLog
new file mode 100644
index 000000000..8d71418c3
--- /dev/null
+++ b/sci-libs/mkl/ChangeLog
@@ -0,0 +1,22 @@
+# ChangeLog for sci-libs/mkl
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*mkl-10.3.4.191 (22 Aug 2011)
+
+ 22 Aug 2011; Sébastien Fabbro <bicatali@gentoo.org> +mkl-10.3.4.191.ebuild,
+ +metadata.xml:
+ Imported from bicatali overlay
+
+ 06 Jun 2011; Sébastien Fabbro <bicatali@gentoo.org> mkl-10.3.4.191.ebuild:
+ Reworked all profile generation
+
+ 30 May 2011; Sébastien Fabbro <bicatali@gentoo.org> mkl-10.3.4.191.ebuild:
+ Bump
+
+ 23 Feb 2011; Sébastien Fabbro <bicatali@gentoo.org> mkl-10.3.2.137.ebuild:
+ Bump and switched to alternatives-2 framework
+
+ 03 Dec 2010; Sébastien Fabbro <bicatali@gentoo.org> mkl-10.3.0.084.ebuild:
+ Version bump. refactored ebuilds
+
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
new file mode 100644
index 000000000..63aeb4c9a
--- /dev/null
+++ b/sci-libs/mkl/Manifest
@@ -0,0 +1,6 @@
+DIST parallel_studio_xe_2011_update2.tgz 1551817814 RMD160 7f1c770a1ad5fe626718a5c352d2db6d628b22aa SHA1 b216e25ec4f1254e7e07defa5ab0ec835965a018 SHA256 3e77fb39fc05e0c4eafa594617674858ae9c59a5cfddb0f95651bbf7d4baa907
+DIST parallel_studio_xe_2011_update2_ia32.tgz 810216099 RMD160 33293a7f524722b1e2f4fc839aea3984dff490c5 SHA1 73368f9f14ff530dc953aeeca1ec5de90607774d SHA256 e2d040774cc4888a294dbd2081882b7f90fef7280ad1c4dcb04026871d6e638d
+DIST parallel_studio_xe_2011_update2_intel64.tgz 966899604 RMD160 e14ebd58b2e626431c3b796d925ff460752fc689 SHA1 55cfdb64f7c84222ff599f4e9def3cb66e45c962 SHA256 f6d9acacb350cccb3e29c2309ced7b9564d86d53d59409b4a79d7a79b396f2f1
+EBUILD mkl-10.3.4.191.ebuild 4528 RMD160 b64d88bcf46e3bed99e802952195596ade8c05d3 SHA1 724127f4f23961623f479a7e46e4c354d1686aaa SHA256 6344e0588fddd5959e7c47210cb3ab8d92296533c371a0ebebb08ba209a29d4f
+MISC ChangeLog 714 RMD160 f3d8721585488715b8dd74453b4a247f5194e2bb SHA1 cb5789c64eb2efc65939f805639299f758447d1f SHA256 904380842f30f02cde507eec12dfb51441c28052d69884351ffcaf53607f21b5
+MISC metadata.xml 617 RMD160 9066d97c2d34843270db78a9b31b8d6f8b32497e SHA1 6d9842a03eb3367d4fc85458f1e65e52490e98b2 SHA256 2b482d847f4ae464b31e582f412ffa59c97c59b75309d6392edfcbd9f16b2ae5
diff --git a/sci-libs/mkl/metadata.xml b/sci-libs/mkl/metadata.xml
new file mode 100644
index 000000000..89e096c91
--- /dev/null
+++ b/sci-libs/mkl/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The Intel(R) Math Kernel Library is a mathematical library mostly
+ optimized for Intel processors (also works on AMDs). It contains BLAS
+ and LAPACK implementations, Fast Fourier Transforms, a vector math
+ library, and random number generators. It also has multiprocessor
+ capacities. The package is installed as binary and has a restrictive
+ license. Please see license terms and home page for proper use.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/mkl/mkl-10.3.4.191.ebuild b/sci-libs/mkl/mkl-10.3.4.191.ebuild
new file mode 100644
index 000000000..a2634cf5e
--- /dev/null
+++ b/sci-libs/mkl/mkl-10.3.4.191.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2158
+INTEL_DPV=2011_update2
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp multilib alternatives-2
+
+DESCRIPTION="Intel Math Kernel Library: linear algebra, fft, math functions"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-mkl/"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-libs/intel-common-12"
+
+QA_PREBUILT="
+ ${INTEL_SDP_DIR}/mkl/lib/*/*
+ ${INTEL_SDP_DIR}/mkl/examples/lapack/lib/*
+ ${INTEL_SDP_DIR}/mkl/tests/cblas/source/*
+ ${INTEL_SDP_DIR}/mkl/benchmarks/linpack/*
+ ${INTEL_SDP_DIR}/mkl/benchmarks/mp_linpack/*/*/*"
+
+CHECKREQS_DISK_BUILD=1536
+
+INTEL_BIN_RPMS="mkl mkl-devel"
+INTEL_DAT_RPMS="mkl-common"
+
+src_prepare() {
+ chmod u+w -R opt
+}
+
+mkl_add_prof() {
+ local pcname=${1} libs cflags x
+ shift
+ [[ ${pcname} = *int64* ]] && cflags=-DMKL_ILP64
+ cat <<-EOF > ${pcname}.pc
+ prefix=${INTEL_SDP_EDIR}/mkl
+ libdir=\${prefix}/lib/${IARCH}
+ includedir=\${prefix}/include
+ Name: ${pcname}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} ${libs}
+ Cflags: -I\${includedir} ${cflags}
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${pcname}.pc
+ for x in $*; do
+ alternatives_for ${x} ${pcname/-${x}} 0 \
+ /usr/$(get_libdir)/pkgconfig/${x}.pc ${pcname}.pc
+ done
+}
+
+# mkl_prof [_ilp64 or _lp64]
+# help: http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
+mkl_prof() {
+ local bits=""
+ if [[ ${IARCH} == intel64 ]]; then
+ bits=_lp64
+ [[ ${1} == int64 ]] && bits=_ilp64
+ fi
+ local gf="-Wl,--start-group -lmkl_gf${bits}"
+ local intel="-Wl,--start-group -lmkl_intel${bits}"
+ local core="-lmkl_core -Wl,--end-group"
+ local prof=mkl${IARCH:((${#IARCH} - 2)):2}
+ [[ ${1} == int64 ]] && prof=${prof}-int64
+ local libs
+
+ libs="${gf} -lmkl_sequential ${core} -lpthread" \
+ mkl_add_prof ${prof}-gfortran blas lapack
+ libs="${intel} -lmkl_sequential ${core} -lpthread" \
+ mkl_add_prof ${prof}-intel blas lapack cblas lapacke
+ libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+ mkl_add_prof ${prof}-gfortran-openmp blas lapack
+ libs="${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+ mkl_add_prof ${prof}-gcc-openmp cblas lapacke
+ libs="${intel} -lmkl_intel_thread ${core} -openmp -lpthread" \
+ mkl_add_prof ${prof}-intel-openmp blas lapack cblas lapacke
+ libs="-lmkl_rt -lpthread" \
+ mkl_add_prof ${prof}-dynamic blas lapack cblas lapacke
+ libs="-lmkl_rt -liomp5 -lpthread" \
+ mkl_add_prof ${prof}-dynamic-openmp blas lapack cblas lapacke
+
+ # blacs and scalapack
+ local scal="-lmkl_scalapack${bits:-_core}"
+ local blacs="-lmkl_blacs_intelmpi${bits}"
+ core="-lmkl_core ${blacs} -Wl,--end-group"
+
+ libs="${gf} -lmkl_sequential ${core} -lpthread" \
+ mkl_add_prof ${prof}-gfortran-blacs blacs
+ libs="${scal} ${gf} -lmkl_sequential ${core} -lpthread" \
+ mkl_add_prof ${prof}-gfortran-scalapack scalapack
+ libs="${intel} -lmkl_sequential ${core} -lpthread" \
+ mkl_add_prof ${prof}-intel-blacs blacs
+ libs="${scal} ${intel} -lmkl_sequential ${core} -lpthread" \
+ mkl_add_prof ${prof}-intel-scalapack scalapack
+ libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+ mkl_add_prof ${prof}-gfortran-openmp-blacs blacs
+ libs="${scal} ${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+ mkl_add_prof ${prof}-gfortran-openmp-scalapack scalapack
+ libs="${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+ mkl_add_prof ${prof}-gcc-openmp-blacs blacs
+ libs="${scal} ${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+ mkl_add_prof ${prof}-gcc-openmp-scalapack scalapack
+ libs="${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \
+ mkl_add_prof ${prof}-intel-openmp-blacs blacs
+ libs="${scal} ${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \
+ mkl_add_prof ${prof}-intel-openmp-scalapack scalapack
+ libs="-lmkl_rt ${blacs} -lpthread" \
+ mkl_add_prof ${prof}-dynamic-blacs blacs
+ libs="${scal} -lmkl_rt ${blacs} -lpthread" \
+ mkl_add_prof ${prof}-dynamic-scalapack scalapack
+ libs="-lmkl_rt ${blacs} -liomp5 -lpthread" \
+ mkl_add_prof ${prof}-dynamic-openmp-blacs blacs
+ libs="${scal} -lmkl_rt ${blacs} -liomp5 -lpthread" \
+ mkl_add_prof ${prof}-dynamic-openmp-scalapack scalapack
+}
+
+src_install() {
+ intel-sdp_src_install
+ echo -n > 35mkl "LDPATH="
+ for IARCH in ${INTEL_ARCH}; do
+ mkl_prof
+ sed -i -e '/mkl/s/$/:/' 35mkl
+ echo -n >> 35mkl "${INTEL_SDP_EDIR}/mkl/lib/${IARCH}"
+ [[ ${IARCH} == intel64 ]] && mkl_prof int64
+ done
+ echo >> 35mkl
+ doenvd 35mkl
+}