Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 194317 - sci-libs/itpp-4.0.0_rc1 (version bump)
Summary: sci-libs/itpp-4.0.0_rc1 (version bump)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Markus Dittrich (RETIRED)
URL: http://itpp.sf.net/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-30 21:34 UTC by Adam Piątyszek
Modified: 2007-10-17 08:16 UTC (History)
1 user (show)

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


Attachments
sci-libs/itpp-4.0.0_rc1.ebuild (version bump) (itpp-4.0.0_rc1.ebuild.patch,1.45 KB, patch)
2007-09-30 21:35 UTC, Adam Piątyszek
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Piątyszek 2007-09-30 21:34:01 UTC
Hi Markus,

Please find the attached patch against itpp-3.99.3.1.ebuild which provides the necessary updates for the first release candidate of the upcomming 4.0.0 stable release.

The updated ebuild uses pkg-config mechanism for selecting blas and lapack libraries (available in the newest blas/lapack ebuilds prepared by Sebastien).

BTW, there is one open issue not handled by the latest ebuild. The FFT/IFFT routines in IT++ can be provided by either FFTW or ACML or MKL. However, currently only FFTW works, because the necessary header files from ACML or MKL are not found during the IT++ configuration process. To make use of ACML or MKL FFT/IFFT support, we need some kind of mechanism to inform configure where "acml.h" and "mkl_dfti.h" are located, when available. Your ideas for solving this issue are welcome!

