Are any or all of these apps multi-threaded for multi-cores?

Cr0nJ0b

Golden Member
Apr 13, 2004
1,141
29
91
meettomy.site
Just a few general questions...

Which if any of these apps are multi-threaded and optimized to run against multi-core procs?

In general are the apps CPU bound or both?

Do they take advantage of any peripheral hardware like sound card or video card procs/memory?

Do they take advantage of any of the extended instruction sets like MMX etc, which would make running on Intel better than AMD?

Do these apps in general run more efficiently on Linux or Windows?

thanks for the help.
 

BlackMountainCow

Diamond Member
May 28, 2003
5,759
0
0
Which if any of these apps are multi-threaded and optimized to run against multi-core procs?
There are a few multithreaded DC projects, like DPAD. In general, though, they aren't. But they get around it by simply running two single threaded instances at the same time. So the single/dual core question is no problem at all.

In general are the apps CPU bound or both?
Not sure what that question means, but if it's about AMD / Intel bound, then no, they aren't. Some will be a bit faster on AMD, some on Intel, depending on which compiler was used creating the apps, but in general: no!

Do they take advantage of any peripheral hardware like sound card or video card procs/memory?
Right now, only Folding@Home does take advantage of specific ATI gfx cards, so you can complete work on both your CPU and gfx card.

Do they take advantage of any of the extended instruction sets like MMX etc, which would make running on Intel better than AMD?
Yes, absolutely. From MMX to SSE2 (SSE3 not yet, as far as I know). Einstein@Home for example uses highly optimized apps with MX/SSE2 optimizations.

Do these apps in general run more efficiently on Linux or Windows?
Roughly spoken, on windows. There are often speed problems with BOINC based DC projects on Linux, and as a result of that, also with the credit given. But other DC projects, not BOINC based, are the same speed or sometimes faster on Linux. I'd say it's a pretty level field, if the project is picked carefuly.

:beer:

If you have more question, just ask right away, and take a look into our welcome thread.

:beer:
 

Cr0nJ0b

Golden Member
Apr 13, 2004
1,141
29
91
meettomy.site
Thanks for the response. The question about CPU versus memory was poorly worded. What I was getting at, is if I have a fast CPU but limited amount of memory, will the system be slower than if I have more memory? If I have faster memory will that have a greater effect than Faster CPU etc.

 

Philippart

Golden Member
Jul 9, 2006
1,290
0
0
Exellent answer BMC!

But I'd like to add:
Do they take advantage of any of the extended instruction sets like MMX etc, which would make running on Intel better than AMD?
Yes, absolutely. From MMX to SSE2 (SSE3 not yet, as far as I know). Einstein@Home for example uses highly optimized apps with MMX/SSE2 optimizations.

It doesn't make Intel faster than AMD since both use SSE1/2/3

SSE3 isn't used by any DC projects (yet), the Einstein@home team for instance said that it wouldn't have any speed benefits for DC applications.


 

BlackMountainCow

Diamond Member
May 28, 2003
5,759
0
0
Thanks for the response. The question about CPU versus memory was poorly worded. What I was getting at, is if I have a fast CPU but limited amount of memory, will the system be slower than if I have more memory? If I have faster memory will that have a greater effect than Faster CPU etc.

Ah, got it. That heavily depends on the project. ClimatePrediction.Net for example has a gigantic memory footprint, as they simulate a whole climate system. So here RAM will become your bottle neck sooner than CPU power. For projects like Rosetta, Malaria or others, memory footprint is somewhere between 15 and 100 MB, also depending on the different work units you process. In these cases, the CPU will be the bottleneck.

Example: I own an old PIII 600 with 192 MB RAM. It does fine with Rosetta, finishing a WU in 3 hours and yielding some 100 creds a day. If I were to put that machine on Climate, I doubt it would even start. But when I upgraded my X2 4200+ to 2 GB of RAM, I didn't see any performance gains in Rosetta, Proteins and Docking.

:beer:
 

BlackMountainCow

Diamond Member
May 28, 2003
5,759
0
0
Originally posted by: Philippart
Exellent answer BMC!

But I'd like to add:
Do they take advantage of any of the extended instruction sets like MMX etc, which would make running on Intel better than AMD?
Yes, absolutely. From MMX to SSE2 (SSE3 not yet, as far as I know). Einstein@Home for example uses highly optimized apps with MMX/SSE2 optimizations.

It doesn't make Intel faster than AMD since both use SSE1/2/3

SSE3 isn't used by any DC projects (yet), the Einstein@home team for instance said that it wouldn't have any speed benefits for DC applications.

Yes, in theory that's true of course. But some compilers (especially Intel) set specific flags to only enable SSE support if the CPU used is a genuine Intel. The devs need to set a special flag/option to prevent this from happening. But as I said, yes, no diff between Intel and AMD if compled properly.

:beer:
 

Rattledagger

Elite Member
Feb 5, 2001
2,994
19
81
Originally posted by: Cr0nJ0b
Thanks for the response. The question about CPU versus memory was poorly worded. What I was getting at, is if I have a fast CPU but limited amount of memory, will the system be slower than if I have more memory? If I have faster memory will that have a greater effect than Faster CPU etc.
Actually, there's 2 effects here, the amount of memory application uses, this is normally fixed for a given application/wu, and as long as you've got enough memory so don't start swapping to disk, adding more memory won't help. Now Seasonal Attribution is out of work, probably the project demanding most memory is WCG's Help Defeat Cancer, that demands 716 MB and routinely uses atleast half of this. Since CPDN has been mentioned, it's using around 75 MB, meaning other projects like Rosetta@home can use more.

But, atleast for SETI@home, crunching-speed can depend on available memory, there low-end 32 MB-systems will use no caching but re-calculate everything, while systems with enough memory will use 2? different caches and re-use values for some of the calculations, and can peak-out at 100 MB used memory. Not sure on the actual memory-limits for starting to use caching, but would guess at 256 MB memory or more there won't be any benefit with adding more memory... this as long as don't start to swap that is. ;)


So, to the 2nd. effect, and normally most important, some projects is heavily dependent on memory-speed and memory-bandwidth. AFAIK the most heavily dependent is CPDN, there increasing memory-speed can have a huge effect on speed, while increasing cpu-speed can give little benefit. SETI@home is also dependent on memory-speed, but to a lesser extent than CPDN. If you've got a dual-channel capable mainboard and a choise of same-speed 1x512 MB or 2x256 MB memory, for SETI@home and CPDN 2x256 MB is better.

Some other projects seems to be little influenced by memory-speed, and raw cpu-speed is the major contributor. Example Einstein@home and Folding@Home's Tinker/Gromacs seems to be little influenced by memory-speed...
 

GLeeM

Elite Member
Apr 2, 2004
7,199
128
106
Folding@Home has a new (still in open beta testing) client that is fully multi-threaded. It performs best on four cores, but will do OK on two. Only for 64-bit Linux and OSX OSes.

Some F@H work units (WUs) get a big speed up from larger L2 cache.
 

Cr0nJ0b

Golden Member
Apr 13, 2004
1,141
29
91
meettomy.site
thanks everyone for your responses...and as you might have feared, I have more questions.

I've started Moneybee, just to try things out. I like the screensaver...

I have a linux server that runs VMware for an XP client, but the client will be going away next year, so I'll have some capacity on that system.

Should I:

1) load a straight linux project...and which one? (P4 2.4, 1GB RAM) Looking for a humanatrian project that needs help. and something pretty easy to load up on Linux.
2) will this overwhelm the system, taking 100% process or play nice and easy along with my other apps?
3) should I run it in the VM?

thanks