Current Version and Optimized Apps

steveplanetary
steveplanetary
Joined: 31 May 09
Posts: 13
Credit: 15550
RAC: 0
Topic 194644

At present time I am crunching h1_1028.60_S5R4_693_S5R6a using app Hierarchical S5 all-sky GW search #6 S5R6a. Is this app the current version, and is there an optimized app available? Also, for ABP1 my two apps are 3.10 and 3.12, both einsteinbinary, windows, intelx86. Are these the current versions, and are there optimized apps? Thanks, Steve

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5877
Credit: 118771226505
RAC: 21403235

Current Version and Optimized Apps

Quote:
At present time I am crunching h1_1028.60_S5R4_693_S5R6a using app Hierarchical S5 all-sky GW search #6 S5R6a. Is this app the current version, and is there an optimized app available? Also, for ABP1 my two apps are 3.10 and 3.12, both einsteinbinary, windows, intelx86. Are these the current versions, and are there optimized apps? Thanks, Steve


There are two separate links on the front page. One lists the current official applications, including the date they were released. The other link is to the beta test program where any new (and perhaps improved/faster) apps will be announced and made available.

At E@H, the usual procedure is to test new apps through a beta test using the AP mechanism by way of an appropriate 'app_info.xml' file. If you check the beta test link you will find that right at the moment, there are no such apps under test. The most efficient apps currently available are, therefore, the official apps that your machine downloads automatically.

If you are not using the listed official apps, you must have failed to cancel an old beta test participation. The easiest way to cancel out of an old beta test is to set NNT and allow your cache to drain and be reported. Then stop BOINC, delete app_info.xml (and nothing else) and restart BOINC. If you don't immediately automatically download the new apps, just select the E@H project in BOINC Manager and click 'update'. You may need to do this twice (after a short delay - 1 min) if you get a message about no tasks available.

Cheers,
Gary.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 786361169
RAC: 1254482

Hi! The term "optimized

Hi!

The term "optimized app" is used in many ways in the BOINC-world, so maybe some explanation is in order.

If "optimized app" is meant to be an app that is not distributed automatically by the project (but either by a third party or as a beta test app by the project) and is faster than the official (stock) app (you see this kind of third party apps a lot at SETI@HOME) then the answer is NO, there are no such apps for E@H at the moment.

If (perhaps more fitting) "optimzed app" is meant to be any app that was written to take advantage of special CPU capabilities that some CPUs have and others don't (="optimzed for feature XXX"), then YES, the offical apps are optimized apps:

S5R6 for Windows and Linux : The app is distributed as a combo of 3 variants, the best variant for a given hardware is automatically chosen:

a) "unoptimized" app runs an virtually all x86 CPUs (since the 486, I guess)
b) SSE optimized app: runs on Pentium 3 and later (intel) and Athlon XP and later (AMD)
c) SSE2 optimized app: runs on Pentium 4, Pentium M and later, and Athlon 64 and later

S5R6 for OSX (Intel): All Intel Macs support at least SSE2, so the apps are always "optimzed" for SSE2, if you want to call it that way

S5R6 for OSX (PowerPC): there's an optimized app for AltiVec capable Macs

ABP1 (Windows and Linux):
The app takes advantage of SSE

ABP1 (OSX Intel):
same as with S5R6

The ABP1 app's optimization is left to the compiler, while the S5R6 was "handoptimized" to use SSE vector instructions in handcrafted assembly code, most of it derived from the work that Akos has done in his legendary optimized apps. So his optimizations continue to benefit the offical apps until today.

CU
Bikeman

steveplanetary
steveplanetary
Joined: 31 May 09
Posts: 13
Credit: 15550
RAC: 0

RE: Hi! The term

Message 95767 in response to message 95766

Quote:

Hi!

The term "optimized app" is used in many ways in the BOINC-world, so maybe some explanation is in order.

If "optimized app" is meant to be an app that is not distributed automatically by the project (but either by a third party or as a beta test app by the project) and is faster than the official (stock) app (you see this kind of third party apps a lot at SETI@HOME) then the answer is NO, there are no such apps for E@H at the moment.

