Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 96426 - new version mkl 8.x
Summary: new version mkl 8.x
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Gentoo Science Related Packages
URL: http://developer.intel.com/software/p...
Whiteboard:
Keywords:
: 36283 128198 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-06-17 18:42 UTC by Ron Waldon
Modified: 2007-03-25 20:15 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
mkl-8.1.1.004 ebuild (mkl-8.1.1.004.ebuild,5.79 KB, text/plain)
2006-11-16 09:22 UTC, José María Fernández González
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Waldon 2005-06-17 18:42:43 UTC
currently no ebuild for new version mkl 7.2.1.003
can be downloaded from:
ftp://download.intel.com/software/products/mkl/downloads/l_mkl_p_7.2.1.003.tar.gz


Reproducible: Always
Steps to Reproduce:
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-08-19 17:15:18 UTC
*** Bug 36283 has been marked as a duplicate of this bug. ***
Comment 2 Sébastien Fabbro (RETIRED) gentoo-dev 2006-02-02 11:42:02 UTC
For those interested, I put an ebuild of mkl version 8.0.1.006 on the overlay (http://gentooscience.org).
Intel MKL uses quite a lot of resources to install, so be aware.

The ebuild was redone from scratch and is still in early stages, but it seems to work. It is non interactive, and avoids installing rpm (only rpm2targz).
Anyone willing to help is more than welcome!


Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2006-02-02 11:48:05 UTC
(In reply to comment #2)
> The ebuild was redone from scratch and is still in early stages, but it seems
> to work. It is non interactive, and avoids installing rpm (only rpm2targz).
> Anyone willing to help is more than welcome!

Perhaps you could use the existing rpm eclass to make this ebuild simpler.
Comment 4 Sébastien Fabbro (RETIRED) gentoo-dev 2006-02-02 12:18:31 UTC
Well I did try to use the rpm eclass without success, like the icc/ifc ebuilds do. The rpm created from the big install does not look very kosher, with rpmoffset and cpio failing to extract files. Using the full app-arch/rpm and associated database bring too many polluting dependencies.

If anyone has more experience dealing with intel rpms, please help.

BTW, I emailed Intel support for existing non-rpm dependent versions of mkl and ipp. Their response was they are working on a new install, which should do the job.
Comment 5 Sébastien Fabbro (RETIRED) gentoo-dev 2006-02-06 13:27:25 UTC
I reworked the ebuild significantly if anyone wants to give a try. I insisted and ended up using rpm_unpack, thanks spyderous. 
News are fortran95 implementation, some scripts to deal with the blas-config/eselect stuff, and a lot of other changes.

There is a couple things which still need work: eselect does not show the mkl implementation, even after a scan.
Also, right now the chosen solution to make it work for gentoo-like virtuals is merging the libs into one big library, through a rather ugly process.
I would need libtool and eselect experts to give it a look.

Also, it could benefit optimization with a cpu detection command (p3,p4,p4 with sse3,etc...). Is there anything wrong grep'ed /proc/cpuinfo for this?
Comment 6 Donnie Berkholz (RETIRED) gentoo-dev 2006-02-06 13:45:29 UTC
(In reply to comment #5)
> Also, it could benefit optimization with a cpu detection command (p3,p4,p4 with
> sse3,etc...). Is there anything wrong grep'ed /proc/cpuinfo for this?

Yes, because that breaks binary packages moved to different machines; also, cpuinfo formatting can be very unreliable. Can you use CFLAGS for this? Perhaps you could clear up exactly what you want to do with the cpu info.
Comment 7 Sébastien Fabbro (RETIRED) gentoo-dev 2006-02-06 16:00:03 UTC
(In reply to comment #6)

> cpuinfo formatting can be very unreliable. Can you use CFLAGS for this? Perhaps
> you could clear up exactly what you want to do with the cpu info.

The cpu detection is needed to create a optimized kernel blas implementation. MKL comes with (e.g. x86) a libmkl.so as a core kernel, then one has to choose among libmkl_p3.so, libmkl_p4.so or libmkl_p4e.so depending on your processor. To make a full blas implemention, my idea was to create a libblas.so, merging the proper libs according to the cpu info.

I updated the ebuild using the CFLAGS parsing option, but the list of parsed flags is certainly far from complete.

Now anyone has an idea how to merge .so libs on a portable way, or has a more clever idea to use mkl as one of the blas/lapack virtual?

Comment 8 Sébastien Fabbro (RETIRED) gentoo-dev 2006-02-13 15:40:02 UTC
(In reply to comment #7)

It turns out to be a reasonably bad idea, creating extra huge libraries.
To go further into this ebuild, I would need some help regarding eselect.
Of what I see in /usr/share/eselect/modules/{blas,lapack}.eselect, MKL is in, but hardcoded for version 7.2, which is neither in portage nor in bugs entries.

Is the idea of eselect {blas,lapack} not only to select the library but also to show compilation flags, as a full replacement of {blas,lapack}-config? If yes, I can not see the option.

MKL could really benefit of just showing compilation or link flags, properly selecting the CPU and threadings, instead of merging and re-installing the libraries.
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2006-03-30 22:36:57 UTC
*** Bug 128198 has been marked as a duplicate of this bug. ***
Comment 10 Sébastien Fabbro (RETIRED) gentoo-dev 2006-04-18 02:07:25 UTC
Hi,

Updates from the gentooscience overlay:
- simple bump to 8.0.2.004 for the standard mkl
- bump to 8.1.014. This mkl version is available when registering to premier.intel.com. Intel fixed a number of installation bugs, and consequently mkl ebuild changed a lot. This last ebuild doesn't provide mkl as a blas/lapack virtual yet, therefore much easier. It only installs mkl and update environment variables. Also note this new mkl provides a fftw (static libs only) implementation.

Sebastien
Comment 11 José María Fernández González 2006-11-16 09:20:48 UTC
There is no ebuild for mkl-8.1.1.004.
Comment 12 José María Fernández González 2006-11-16 09:22:38 UTC
Created attachment 102112 [details]
mkl-8.1.1.004 ebuild

Here you are one ebuild for mkl 8.1.1.004, which is a slightly changed version of mkl-8.1.014.ebuild, in order to fix problems with the Intel mkl installer.
Comment 13 Donnie Berkholz (RETIRED) gentoo-dev 2006-11-16 12:30:38 UTC
I'll try to bump this soon, I've been doing other Intel stuff yesterday.
Comment 14 Sébastien Fabbro (RETIRED) gentoo-dev 2007-03-25 20:15:28 UTC
I updated the mkl to version 9.0.018 in the main tree. Once again, intel had changed the installation process. I will try to support this version.
Packaging the mkl is quite involved. As a remark, if Intel continues to grow their binary blob (it is now up to 400Mb), as long as modifying the installation process, I doubt the work of packaging it is worth it.