sse2 vs avx
log in

Advanced search

Message boards : Number crunching : sse2 vs avx

1 · 2 · Next
Author Message
pls2000
Send message
Joined: 3 May 18
Posts: 4
Credit: 0
RAC: 0
United States
Message 1285 - Posted: 3 May 2018, 7:52:26 UTC

I recall a statement on the message boards that the server software tests your machine by running plain, sse2, and avx tasks and then sends you the task you machine does best.

My machine has a Xeon E3-1245 cpu which is AVX capable. But all the TN tasks I get are sse2. Is the previous description actually how it works? If so, can I tell why I'm only getting sse2 tasks?

Thanks

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 624
Credit: 34,677,535
RAC: 0
Italy
Message 1286 - Posted: 3 May 2018, 16:26:32 UTC - in response to Message 1285.

I recall a statement on the message boards that the server software tests your machine by running plain, sse2, and avx tasks and then sends you the task you machine does best.

My machine has a Xeon E3-1245 cpu which is AVX capable. But all the TN tasks I get are sse2. Is the previous description actually how it works? If so, can I tell why I'm only getting sse2 tasks?

Thanks

Can you please provide a link to the computer you are talking about?

pls2000
Send message
Joined: 3 May 18
Posts: 4
Credit: 0
RAC: 0
United States
Message 1287 - Posted: 3 May 2018, 21:45:39 UTC - in response to Message 1286.

http://gene.disi.unitn.it/test/show_host_detail.php?hostid=13464

Profile Buro87 [Lombardia]
Send message
Joined: 23 Nov 16
Posts: 100
Credit: 4,000,541
RAC: 0
Italy
Message 1288 - Posted: 3 May 2018, 22:57:23 UTC - in response to Message 1287.

http://gene.disi.unitn.it/test/show_host_detail.php?hostid=13464


if you click on "Application details" you can see that: the sse2 version is more profitable for you (3,40 GFlops) against avx (2,83 GFlops)
this is the reason why you recieve much more sse2 wus

pls2000
Send message
Joined: 3 May 18
Posts: 4
Credit: 0
RAC: 0
United States
Message 1289 - Posted: 4 May 2018, 2:31:38 UTC - in response to Message 1288.

Thank you, nice to know how to see that.

But why would the sse2 version be faster than avx? Is this just a quirk of the particular application? Or is there a problem with the avx implementation on this particular cpu?

Profile [VENETO] boboviz
Send message
Joined: 12 Dec 13
Posts: 183
Credit: 4,641,505
RAC: 0
Italy
Message 1321 - Posted: 29 May 2018, 19:02:23 UTC - in response to Message 1289.
Last modified: 29 May 2018, 19:02:38 UTC

But why would the sse2 version be faster than avx? Is this just a quirk of the particular application? Or is there a problem with the avx implementation on this particular cpu?


With this new app, avx seems to be faster than sse2...

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 624
Credit: 34,677,535
RAC: 0
Italy
Message 1322 - Posted: 30 May 2018, 9:29:30 UTC - in response to Message 1321.
Last modified: 30 May 2018, 9:29:51 UTC

But why would the sse2 version be faster than avx? Is this just a quirk of the particular application? Or is there a problem with the avx implementation on this particular cpu?


With this new app, avx seems to be faster than sse2...

The new Windows app is just a recompilation of the original one with gcc 6.4.0, the source code was not modified.

noxcivi
Send message
Joined: 19 Aug 17
Posts: 3
Credit: 2,564,781
RAC: 0
Germany
Message 1323 - Posted: 30 May 2018, 19:13:57 UTC

An issue on my end is a pretty high error rate on sse2 tasks with my ryzen pc. avx runs flawless now.

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 624
Credit: 34,677,535
RAC: 0
Italy
Message 1324 - Posted: 31 May 2018, 11:02:09 UTC - in response to Message 1323.
Last modified: 31 May 2018, 11:03:53 UTC

An issue on my end is a pretty high error rate on sse2 tasks with my ryzen pc. avx runs flawless now.

I noticed it, exceptions due to 'illegal instructions'... The strange thing (at least for me) is that I do not understand this behavior after such a long computational time (it would make much more sense if the exception were raised at the very beginning, after just some seconds)

Profile tazzduke
Send message
Joined: 12 Jan 15
Posts: 1
Credit: 1,332,700
RAC: 0
Australia
Message 1361 - Posted: 15 Sep 2018, 5:25:15 UTC