If (perhaps more fitting) "optimzed app" is meant to be any app that was written to take advantage of special CPU capabilities that some CPUs have and others don't (="optimzed for feature XXX"), then YES, the offical apps are optimized apps:

S5R6 for Windows and Linux : The app is distributed as a combo of 3 variants, the best variant for a given hardware is automatically chosen:

a) "unoptimized" app runs an virtually all x86 CPUs (since the 486, I guess)
b) SSE optimized app: runs on Pentium 3 and later (intel) and Athlon XP and later (AMD)
c) SSE2 optimized app: runs on Pentium 4, Pentium M and later, and Athlon 64 and later

S5R6 for OSX (Intel): All Intel Macs support at least SSE2, so the apps are always "optimzed" for SSE2, if you want to call it that way

S5R6 for OSX (PowerPC): there's an optimized app for AltiVec capable Macs

ABP1 (Windows and Linux):
The app takes advantage of SSE

ABP1 (OSX Intel):
same as with S5R6

The ABP1 app's optimization is left to the compiler, while the S5R6 was "handoptimized" to use SSE vector instructions in handcrafted assembly code, most of it derived from the work that Akos has done in his legendary optimized apps. So his optimizations continue to benefit the offical apps until today.

CU
Bikeman

Thanks for the explanation, Bikeman. So, in my ...projects/einstein.phys.uwm.edu folder I have 3 apps: einstein_S5R6_3.01_windows_intelx86_0(or 1)(or 2).exe. Since I have an Athlon-XP-M, which is SSE capable, can I assume that the _1 version was chosen? BOINC Manager just lists the app as Hierarchical S5 all-sky GW search #6 3.01.

Steve

DanNeely
DanNeely
Joined: 4 Sep 05
Posts: 1364
Credit: 3573739707
RAC: 733028

RE: Thanks for the

Message 95768 in response to message 95767

Quote:
Thanks for the explanation, Bikeman. So, in my ...projects/einstein.phys.uwm.edu folder I have 3 apps: einstein_S5R6_3.01_windows_intelx86_0(or 1)(or 2).exe. Since I have an Athlon-XP-M, which is SSE capable, can I assume that the _1 version was chosen? BOINC Manager just lists the app as Hierarchical S5 all-sky GW search #6 3.01.

Correct. Open task manager, go to the processes tab. You'll see the _1.exe running there.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 786361169
RAC: 1254482

It's also visible in the

It's also visible in the logging output of the S5R6 tasks, e.g. here

http://einsteinathome.org/task/149137610

Happy Crunching
Bikeman

steveplanetary
steveplanetary
Joined: 31 May 09
Posts: 13
Credit: 15550
RAC: 0

RE: It's also visible in

Message 95770 in response to message 95769

Quote:

It's also visible in the logging output of the S5R6 tasks, e.g. here

http://einsteinathome.org/task/149137610

Happy Crunching
Bikeman

I see what you mean. But the link you provided was for a completed task. The app appears in the 7th line down, as well as elsewhere. For the current task there's not nearly as much detail. In fact the application version is given as ----- in the last line. Can you tell me why there is so little detail? Also, can you tell me how using SSE imparts an advantage? TIA

Cheers, Steve

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 786361169
RAC: 1254482

RE: RE: It's also visible

Message 95771 in response to message 95770

Quote:
Quote:

It's also visible in the logging output of the S5R6 tasks, e.g. here

http://einsteinathome.org/task/149137610

Happy Crunching
Bikeman

I see what you mean. But the link you provided was for a completed task. The app appears in the 7th line down, as well as elsewhere. For the current task there's not nearly as much detail. In fact the application version is given as ----- in the last line. Can you tell me why there is so little detail? Also, can you tell me how using SSE imparts an advantage? TIA

Cheers, Steve

For unfinished work, there is no way BOINC can predict the version, and the log is only sent to the server after the WU has finished. But you can be assured that if one job used the *_1.exe variant, all will do.

SSE stands for Streaming SIMD Extensions and is an extension to the rather ancient x86 CPU instruction set.

SSE has (among other things) instructions that can perform the same arithmetic operation on 4 different operands in one go, e.g. multiply 4 numbers pairwise to another 4 numbers(SIMD = single instruction, multiple data).

