Forum > Windows

optimized sources

<< < (125/179) > >>

_heinz:
@cristipurdel
as far as I know the Unified Installer v0.37 has a detection mechanism of the CPU, but you can choose your app and the optimization(SSSE3) like yo can see there -->
Unified_Installer_v0.37
perhaps Jason can tell you some more about the mechanism of the installer.
further you can see it if you are looking at the stderr protocoll of the calculated wu's on your host.
heinz

cristipurdel:
Sorry, for not being more precise. I'm interested in a general application that can detect the cpu optimizations. The lunatics installer was just an example.

Jason G:
SSE through SSE4.2 aren't 'optimisations', they are instruction sets.  As such there aren't 'usuallly' outward means of determining whether a given application uses certain instructions, though we usually put the maximum instruction set level (SSE Level) as  part of the file name.

Stock Mutibeam uses internal benching/dispatching mechanisms to decide which functions to use.  Typically an AK or BH variant is chosen fom those, and the selected function is noted in the stderr output. Those are mostly SSE.

In many cases the instructions chosen represent microarchitectural optimisation, which is one level of optimisation that applies only to specific hardware.  Most optimisations that provide greatest benefit tend to be algorithmic (general) optimisations and are not dependant on the instructions used.  In those cases there are no outward indications of hardware required.

Differnet instructions from different SSE levels built into the microprocessors may or may not be useful for given code, and in most cases simply telling the compiler to use those instructions doesn't do a very good job (i.e. is niot optimisation!)

If you really want to 'see' what instructions were used, then the most effective means I know of would be to use a debugger that shows some disssassembly of the executable code, which you could then look up the instructions in CPU manufacturer reference materials.  Short of that, looking at the source code if curious is never a bad idea IMO if available. (and quite a bit easier  ;))

Jason

_heinz:

--- Quote from: cristipurdel on 28 Sep 2010, 04:16:17 pm ---Sorry, for not being more precise. I'm interested in a general application that can detect the cpu optimizations. The lunatics installer was just an example.

--- End quote ---
if you want to see which instruction set(SSE SSE2 SSE3 SSSE3 etc) your cpu support you can use Everest Ultimate
or very easy cpuz
~~~~~~~~
A typical report from Everest looks like this:
Informationsliste   Wert
CPU-Eigenschaften   
CPU Typ   Intel Atom 230, 1600 MHz (12 x 133)
CPU Bezeichnung   Diamondville-SC
CPU stepping   C0
Befehlssatz   x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3
Vorgesehene Taktung   1600 MHz
Min / Max CPU Multiplikator   6x / 12x
Engineering Sample   Nein
L1 Code Cache   32 KB
L1 Datencache   24 KB
L2 Cache   512 KB  (On-Die, ECC, ASC, Full-Speed)
   
Multi CPU   
Motherboard ID   nVidia MCP79
CPU #1   Intel(R) Atom(TM) CPU 230 @ 1.60GHz, 1600 MHz
CPU #2   Intel(R) Atom(TM) CPU 230 @ 1.60GHz, 1600 MHz
   
CPU Technische Informationen   
Gehäusetyp   437 Ball FC-BGA
Gehäusegröße   2.2 cm x 2.2 cm
Transistoren   47 Mio.
Fertigungstechnologie   45 nm, CMOS, Cu, High-K + Metal Gate
Gehäusefläche   25 mm2
Typische Leistung   4 W @ 1.60 GHz
   
CPU Hersteller   
Firmenname   Intel Corporation
Produktinformation   http://www.intel.com/products/processor
   
CPU Auslastung   
1. CPU / 1. HTT Einheit   0 %
1. CPU / 2. HTT Einheit   0 %


heinz

Raistmer:
Debugger as Jason said + profiler like VTune or Code Analyst. They will show "optimization level" in some performance terms and actually intended to be used for "optimization level" assessment.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version