Greetings All

Is there not a way to use an app_info or app_config file so as to stop the SSE2 version coming to your AVX preferred machine.

I have a Ryzen 5, that is better with AVX, but still gets the SSE2 version which errors out.

Just a thought

Regards

Profile Beyond
Avatar
Send message
Joined: 2 Nov 16
Posts: 50
Credit: 44,372,499
RAC: 0
United States
Message 1392 - Posted: 1 Dec 2018, 16:49:03 UTC - in response to Message 1324.

I have a Ryzen 2700 that is only sent avx WUs. Everything is fine there. Recently I brought back my 2 Ryzen 1700 machines and after failing a few sse2 WUs I started aborting them. After a couple days they started getting only avx WUs (for a long time). Now all of a sudden they're being sent large numbers of sse2 WUs again. The sse2 WUs are unreliable and often fail after wasting a LOT of CPU time.

Could you PLEASE either give us a choice in preferences to receive only avx WUs or set the server to only send avx to Ryzen machines. As an aside there's obviously a flaw in either the sse2 programming or compiling as Ryzens run all other programs flawlessly.

The 3 Ryzens are flawless on avx:

gene@home PC-IM 1.11 windows_x86_64 (avx)
Consecutive valid tasks 1491

gene@home PC-IM 1.11 windows_x86_64 (avx)
Consecutive valid tasks 1440

gene@home PC-IM 1.11 windows_x86_64 (avx)
Consecutive valid tasks 1382

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 624
Credit: 34,677,535
RAC: 0
Italy
Message 1394 - Posted: 2 Dec 2018, 2:13:50 UTC - in response to Message 1392.
Last modified: 2 Dec 2018, 2:14:54 UTC

By now, at 3am, the only idea I have is to use an appropriate app_info.xml. I will think more about it the next Monday.

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 624
Credit: 34,677,535
RAC: 0
Italy
Message 1405 - Posted: 3 Dec 2018, 15:15:46 UTC - in response to Message 1394.
Last modified: 3 Dec 2018, 18:06:33 UTC

By now, at 3am, the only idea I have is to use an appropriate app_info.xml. I will think more about it the next Monday.