If the computation allows this kind of grouping, the potential for speed-up is obvious: less instructions , less clock-cylcles.

However, it was not until the Core2 (Intel) and Phenom (AMD) series CPUs that CPUs would fully use this parallelism, as older SSE-capable chips like the Pentium 3,4 or Athlons would internally divide the 128 bit wide SSE instructions into two 64 bit wide instructions. But even that's better than without SSE, of course.

CU
Bikeman

Odysseus
Odysseus
Joined: 17 Dec 05
Posts: 372
Credit: 20912732
RAC: 6127

RE: I see what you mean.

Message 95772 in response to message 95770

Quote:
I see what you mean. But the link you provided was for a completed task. The app appears in the 7th line down, as well as elsewhere. For the current task there's not nearly as much detail. In fact the application version is given as ----- in the last line. Can you tell me why there is so little detail?


The database server doesn’t know exactly what application is working on a task while it’s in progress; it’s up to the download server to make sure the client has an appropriate app when sending out work. Most of the information you see in a completed task comes from the result file that was uploaded at the end of the computation.

Quote:
Also, can you tell me how using SSE imparts an advantage?


I know next to nothing about how it works, but I believe the general idea is that such features allow groups of similar computations to be performed in parallel rather than serially. For a simple-minded example, suppose you need to multiply each of the numbers 2, 3, 5, & 9 by 7. Assuming your calculator has enough digits, you could just multiply the number 2030509 by 7, yielding 14213563, in which each pair of digits represents one of the answers. Where the computation is ‘expensive’ in terms of CPU-time, the ‘overhead’ from concatenating the operands and breaking down the result is more than compensated for by the savings obtained from doing only one calculation instead of four.

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5877
Credit: 118771226505
RAC: 21403235

RE: Can you tell me why

Message 95773 in response to message 95770

Quote:
Can you tell me why there is so little detail?


A task cannot be sure, in advance, of the details of exactly how it will be crunched. In other words, it's just a common template suitable for all hosts whose details will be filled in by your particular client at the time it is crunched. That's why you have to look at returned results if you want to see all the nitty gritty details.

Quote:
Also, can you tell me how using SSE imparts an advantage?


If you remember the bad old days of Intel's 486 processor you may recall there were two versions, a 486SX and a 486DX. The former had no hardware to do floating point and relied on emulation of the hardware in software. The 486DX had a hardware FPU and was therefore much faster if floating point was involved. Similarly, modern processors with SSE, SSE2, etc instructions can perform complex calculations much faster than if those instructions had to be emulated. The cleverness of the E@H approach is that the 'switcher' app will always choose the crunching program that best matches the capabilities of your processor quite automatically without you having to make any decisions whatsoever.

EDIT: Looks like a bunch of us decided to pen a reply at much the same time :-). I guess the OP can really get a quite diverse set of answers to his questions. That should help confuse him no end :-).

Cheers,
Gary.

steveplanetary
steveplanetary
Joined: 31 May 09
Posts: 13
Credit: 15550
RAC: 0

RE: RE: Can you tell me

Message 95774 in response to message 95773

Quote:
Quote:
Can you tell me why there is so little detail?

A task cannot be sure, in advance, of the details of exactly how it will be crunched. In other words, it's just a common template suitable for all hosts whose details will be filled in by your particular client at the time it is crunched. That's why you have to look at returned results if you want to see all the nitty gritty details.

Quote:
Also, can you tell me how using SSE imparts an advantage?

If you remember the bad old days of Intel's 486 processor you may recall there were two versions, a 486SX and a 486DX. The former had no hardware to do floating point and relied on emulation of the hardware in software. The 486DX had a hardware FPU and was therefore much faster if floating point was involved. Similarly, modern processors with SSE, SSE2, etc instructions can perform complex calculations much faster than if those instructions had to be emulated. The cleverness of the E@H approach is that the 'switcher' app will always choose the crunching program that best matches the capabilities of your processor quite automatically without you having to make any decisions whatsoever.

EDIT: Looks like a bunch of us decided to pen a reply at much the same time :-). I guess the OP can really get a quite diverse set of answers to his questions. That should help confuse him no end :-).

Thank you all for taking the time to answer my questions.

Happy crunching, Steve

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.