Boost logo

Boost :

Subject: Re: [boost] [Proposal] Adding CPUID Library in Boost
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2012-12-12 11:04:41


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Tim
> Blechmann
> Sent: Wednesday, December 12, 2012 9:09 AM
> To: boost_at_[hidden]
> Subject: Re: [boost] [Proposal] Adding CPUID Library in Boost
>
> >> > Which is why what I suggest is just part of Boost.SIMD. It is
> >> > geared towards one thing and one thing only: detecting whether a
> >> > particular SIMD extension is supported or not, and works across all architectures.
> >> > There is also cache detection that we could optionally add, the
> >> > code is already there.
> >> >
> >> > For reference, on other platforms you usually need to ask the
> >> > operating system about the hardware capabilities, since detecting
> >> > the capabilities can only be done by the kernel.
> > Vector programming is one of its applications, true. But hardly the
> > only one. Consider also atomic ops and things like AES and RDRAND.
> > Cache information can be useful for custom allocators. I'd rather have
> > a separate library that is used by Boost.SIMD or at least a highly
> > independent public component of Boost.SIMD (but then again, why is it
> > not a first class library?).
>
> +1
>
> run-time dispatching for cmpxchg8b on ia32 or cmpxchg16b on x86_64 all require access to CPUID and
> have absolutely nothing to do with SIMD programming. so i'd very much appreciate a separate
lightweight
> library ...

Sounds like a project that could be started neatly now using the shiny new GitHub system announced
by Beman last week.

Documentation for Git and Modular Boost conversion

Needs to be Boost Licence throughout (can be dual licensed if really necessary) but all the files
should carry the usual text, and the copyright of the author(s) (and include Shakti Misra if he is
doing the Boostification).

If it can be included by Boost.SIMD, so much the better, so some collaboration might be good? (But
can be duplicated if necessary).

Needs some Boost.Test style tests too of course. This may be tricky if the testers change hardware?

And some docs too. Tell me if I can help.

Paul

---
Paul A. Bristow,
Prizet Farmhouse, Kendal LA8 8AB  UK
+44 1539 561830  07714330204
pbristow_at_[hidden]

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