Thanks!
/Adam
Comment 1 Adam Piątyszek 2007-09-30 21:35:16 UTC
Created attachment 132267 [details, diff]
sci-libs/itpp-4.0.0_rc1.ebuild (version bump)
Comment 2 Markus Dittrich (RETIRED) gentoo-dev 2007-10-01 12:58:27 UTC
(In reply to comment #0)
> FFT/IFFT support, we need some kind of mechanism to inform configure where
> "acml.h" and "mkl_dfti.h" are located, when available. Your ideas for solving
> this issue are welcome!

Thanks a lot, Adam! Regarding fft: Could we pass the location via
configure, e.g., -with-fftw-include=<include>, in addition to the
already existing -with-fftw=<lib>? 

Thanks,
Markus
Comment 3 Adam Piątyszek 2007-10-01 18:56:33 UTC
(In reply to comment #2)
> (In reply to comment #0)
> > FFT/IFFT support, we need some kind of mechanism to inform configure where
> > "acml.h" and "mkl_dfti.h" are located, when available. Your ideas for solving
> > this issue are welcome!
> 
> Thanks a lot, Adam! Regarding fft: Could we pass the location via
> configure, e.g., -with-fftw-include=<include>, in addition to the
> already existing -with-fftw=<lib>? 

Markus, 

Unfortunately, the current implementation does not have --with-fft-include switch. So far, I have been recommending to use CPPFLAGS for passing -I/path/to/include and LDFLAGS for -L/path/to/libs.

Do you think it is more natural to have the accompanying --with-<feaure>-include switches for each configurable feature (module/library), rather than using CPPFLAGS for this purpose? If yes, I might add such a switch for the next release candidate of 4.0.0...

/Adam
Comment 4 Markus Dittrich (RETIRED) gentoo-dev 2007-10-02 12:53:33 UTC
(In reply to comment #3)
> Do you think it is more natural to have the accompanying
> --with-<feaure>-include switches for each configurable feature
> (module/library), rather than using CPPFLAGS for this purpose? If yes, I might
> add such a switch for the next release candidate of 4.0.0...
> 

I'd say that a "--with-<feaure>-include" switch is more natural since
it is self-documenting (via configure --help), it clearly indicates that 
linking against X is supported, and configure really is the
proper stage during building to setup the build environent. 
Appending things to C(PP)FLAGS seems more like a "hack" and is not
as apparent to (not so experienced) users. 

Markus 
Comment 5 Adam Piątyszek 2007-10-02 13:36:19 UTC
(In reply to comment #4)
> I'd say that a "--with-<feaure>-include" switch is more natural since
> it is self-documenting (via configure --help), it clearly indicates that 
> linking against X is supported, and configure really is the
> proper stage during building to setup the build environent. 
> Appending things to C(PP)FLAGS seems more like a "hack" and is not
> as apparent to (not so experienced) users. 

OK. Then I will provide an additional --with-fft-include=DIR switch in itpp-4.0.0-rc2. However, I still do not see how it can be used in the ebuild to set ACML or MKL specific include directory. Could you shed some light on this?

/Adam
Comment 6 Markus Dittrich (RETIRED) gentoo-dev 2007-10-03 13:11:21 UTC
(In reply to comment #5)
> OK. Then I will provide an additional --with-fft-include=DIR switch in
> itpp-4.0.0-rc2. However, I still do not see how it can be used in the ebuild to
> set ACML or MKL specific include directory. Could you shed some light on this?

Well, that's a whole different problem altogether and there's 
currently probably no clean way to do this. To do it properly, we 
probably had to introduce a virtual fft, an eselect fft mechanism,
combined with pkg-config to get all the right includes/libs (just like
for blas). Are there enough good other fft implementations around that
would make such an endeavor worthwhile?

Markus


Comment 7 Adam Piątyszek 2007-10-03 20:01:28 UTC
(In reply to comment #6)
> Well, that's a whole different problem altogether and there's 
> currently probably no clean way to do this. To do it properly, we 
> probably had to introduce a virtual fft, an eselect fft mechanism,
> combined with pkg-config to get all the right includes/libs (just like
> for blas). Are there enough good other fft implementations around that
> would make such an endeavor worthwhile?

I am not sure if a new fft virtual makes sense because FFT/IFFT routines
from FFTW, MKL and ACML use completely different interfaces. They only provide the same functionality for IT++. So, the situation is similar to the ACML's CBLAS - it works more or less the same as the reference CBLAS, but their interfaces are different.

As for the pros and cons of using AMD or Intel specific implementation of FFT on their CPUs instead of FFTW I do not have any performance results to present at the moment. But I might have a closer look at this issue. I have access to Core2Duo and AMD64 X2 platforms, both with 2GHz CPUs. 

/Adam
Comment 8 Markus Dittrich (RETIRED) gentoo-dev 2007-10-03 22:36:22 UTC
If we're dealing with different fft implementations for the itpp ebuild
only we could add USE flags (such as "acml-fft" or whatever). I usually
try to avoid USE flag clutter, but if there is a significant performance
increase for some arches with specific fft implementations that may be ok.
Then we could pass the proper libs/includes to itpp depending on which
fft was requested via the configure switches.
This way we can also make sure that the proper fft implementation is 
a dependency of itpp via "acml-fft? (" in DEPEND . 
Out current setup is probably broken anyway now that I think about it:
the line "fftw? ( ||" assumes that all listed fft implementations are equivalent
which they aren't since the libs probably differ in their names as well as
locations.

Thanks,
Markus
Comment 9 Markus Dittrich (RETIRED) gentoo-dev 2007-10-08 13:19:54 UTC
Hi Adam,

I just committed the ebuild for 4.0.0-rc2. I haven't added the
pkg-config pieces yet, mainly because the *-atlas ebuilds in
portage (3.7.34) don't provide the pkgconfig mechanism yet. 
Hopefully I can bump the atlas ebuilds soon to take care of this.

Thanks,
Markus
Comment 10 Adam Piątyszek 2007-10-15 07:18:24 UTC
(In reply to comment #9)
> I just committed the ebuild for 4.0.0-rc2. I haven't added the
> pkg-config pieces yet, mainly because the *-atlas ebuilds in
> portage (3.7.34) don't provide the pkgconfig mechanism yet. 
> Hopefully I can bump the atlas ebuilds soon to take care of this.

IT++ 4.0.0 final is out, so you can bump the ebuild and change it to pkgconfig mechanism. BTW, you can remove itpp-3.10.10 ebuild, since 3.10.12 is fully stable.
Should we try to ask other arch teams (e.g. alpha, hppa, ia64) to try IT++ out and keyword it?

BR,
/Adam
Comment 11 Markus Dittrich (RETIRED) gentoo-dev 2007-10-16 12:28:45 UTC
Hi Adam,

Thanks much for the note! I'll try to do this asap.
We can definitely try to get ia64, hppa and alpha
on board. I'll file a bug once 4.0 is in the tree.

Thanks,
Markus
Comment 12 Adam Piątyszek 2007-10-17 08:16:10 UTC
(In reply to comment #11)
> Thanks much for the note! I'll try to do this asap.
> We can definitely try to get ia64, hppa and alpha
> on board. I'll file a bug once 4.0 is in the tree.

Thanks!
BTW, we should change virtual/tetex to virtual/latex-base in all itpp ebuilds.
See bug #195894 for more details.

BR,
/Adam