|
|
Author
|
Topic: optimized sources (Read 44317 times)
|
|
_heinz
|
Hi Jason, The compact loop construction PFLOOP runs. some first impressions: ---> FFTlen 8192, PulsePoTLen 24, 1048576 loops. Standard: 9049838772 ticks, 8630.60 per loop, 0 rpt Plan < 512 FPU swi ! : 3892589440 ticks, 3712.26 per loop, 0 rpt Plan < 512 AK SSE ! : 5260680348 ticks, 5016.98 per loop, 0 rpt Plan < 512 BHx SSE ! : 13525734128 ticks, 12899.15 per loop, 0 rpt Plan < 512 BH SSE ! : 9339515956 ticks, 8906.86 per loop, 0 rpt ar=0.435000 done. Total flop count: 108711033335.208650 PulTimB 0.5 Totals: Ratio Ticks standard: 1.000 87462139372 Plan < 512 FPU swi ! : 0.609 53291444096 Plan < 512 AK SSE ! : 0.634 55471031448 Plan < 512 BHx SSE ! : 0.990 86608697300 Plan < 512 BH SSE ! : 0.772 67556177968 I´m surprised, did not expected it ---> Against the standard opt. case-construct it speeds up ~12% in FFTlen 8192, PulsePoTLen 24 And that it shows in FFTlen 8192, PulsePoTLen 24 ---> 3892589440 ticks, 3712.26 per loop and the original code FFTlen 8192, PulsePoTLen 24---> 4427492996 ticks, 4222.39 per loop looks like the LOOP-construct is faster in this case, but not in summary.... further measuring must manifest it.All cases compiled with /Zi /Od no compiler optimization... and MS-Compiler... so further improvement can be expected to use the Intel Compiler 
|
|
|
|
|
Logged
|
|
|
|
|
Jason G
|
Yeah, It is good now I can have a look at Pulsefind again now msvs is fixed!  , I think you might be finding a similar thing to what I've been seeing from a different part of the code: - the code is very sensitive to certain optimisation settings, I haven't worked out yet whether this is because the optimiser is improving some weakness in the code, or whether the code is written to take advantage of the optimisers, or perhaps [more likely] a little of both. Time [and examining the assembly output listing  ] will tell, I would easily place that 12% in the range of the optimiser so I have learned [the hard way] to take care to use final settings for timing comparison. That unexpected surprise might be a phantom, though it will be nice if it isn't  Jason
|
|
|
|
« Last Edit: 09 Nov 2007, 11:15:02 am by j_groothu »
|
Logged
|
|
|
|
|
_heinz
|
yes, all this must be analyzed.... I will have a look at the asm code...to see what is really going on there. As Joe alredy stated, shorter code must not be automatic fastest. I have a lot of not necessary assignments to some vars eleminated, so results not stored meanwhile to the vars, they will be hold in the registers for next operations.  fewer instructions for the same result We keep in mind every command must be loaded into the instruction register and executed by the instruction decoder so a well squeezed code can show any effects too, especially in big loops.  fewer instructions means smaller times The optimizing by setting compiler flags ... unrolling loops and fill the cache properly etc. are a other big field.... heinz
|
|
|
|
|
Logged
|
|
|
|
|
_heinz
|
access of 23 000 .... I didn´t expected it..... looks like a hot thread greatings to all who are reding here heinz
|
|
|
|
|
Logged
|
|
|
|
|
Jason G
|
access of 23 000 .... I didn´t expected it..... looks like a hot thread greatings to all who are reding here heinz Ithink It'll get much bigger yet, with the optimisations you are trying, and maybe a few from me too if I can consolidate a little  (and get some more study and work done first!  )
|
|
|
|
|
Logged
|
|
|
|
|
_heinz
|
Hi Jason,
have you access to the "Pre-Release Applications" Forum ? If not, ask the moderators to give you access rights.
heinz
|
|
|
|
|
Logged
|
|
|
|
|
Jason G
|
Hi Jason,
have you access to the "Pre-Release Applications" Forum ? If not, ask the moderators to give you access rights.
heinz
No, I didn't know there was such a place  . Have you let the cat out of the bag again Heinz? Who are the Moderators? (Never did pay much attention to the tags on the posts... I guess I should really know that  ) [Is there excellent stuff worth pestering a mod about in there I might want or need ?] Thanks, Jason
|
|
|
|
« Last Edit: 13 Nov 2007, 09:18:09 am by j_groothu »
|
Logged
|
|
|
|
|
Gecko_R7
|
Hi Jason,
have you access to the "Pre-Release Applications" Forum ? If not, ask the moderators to give you access rights.
heinz
No, I didn't know there was such a place  . Have you let the cat out of the bag again Heinz? Who are the Moderators? (Never did pay much attention to the tags on the posts... I guess I should really know that  ) [Is there excellent stuff worth pestering a mod about in there I might want or need ?] Thanks, Jason Joe and I are Mods, though this is more like the Maytag repairman's job around here. I think this can only be done by Admin rights (Simon), but have asked Joe if he is able to do it by chance as I don't see the option. Hang tight.
|
|
|
|
|
Logged
|
|
|
|
|
Jason G
|
Joe and I are Mods, though this is more like the Maytag repairman's job around here. I think this can only be done by Admin rights (Simon), but have asked Joe if he is able to do it by chance as I don't see the option. Hang tight.
thanks Gecko_R7! I have all the time in the world, no hurry. I have been informed by PM that some interesting/important things ARE in there, sounds good. Keep up with the intense moderation work Jason
|
|
|
|
« Last Edit: 13 Nov 2007, 11:17:01 pm by j_groothu »
|
Logged
|
|
|
|
|
Josef W. Segur
|
Joe and I are Mods, though this is more like the Maytag repairman's job around here. I think this can only be done by Admin rights (Simon), but have asked Joe if he is able to do it by chance as I don't see the option. Hang tight.
thanks Gecko_R7! I have all the time in the world, no hurry. I have been informed by PM that some interesting/important things ARE in there, sounds good. Keep up with the intense moderation work Jason I also cannot find a way to grant access, I'm sure Simon will when he becomes active again. I agree with Heinz that you'd find some of the discussions interesting, but I don't think there's anything you really need hidden there. Because the postings in threads there were made with the expectation they'd only be read by a limited group, I won't move or copy those threads to this public area. I'll just say that any of my own postings there may be quoted here, so if Heinz had something specific in mind which can be satisfied that way... Joe
|
|
|
|
|
Logged
|
|
|
|
|
Jason G
|
Thanks Joe, no probs 
|
|
|
|
|
Logged
|
|
|
|
|
_heinz
|
Compile FPUCOMP and AKSCOMP now two further compact versions of code ----------------------------------------------------------------------------------------------------------- ------ Rebuild All started: Project: Optimizer, Configuration: Release Win32 ------ Deleting intermediate and output files for project 'Optimizer', configuration 'Release|Win32' Compiling... Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.20404 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl /O2 /Ob2 /Oi /Ot /Oy /GT /GL /I "C:\I\SC\PulTimB_5\client\Header Files" /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\I\SC\PulTimB_5\client\vector" /I "C:\I\SC\PulTimB_5\client" /I "C:\I\SC\PulTimB_5\Optimizer" /I "C:\I\INTEL\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\I\INTEL\IPP\5.2_beta\ia32\include" /D "USE_IPP" /D "USE_SSE2" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_LIB" /D "_CONSOLE" /D "HAVE_SINF" /D "HAVE_COSF" /D "HAVE_ATANF" /D "USE_FPUCOMP" /D "USE_AKFCOMP" /D "USE_ASMLIB" /D "_DEBUG" /D "_WIN32" /D "_UNICODE" /D "UNICODE" /GF /Gm /EHsc /MTd /Zp16 /Gy /arch:SSE2 /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP .\AKfoldSSE.cpp AKfoldSSE.cpp -----AKFCOMP----- Compiling... Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.20404 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl /Od /Ot /Oy /GT /GL /I "C:\I\SC\PulTimB_5\client\Header Files" /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\I\SC\PulTimB_5\client\vector" /I "C:\I\SC\PulTimB_5\client" /I "C:\I\SC\PulTimB_5\Optimizer" /I "C:\I\INTEL\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\I\INTEL\IPP\5.2_beta\ia32\include" /D "USE_FPUCOMP" /D "USE_AKFCOMP" /D "USE_ASMLIB" /D "_DEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_LIB" /D "_CONSOLE" /D "HAVE_SINF" /D "HAVE_COSF" /D "HAVE_ATANF" /D "_UNICODE" /D "UNICODE" /GF /Gm /EHsc /MTd /Zp16 /Gy /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP .\opt_unopt.cpp opt_unopt.cpp Compiling... Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.20404 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl /O2 /Ob2 /Oi /Ot /Oy /GT /GL /I "C:\I\SC\PulTimB_5\client\Header Files" /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\I\SC\PulTimB_5\client\vector" /I "C:\I\SC\PulTimB_5\client" /I "C:\I\SC\PulTimB_5\Optimizer" /I "C:\I\INTEL\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\I\INTEL\IPP\5.2_beta\ia32\include" /D "USE_IPP" /D "USE_SSE2" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_LIB" /D "_CONSOLE" /D "HAVE_SINF" /D "HAVE_COSF" /D "HAVE_ATANF" /D "USE_FPUCOMP" /D "USE_AKFCOMP" /D "USE_ASMLIB" /D "_DEBUG" /D "_WIN32" /D "_UNICODE" /D "UNICODE" /GF /Gm /EHsc /MTd /Zp16 /Gy /arch:SSE /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP .\opt_SSEx.cpp opt_SSEx.cpp Compiling... Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.20404 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl /O2 /Ob2 /Oi /Ot /Oy /GT /GL /I "C:\I\SC\PulTimB_5\client\Header Files" /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\I\SC\PulTimB_5\client\vector" /I "C:\I\SC\PulTimB_5\client" /I "C:\I\SC\PulTimB_5\Optimizer" /I "C:\I\INTEL\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\I\INTEL\IPP\5.2_beta\ia32\include" /D "USE_IPP" /D "USE_SSE" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_LIB" /D "_CONSOLE" /D "HAVE_SINF" /D "HAVE_COSF" /D "HAVE_ATANF" /D "USE_FPUCOMP" /D "USE_AKFCOMP" /D "USE_ASMLIB" /D "_DEBUG" /D "_WIN32" /D "_UNICODE" /D "UNICODE" /GF /Gm /EHsc /MTd /Zp16 /Gy /arch:SSE /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP .\opt_SSE.cpp opt_SSE.cpp .\opt_SSE.cpp(95) : warning C4311: 'type cast' : pointer truncation from 'const float *__w64 ' to 'unsigned int' Compiling... Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.20404 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl /Od /Ob2 /Ot /Oy /GT /GL /I "C:\I\SC\PulTimB_5\client\Header Files" /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\I\SC\PulTimB_5\client\vector" /I "C:\I\SC\PulTimB_5\client" /I "C:\I\SC\PulTimB_5\Optimizer" /I "C:\I\INTEL\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\I\INTEL\IPP\5.2_beta\ia32\include" /D "USE_MMX" /D "USE_ASMLIB" /D "_DEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_LIB" /D "_CONSOLE" /D "HAVE_SINF" /D "HAVE_COSF" /D "HAVE_ATANF" /D "USE_FPUCOMP" /D "USE_AKFCOMP" /D "_UNICODE" /D "UNICODE" /GF /Gm /EHsc /MTd /Zp16 /Gy /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP .\opt_FPU.cpp opt_FPU.cpp -----FPUCOMP----- Compiling... Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.20404 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. cl /O2 /Ob2 /Ot /Oy /GT /GL /I "C:\I\SC\PulTimB_5\client\Header Files" /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\I\SC\PulTimB_5\client\vector" /I "C:\I\SC\PulTimB_5\client" /I "C:\I\SC\PulTimB_5\Optimizer" /I "C:\I\INTEL\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\I\INTEL\IPP\5.2_beta\ia32\include" /D "USE_FPUCOMP" /D "USE_AKFCOMP" /D "USE_ASMLIB" /D "_DEBUG" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_LIB" /D "_CONSOLE" /D "HAVE_SINF" /D "HAVE_COSF" /D "HAVE_ATANF" /D "_UNICODE" /D "UNICODE" /GF /Gm /EHsc /MTd /Zp16 /Gy /fp:fast /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP .\benchmark.cpp benchmark.cpp Creating library... Build log was saved at "file://c:\I\SC\PulTimB_5\Optimizer\Release\BuildLog.htm" Optimizer - 0 error(s), 1 warning(s) ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
heinz
|
|
|
|
|
Logged
|
|
|
|
|
Jason G
|
Okay, I'll be taking some time now to catch up on this in 'the area' now, look interesting  Jason
|
|
|
|
|
Logged
|
|
|
|
|
ScanMan
|
Hi,
I am new to this form and would like to know which app is best for my Computer.
The OS is Windows 2000 pro Service Pack 4 the Cpu is Dual Xeon 2.0 GHZ which app would be the best for my setup!
Regards
ScanMan
|
|
|
|
|
Logged
|
|
|
|
|
Gecko_R7
|
Hi,
I am new to this form and would like to know which app is best for my Computer.
The OS is Windows 2000 pro Service Pack 4 the Cpu is Dual Xeon 2.0 GHZ which app would be the best for my setup!
Regards
ScanMan
Welcome ScanMan. Check here: http://calbe.dw70.de/win32.html If you have a Core2-based CPU, you can use the sse3, or ssse3 based aps. Just decide whether you want pretty graphics version or not. If a prescott-based Xeon, the sse2 or sse3 will do fine. Some folks don't see any noticable gain w/ sse3 on prescott cpus. Depends on the specific cpu and other factors. You may or may not gain much vs. sse2 ap. Can always try them both and judge for yourself. BTW, if you have any further questions, please post in the following on-topic thread instead, or on the main Seti number crunching forum board  Thanks! The subject matter of this particular thread is development-based. http://lunatics.at/windows/crunch3r-new-apps-in-32-xp-sp2.0.htmlCheers!
|
|
|
|
« Last Edit: 17 Nov 2007, 03:43:19 pm by Gecko_R7 »
|
Logged
|
|
|
|
|
|
Quote!
The past is a source of knowledge, and the future is a source of hope. Love of the past implies faith in the future.- Stephen Ambrose, in Fast Company
|
 |  |  |
