diff options
-rw-r--r-- | sci-libs/mkl/ChangeLog | 22 | ||||
-rw-r--r-- | sci-libs/mkl/Manifest | 6 | ||||
-rw-r--r-- | sci-libs/mkl/metadata.xml | 13 | ||||
-rw-r--r-- | sci-libs/mkl/mkl-10.3.4.191.ebuild | 136 |
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 +} |