![]() |
![]() |
#375 |
"Ben"
Feb 2007
3,371 Posts |
![]()
Who compiles their own linux YAFU executables vs. using the pre-packaged binaries?
I ask because I've been running experiments on two versions I have access to and found that gcc version 3.2.3 apparently produces about 10% faster code than 4.1.2 with the same options. It is also 11-12% faster than 4.1.2 with -march=nocona -mtune=nocona, even though 3.2.3 has no knowledge of nocona and just uses generic code. Intel's C compiler (which I was shocked to find "just worked" using the existing code and makefile with CC=gcc simply replaced by CC=icc), performs approximately equivalently to gcc 3.2.3. If you do compile your own, what are the reasons? And would you change your mind if you were leaving 10+% performance on the table? Just curious... [edit] I haven't tried out the Intel compiler on windows builds yet... so don't know if its better than MSVC. I just have a trial license for the linux Intel Compiler at this point. Last fiddled with by bsquared on 2010-07-29 at 21:10 |
![]() |
![]() |
![]() |
#376 |
Sep 2004
B0E16 Posts |
![]()
Will it make a difference running 64-bit version of Yafu for siqs factoring against 32-bit version?
I downloaded Yafu 1.19 version, here a few updates: -on docfile.txt replace 1.15 version reference (Supported flags in v1.15 are:) -in the factor.log file output please correct yafu version, still shows v1.18. Jeff, could you compile Yafu for 64-bit windows? Thank you. |
![]() |
![]() |
![]() |
#377 |
"Ben"
Feb 2007
3,371 Posts |
![]()
I have a 64 bit windows version... just never posted it
![]() ![]() Gimme a sec... |
![]() |
![]() |
![]() |
#378 |
"Ben"
Feb 2007
3,371 Posts |
![]()
I've fixed the version issue in the log files, and I've fixed the docfile, thanks for finding those.
I'll post version 1.19.1 with the fixed code and docfile, along with 32 bit windows executables and linux binaries. I can post the 64 bit windows binaries that I have, but they won't have the logfile version fix. Also, I've noticed that the 64 bit windows executables perform terribly on a nehalem based CPU (specifically a X5570). I have no idea yet why this is the case. Other than this issue, the 64 bit executables will be much faster than the 32 bit ones on modern cpus (e.g. core2, amd64). |
![]() |
![]() |
![]() |
#379 | |
Sep 2004
2·5·283 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#380 |
"Ben"
Feb 2007
3,371 Posts |
![]()
Note, the linux binaries are not effected on nehalems. I have no idea yet why this is the case - something in the compiler? If anyone cares to performance test 32 bit vs. 64 bit on windows with a nehalem cpu, I'd be interested to hear the results, especially if the 64bit code is much faster as I'd normally expect. Maybe it is just my system...
Last fiddled with by bsquared on 2010-08-10 at 16:26 |
![]() |
![]() |
![]() |
#382 | |
"Ben"
Feb 2007
1101001010112 Posts |
![]() Quote:
On another system with the same OS (windows server 2003 R2), but a woodcrest 5160 cpu, cpu affinity does not matter. Either setting it to a single core or not, performance is fine. Does windows server interpret hyperthreads as cpus? So that when it says it is distributing over 4 cores it is really 2 cores with 2 hyperthreads? That would explain the performance hit. The dialog box for setting CPU affinity under task manager only gives a choice between 4 CPUs, not 8, which seems to suggest they are referring to physical cpus... but the performance indicates otherwise. Last fiddled with by bsquared on 2010-08-10 at 16:55 Reason: more info |
|
![]() |
![]() |
![]() |
#383 |
Sep 2004
2×5×283 Posts |
![]()
Strange, on a core i5 I see Yafu going faster when using 8 threads when the CPU only has 4 cores/4 threads with the 64-bit version.
Last fiddled with by em99010pepe on 2010-08-10 at 17:53 |
![]() |
![]() |
![]() |
#384 | |
"Ben"
Feb 2007
3,371 Posts |
![]() Quote:
Does anyone know if its possible to set processor affinity programmatically using windows API calls? Is that even a good idea to consider? |
|
![]() |
![]() |
![]() |
#385 |
May 2008
Worcester, United Kingdom
2·263 Posts |
![]()
Yes, it is easy to control processor affinity using CRT calls. it is often necessary to do this when timing because the time stamp counters on different processors are not synchronised. Let me know if you need more details.
|
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Running YAFU via Aliqueit doesn't find yafu.ini | EdH | YAFU | 8 | 2018-03-14 17:22 |
YAFU-1.34 | bsquared | YAFU | 119 | 2015-11-05 16:24 |
Yafu bug. | storflyt32 | YAFU | 2 | 2015-06-29 05:19 |
yafu-1.33 | bsquared | YAFU | 12 | 2012-11-08 04:12 |
yafu-1.32.1 | bsquared | YAFU | 21 | 2012-09-04 19:44 |