Boost logo

Boost :

Subject: Re: [boost] [GSoC] SIMD proposal
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2011-03-23 20:39:45


On 2011-03-23 19:44, Mathias Gaunard wrote:
>
> Finally, the right options to enable those instruction sets must also
> be passed to the compiler whenever compiling code that uses the library.
> I think this is quite unique, as no other boost library requires
> specific compiler flags to be used AFAIK.
> Therefore it *could* make sense to also ship the bjam or cmake modules
> that allow to detect the best set of options available as part of the
> boost installation; but I understand that's quite a disruptive idea.

I'd like to suggest using a build-system-agnostic tool to report such
build options, which can be picked up by any build system.
I'm specifically thinking of pkg-config, which can report build flags
based on .pc files that can be provided with binary packages. That
system is widely used with most (if not all) Linux distributions, and it
supports many more platforms.

>
> In NT2 we also put other things in the configuration header but all of
> this is being reworked, and won't be in Boost.SIMD.
>
>
>> is bjam able to do everything we need to
>> do, or will we need to do the detection in any other way?
>
> If bjam can 1) compile temporary programs, run them and retrieve their
> output and 2) test whether the compiler supports some flags -- then
> we're fine.

While that sounds fine, please clearly separate the benchmark process
that you use to obtain machine characteristics from the actual build
process, such that the characteristics can be saved, distributed, and
reused, to have a deterministic build process.
(ATLAS calls these characteristics "architectural defaults".
http://math-atlas.sourceforge.net/faq.html#ArchDef)

Regards,
     Stefan

-- 
       ...ich hab' noch einen Koffer in Berlin...

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk