cpuid wrapper

Don Clugston dac at nospam.com.au
Tue Oct 24 05:38:20 PDT 2006


Paolo Invernizzi wrote:
> On my machine...
> 
> D:\Users\invernizzi\tmp>build test.d -exec
> Vendor string:    GenuineIntel
> Processor string:               Intel(R) Pentium(R) D CPU 3.00GHz
> Features:         MMX SSE SSE2 SSE3 AMD64 HTT
> Multithreading:   2 threads / 2 cores

And here's a single-thread result:

 >bud test.d -exec
Vendor string:    GenuineIntel
Processor string:         Intel(R) Pentium(R) M processor 1.86GHz
Features:         MMX SSE SSE2
Multithreading:   1 threads / 1 cores

> 
> ---
> Paolo Invernizzi
> 
> Tomas Lindquist Olsen wrote:
> 
>> Vendor string:    AuthenticAMD
>> Processor string: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
>> Features:         MMX SSE SSE2 SSE3 3DNow! 3DNow!+ MMX+ AMD64 HTT
>> Multithreading:   2 threads / 2 cores
>>
>> The threading info should work on both Intel and AMD cpus, but I have 
>> no way to test the Intel path. Any feedback would be much appreciated.


> Also, I'm considering creating a library with sse/2/3 optimised batch
 > operations for vector operations normalisation etc. Would such a library
 > be of interest to the D community?

Yes. But, make sure you're not just reinventing the wheel, since it's 
such a well-explored problem. I think it would make sense for D to come 
with a simple BLAS implementation for general use.

I just found one little BLAS1 implementation that's under a BSD license:

http://iridia.ulb.ac.be/~fvandenb/miniSSEL1BLAS/miniSSEL1BLAS.html

which looks as though it is D-compatible and easy to port. No doubt 
there are many others on the net.



More information about the Digitalmars-d-announce mailing list