Forum > Windows

ASM of compiled source of certain functions - by the Intel Compiler

(1/6) > >>

BenHer:
Hello Simon,

I'm a former optimizer of seti.  Was co-project manager on the sourceforge attempt at seti sourceforge attempt at seti...some of my code versions are still in there in the setiboinc/client/opt/ folder of CVS.

Contributed a few ideas to the project "Average turnaround time" and my version of a credit equalizer that became DCF, caching the sin/cos table of v_chirpdata (but nowhere as clever as Tetsuji's).

I was curious as to what loop unrolling and simd opcodes the Intel Compiler was making for various of the new functions for enhanced.

Would it be possible to turn on /Asm file generation for a .cpp file and post the assembly source for a given function?   For example the "v_GetPowerSpectrum"  and "v_ChirpData"  from analyzefuncs.cpp.

Thanks either way.

Simon:
Definitely possible. You'll just have to tell me what exactly you want - I'm not sure how to do ASM dumps of just a specific file.

Please give me more info, and I'll post the files tomorrow or Saturday.

Regards,
Simon.

BenHer:
Lemme see if I can remember how...

On the IDE - from the Property pages of a given .cpp file
Select the "Configuration Properties -> Debugging"
      or
Perhaps "C/C++ -> Output files"

Probably one of these has a line item for "assembly output" or ".asm" file or "/Asm" or the like.

The file is analyzefuncs.cpp - but the assembly source would be a huge post.  So maybe just the portions that encode for "v_GetPowerSpectrum"  and "v_ChirpData".

Simon:
It's almost that simple - I'm using "Whole Program Optimization" which tries to unroll and inline stuff all over your executable. This means I cannot produce asms for a specific source file only. I'm currently compiling with /Qipo-facs which should give an output file with assembly, machine code and source code in one and hopefully let me identify the functions you wanted to see.

Regards,
Simon.

Simon:
Well, here's my first attempt - though I just noticed I compiled my test source tree, instead of the release one. So these may contain hand-written assembly optimizations, next ones will be from the release tree.

These are from an SSE3-optimized build (/QxP /QaxP and USE_SSE3 in preproc flags).

Hope this helps you :)
Simon.

[attachment deleted by admin]

Navigation

[0] Message Index

[#] Next page

Go to full version