| |
| Site Statistics |
| Total Members: | 1,070 |
| Total Posts: | 10,723 |
| Total Topics: | 445 | | Downloads |
| Apps |
| Windows R-1.x | 25,141 |
| Windows R-2.0 | 20,352 |
| Windows R-2.2 | 36,615 |
| Linux 32bit 1.x | 6,573 |
| Linux 32bit 2.2 | 4,405 |
| Linux 64bit 2.2 | 1,784 |
| Alpha/IA64 | 203 |
| FreeBSD | 628 |
| HPUX | 345 |
| Subtotal: | 94,870 |
| Source packs: | 4,062 |
| Tool/WU packs: | 7,923 |
| Total: | 157,574 | | GBs dl'd: | 281.90 | | Pages served |
| Today: | 2,049 |
| Total: | 3,348,943 |
| (since 6/26/2006) |
| 173 Donations to S@H |
| U.S. Dollars: | 3,196.59 |
| Euros: | 863.90 |
| Last 24h: | $ 0.00 |
| Avg./24h: | $ 6.64 |
| Estim. total: | $ 4,319.66 |
Latest Member: Claggy |
| |
 | |  |
 |  |  |
| |
Online users/last 15m
21 Guests, 2 Users
Haselgrove, Raistmer 27 Members/last 24hHaselgrove, Jason G, Raistmer, Geoff, Urs Echternacht, gaulois952, Devaster, _heinz, Leaps-from-Shadows, The Grinch, ceciltseng, KWSN - jonnyv, Josef W. Segur, iceMan, zangetsu, WHRoeder, jbenfield, mark henderson, Geek@Play, firefox, Slawek, Claggy, popandbob, Vyper, Gecko_R7, KarVi, sunu
| |
 | |  |
|