The only 'official' way, that I know, for sending applications to hosts depending on some features, is the BOINC 'plan class' mechanism (https://boinc.berkeley.edu/trac/wiki/AppPlanSpec).
I may try to use the "cpu_model_regex" feature for sending sse2 tasks only to NOT Ryzen hosts. I will further investigate.

Jim1348
Send message
Joined: 29 Dec 16
Posts: 87
Credit: 21,013,002
RAC: 0
United States
Message 1419 - Posted: 8 Dec 2018, 12:14:59 UTC - in response to Message 1392.

I have a Ryzen 2700 that is only sent avx WUs. Everything is fine there. Recently I brought back my 2 Ryzen 1700 machines and after failing a few sse2 WUs I started aborting them. After a couple days they started getting only avx WUs (for a long time). Now all of a sudden they're being sent large numbers of sse2 WUs again. The sse2 WUs are unreliable and often fail after wasting a LOT of CPU time.

I see the same thing. My Ryzen 1700 fails on most of the SSE2, but my Ryzen 2700 runs them OK. Both machines are on Ubuntu 18.04.
http://gene.disi.unitn.it/test/results.php?hostid=26765&offset=0&show_names=0&state=6&appid=
http://gene.disi.unitn.it/test/results.php?hostid=41785&offset=0&show_names=0&state=4&appid=

I did not know the Ryzen 1700 had an SSE2 problem, but this is the only SSE2 project I have. It runs everything else fine. I suppose the problem will correct itself after the selection is made, so it may not be worth fixing at this point.

Profile Buro87 [Lombardia]
Send message
Joined: 23 Nov 16
Posts: 100
Credit: 4,000,541
RAC: 0
Italy
Message 1422 - Posted: 10 Dec 2018, 10:00:43 UTC - in response to Message 1419.
Last modified: 10 Dec 2018, 10:20:10 UTC

Hi, another user (Luigi R.) from our team Boinc Italy has done theese app_info.xml. Try it and let us know if they work
Make sure that you have the correct app

Windows
http://gene.disi.unitn.it/test/download/gene_pcim_v1.11_win64__avx.exe

Open Notepad an copy the following text and save the file as "app_info.xml"


<app_info>
<app>
<name>gene_pcim</name>
<user_friendly_name>gene@home PC-IM</user_friendly_name>
</app>
<file_info>
<name>gene_pcim_v1.11_win64__avx.exe</name>
<executable/>
</file_info>
<app_version>
<app_name>gene_pcim</app_name>
<version_num>111</version_num>
<avg_ncpus>1.00</avg_ncpus>
<max_ncpus>1.00</max_ncpus>
<plan_class>avx</plan_class>
<file_ref>
<file_name>gene_pcim_v1.11_win64__avx.exe</file_name>
<main_program/>
</file_ref>
</app_version>
</app_info>


Put both file (.exe an app_info.xml) in the project's folder
C:\ProgramData\BOINC\projects\gene.disi.unitn.it_test

Profile Buro87 [Lombardia]
Send message
Joined: 23 Nov 16
Posts: 100
Credit: 4,000,541
RAC: 0
Italy
Message 1423 - Posted: 10 Dec 2018, 10:02:55 UTC - in response to Message 1422.

Linux
http://gene.disi.unitn.it/test/download/gene_pcim_v1.10_linux64__avx


<app_info>
<app>
<name>gene_pcim</name>
<user_friendly_name>gene@home PC-IM</user_friendly_name>
</app>
<file_info>
<name>gene_pcim_v1.10_linux64__avx</name>
<executable/>
</file_info>
<app_version>
<app_name>gene_pcim</app_name>
<version_num>110</version_num>
<avg_ncpus>1.00</avg_ncpus>
<max_ncpus>1.00</max_ncpus>
<plan_class>avx</plan_class>
<file_ref>
<file_name>gene_pcim_v1.10_linux64__avx</file_name>
<main_program/>
</file_ref>
</app_version>
</app_info>

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 624
Credit: 34,677,535
RAC: 0
Italy
Message 1424 - Posted: 10 Dec 2018, 12:19:05 UTC - in response to Message 1423.

Just wanted to add that if you want/need to use the anonymous platform mechanism (app_info.xml) the safest way to proceed is:
. wait until your workunits queue is empty
. stop boinc
. copy/edit the app-info.xml file inside the project directory
. start boinc

Jim1348
Send message
Joined: 29 Dec 16
Posts: 87
Credit: 21,013,002
RAC: 0
United States
Message 1425 - Posted: 10 Dec 2018, 20:17:24 UTC - in response to Message 1423.

Thanks a lot. I substituted "fma" for "avx", and it is running fine on my Ryzen 1700, making it productive again.

Profile Beyond
Avatar
Send message
Joined: 2 Nov 16
Posts: 50
Credit: 44,372,499
RAC: 0
United States
Message 1427 - Posted: 11 Dec 2018, 15:07:10 UTC - in response to Message 1425.

Thanks a lot. I substituted "fma" for "avx", and it is running fine on my Ryzen 1700, making it productive again.

Is fma faster than avx on the Ryzen 1700?

I've also been testing an app_info. So far it's running well:

<app_info>
<app>
<name>gene_pcim</name>
<user_friendly_name>gene@home v1.11</user_friendly_name>
</app>
<file>
<name>gene_pcim_v1.11_win64__avx.exe</name>
<executable/>
</file>
<app_version>
<app_name>gene_pcim</app_name>
<version_num>111</version_num>
<platform>windows_x86_64</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<plan_class>avx</plan_class>
<api_version>7.3.0</api_version>
<file_ref>
<file_name>gene_pcim_v1.11_win64__avx.exe</file_name>
<main_program/>
</file_ref>
</app_version>
</app_info>

Jim1348
Send message
Joined: 29 Dec 16
Posts: 87
Credit: 21,013,002
RAC: 0
United States
Message 1428 - Posted: 11 Dec 2018, 15:21:40 UTC - in response to Message 1427.
Last modified: 11 Dec 2018, 15:22:10 UTC

Is fma faster than avx on the Ryzen 1700?

It seems to be just slightly, though they are so close that it would take longer-term testing to be sure. I think it would be easier for the project to find the best extension for a given processor type, and just use it.

1 · 2 · Next
Post to thread

Message boards : Number crunching : sse2 vs avx


Main page · Your account · Message boards


Copyright © 2024 CNR-TN & UniTN