𝕏

Optimized app ?

Message boards : Number crunching : Optimized app ?
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · 5 · 6 · Next

AuthorMessage
kain

Send message
Joined: 16 Apr 15
Posts: 20
Credit: 5,195,178
RAC: 0
Message 469 - Posted: 14 Sep 2015, 11:47:16 UTC

You are doing a great job :)
ID: 469 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r

Send message
Joined: 9 Apr 15
Posts: 16
Credit: 20,823,669
RAC: 0
Message 495 - Posted: 25 Sep 2015, 17:22:49 UTC - in response to Message 466.  
Last modified: 25 Sep 2015, 17:25:21 UTC

If anyone could make the port to Linux possible then Crunch3r would be the one to do it!


We are not expert ( at the moment :) ) On compilators and how they work, so we are learning from the work of others ( like Sesef).

We think that there is a problem with the class __md128 and the system. We have workaround that and it could be a conflict between this class and the linux system one that have the same name.

We are using the code directly from Sesef which can be found here: https://github.com/sesef/denis-boinc-baseapp

We are also working on the new version with multimodel support.

Best regards, Joel.


OK.. Here's the code and binary for 64 bit linux SSE2.
(copy&paste the link to download otherwise you'll get an error message)

http://www.boincunited.org/opt_apps/DENIS@Home_Linux_x64.tar.bz2

Instead of using Intels SVML, i've used the free of charge "amd libm"
(http://developer.amd.com/tools-and-sdks/cpu-development/libm/)
see "simd.h"

Hope that helps ;)

EDIT:
If there's a need for an OSX app, i can compile that as well.
(However, the linux code should compile straight forward on OSX using g++ > 4.5)
Join Team BOINC United now!
New optimized apps!!!
ID: 495 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Trotador

Send message
Joined: 9 Apr 15
Posts: 11
Credit: 116,882,448
RAC: 0
Message 496 - Posted: 25 Sep 2015, 19:20:47 UTC - in response to Message 495.  

[quote]...


OK.. Here's the code and binary for 64 bit linux SSE2.
(copy&paste the link to download otherwise you'll get an error message)

http://www.boincunited.org/opt_apps/DENIS@Home_Linux_x64.tar.bz2

Instead of using Intels SVML, i've used the free of charge "amd libm"
(http://developer.amd.com/tools-and-sdks/cpu-development/libm/)
see "simd.h"

Hope that helps ;)

EDIT:
If there's a need for an OSX app, i can compile that as well.
(However, the linux code should compile straight forward on OSX using g++ > 4.5)


Great!

If it is ready for crunching I will run it in one of my linux boxes..

Thank you!
ID: 496 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Greger

Send message
Joined: 10 Apr 15
Posts: 20
Credit: 19,361,104
RAC: 0
Message 497 - Posted: 26 Sep 2015, 15:27:14 UTC

Thanks Crunch3r!

As a new user with Kubuntu, how can i put this app in project?
CanĀ“t even access project folder in /var. Can i use a command to move and run this app?
ID: 497 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile m4gu5

Send message
Joined: 9 Apr 15
Posts: 4
Credit: 74,927
RAC: 0
Message 498 - Posted: 27 Sep 2015, 9:01:30 UTC
Last modified: 27 Sep 2015, 9:06:52 UTC

Thanks for providing Linux binaries Crunch3r!

@47an: Here's how you get the app running:

1. Open up a terminal
2. Change to the directory where you downloaded and extracted the files (If not extracted yet, use
tar xfvj DENIS@Home_Linux_x64.tar.bz2
after cd to the download directory)
$ cd /home/$USER/Downloads

3. Open a root shell to be able to access the BOINC data directory
$ sudo -s

4. Move the files to your BOINC data directory
# mv DENIS@Home_Linux_x64/binary/* /var/lib/boinc-client/projects/denis.usj.es_denisathome/

5. Change owner of files to user and group boinc to enable access for BOINC
# chown -R boinc:boinc /var/lib/boinc-client/projects/denis.usj.es_denisathome

6. Restart BOINC
# /etc/init.d/boinc-client restart

7. Exit the shell
# exit

$ exit
ID: 498 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Greger

Send message
Joined: 10 Apr 15
Posts: 20
Credit: 19,361,104
RAC: 0
Message 499 - Posted: 27 Sep 2015, 9:39:00 UTC - in response to Message 498.  

Perfect, that was the commands i needed. Thanks m4gu5 for the guide.
ID: 499 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r

Send message
Joined: 9 Apr 15
Posts: 16
Credit: 20,823,669
RAC: 0
Message 500 - Posted: 27 Sep 2015, 15:23:47 UTC - in response to Message 499.  
Last modified: 27 Sep 2015, 15:30:07 UTC

OK...
here's another on that's truely cross platform compatible.

I've rewritten the code once again and it will compile on Linux, OSX and Windows out of the box(when using GROMACS, see simd.h).

I've changed some simd routines backported from the CPU app over at Milkyway@home that are based on my own code.
(see -> http://rcos.rpi.edu/projects/milkywayhome/commit/separation-merge-vectorized-streams-from-crunchr/)

The app will use GROMACS vectorized versions of exp and pow now.

Besides that, you'll have the option to choose between AMD libM, Intel SVML and GROMACS code. (see simd.h and sse2_math.h)

Both Linux and OSX apps are now using the faster GROMACS code to do exponential and power functions.

download OSX & LINUX 64 bit:
(copy & paste to a new brower tab)

http://www.boincunited.org/opt_apps/DENIS@Home_cross_platform.tar.bz2
(souce code and binaries for OSX,Linux)
Join Team BOINC United now!
New optimized apps!!!
ID: 500 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
SuperSluether

Send message
Joined: 8 Jul 15
Posts: 9
Credit: 1,383,689
RAC: 0
Message 503 - Posted: 27 Sep 2015, 19:26:37 UTC - in response to Message 498.  

Thanks for providing Linux binaries Crunch3r!

@47an: Here's how you get the app running:

1. Open up a terminal
2. Change to the directory where you downloaded and extracted the files (If not extracted yet, use
tar xfvj DENIS@Home_Linux_x64.tar.bz2
after cd to the download directory)
$ cd /home/$USER/Downloads

3. Open a root shell to be able to access the BOINC data directory
$ sudo -s

4. Move the files to your BOINC data directory
# mv DENIS@Home_Linux_x64/binary/* /var/lib/boinc-client/projects/denis.usj.es_denisathome/

5. Change owner of files to user and group boinc to enable access for BOINC
# chown -R boinc:boinc /var/lib/boinc-client/projects/denis.usj.es_denisathome

6. Restart BOINC
# /etc/init.d/boinc-client restart

7. Exit the shell
# exit

$ exit


Thank you so much! You have no idea how happy I am that I don't have to switch back to Windows! :P
ID: 503 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile jcastro
Avatar

Send message
Joined: 16 Mar 15
Posts: 219
Credit: 14,859
RAC: 0
Message 504 - Posted: 28 Sep 2015, 7:10:52 UTC - in response to Message 495.  


OK.. Here's the code and binary for 64 bit linux SSE2.
(copy&paste the link to download otherwise you'll get an error message)

http://www.boincunited.org/opt_apps/DENIS@Home_Linux_x64.tar.bz2

Instead of using Intels SVML, i've used the free of charge "amd libm"
(http://developer.amd.com/tools-and-sdks/cpu-development/libm/)
see "simd.h"

Hope that helps ;)


Impressive job! When I start in this project I couldn't imagine a community as well as this one. You are awesome, thank you so much.

We will work with this one and sesef's version to produce faster apps. We hope we can launch a new version soon.

Best regards, Joel.
ID: 504 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Trotador

Send message
Joined: 9 Apr 15
Posts: 11
Credit: 116,882,448
RAC: 0
Message 506 - Posted: 28 Sep 2015, 12:55:16 UTC - in response to Message 500.  

OK...
here's another on that's truely cross platform compatible.

I've rewritten the code once again and it will compile on Linux, OSX and Windows out of the box(when using GROMACS, see simd.h).

I've changed some simd routines backported from the CPU app over at Milkyway@home that are based on my own code.
(see -> http://rcos.rpi.edu/projects/milkywayhome/commit/separation-merge-vectorized-streams-from-crunchr/)

The app will use GROMACS vectorized versions of exp and pow now.

Besides that, you'll have the option to choose between AMD libM, Intel SVML and GROMACS code. (see simd.h and sse2_math.h)

Both Linux and OSX apps are now using the faster GROMACS code to do exponential and power functions.

download OSX & LINUX 64 bit:
(copy & paste to a new brower tab)

http://www.boincunited.org/opt_apps/DENIS@Home_cross_platform.tar.bz2
(souce code and binaries for OSX,Linux)


Crunch3r, you're the man...
ID: 506 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r

Send message
Joined: 9 Apr 15
Posts: 16
Credit: 20,823,669
RAC: 0
Message 508 - Posted: 28 Sep 2015, 16:43:55 UTC - in response to Message 504.  
Last modified: 28 Sep 2015, 16:44:40 UTC


OK.. Here's the code and binary for 64 bit linux SSE2.
(copy&paste the link to download otherwise you'll get an error message)

http://www.boincunited.org/opt_apps/DENIS@Home_Linux_x64.tar.bz2

Instead of using Intels SVML, i've used the free of charge "amd libm"
(http://developer.amd.com/tools-and-sdks/cpu-development/libm/)
see "simd.h"

Hope that helps ;)


Impressive job! When I start in this project I couldn't imagine a community as well as this one. You are awesome, thank you so much.

We will work with this one and sesef's version to produce faster apps. We hope we can launch a new version soon.

Best regards, Joel.


you're welcome.
please make sure to use only the http://www.boincunited.org/opt_apps/DENIS@Home_cross_platform.tar.bz2 source code.
that one will compile on windows,linux and osx making it easier for you to develop new models ;)
Join Team BOINC United now!
New optimized apps!!!
ID: 508 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
sesef

Send message
Joined: 22 Apr 15
Posts: 4
Credit: 17,166,398
RAC: 0
Message 510 - Posted: 28 Sep 2015, 20:01:21 UTC
Last modified: 28 Sep 2015, 20:04:04 UTC

Last month was very busy for me. I hadn't time to finish what I started in August.

Yesterday I finally finished rewrote model to perform from SSE2/SSE3 instructions and replaced Intel SVML functions with open source replacement (Logarithm form GROMACS 5.1, exponential from Herumi fmath). This is almost the same code as used by Crunch3r, exp is faster than Intel SVML, log is almost as fast as intel.


All this gives about 30% speed improvement over 1.4.1
http://optos.sesef.pl/denis (binaries compiled by me - windows only)
https://github.com/sesef/denis-boinc-baseapp (updated source code)
ID: 510 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Peciak

Send message
Joined: 6 Jun 15
Posts: 5
Credit: 3,550,110
RAC: 0
Message 511 - Posted: 29 Sep 2015, 11:07:00 UTC

NEW OPTOS APP
WU is currently too short.
Please longer.
ID: 511 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Jim1348

Send message
Joined: 28 Apr 15
Posts: 29
Credit: 1,426,883
RAC: 0
Message 515 - Posted: 29 Sep 2015, 17:24:49 UTC - in response to Message 510.  

All this gives about 30% speed improvement over 1.4.1

It is now over 10x as compared to the official DENIS version (Win7 64-bit, i7-4771).

Thanks a lot.
ID: 515 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile m4gu5

Send message
Joined: 9 Apr 15
Posts: 4
Credit: 74,927
RAC: 0
Message 516 - Posted: 29 Sep 2015, 17:50:34 UTC - in response to Message 503.  

Thank you so much! You have no idea how happy I am that I don't have to switch back to Windows! :P

Glad I could help. Happy Crunching! :)
ID: 516 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
fastgeek

Send message
Joined: 28 Sep 15
Posts: 4
Credit: 8,524,721
RAC: 0
Message 517 - Posted: 30 Sep 2015, 0:25:17 UTC

Just signed up for this project yesterday and happened to stumble across this thread. Can say that Sesef's optimized app certainly makes a big difference for me! On one quad-socket E5-4640 v1 box, the WU's went from 60-70m to ~11m. FWIW I did keep an eye on a couple WU's to be sure. BOINC was estimating they'd take about 65 minutes and they finished in just over 11.

BTW, this app helped me contribute 1M points in 24 hours. Awesome. :)
ID: 517 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r

Send message
Joined: 9 Apr 15
Posts: 16
Credit: 20,823,669
RAC: 0
Message 520 - Posted: 30 Sep 2015, 16:45:41 UTC - in response to Message 517.  
Last modified: 30 Sep 2015, 16:56:56 UTC

Here are the updated binaries and source code based on 1.55.

I've included binaries for Linux(64 bit) ,OSX (64 bit) and Windows (64 bit).

There are binaries for SSE2 only CPUs available as well!

Download:
(copy&paste the link to a new tab otherwise you'll get an error message)
http://www.boincunited.org/opt_apps/Denis@Home_cross_platform_v2.tar.bz2

(on windows use WinRAR to extract the files)


Download binaries only:

Linux 64bit SSE3:
http://www.boincunited.org/opt_apps/denis/denis_1.05_x86_64-pc-linux-gnu__sse3.tar.bz2

Linux 64bit SSE2:
http://www.boincunited.org/opt_apps/denis/denis_1.05_x86_64-pc-linux-gnu__sse3.tar.bz2

OSX 64bit SSE3:
http://www.boincunited.org/opt_apps/denis/denis_1.05_x86_64-apple-darwin__sse3.tar.bz2

Windows 64bit SSE3
http://www.boincunited.org/opt_apps/denis/denis_1.05_x86_64-windows__sse3.zip

Windows 64bit SSE2
http://www.boincunited.org/opt_apps/denis/denis_1.05_x86_64-windows__sse2.zip
Join Team BOINC United now!
New optimized apps!!!
ID: 520 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Charles Dennett
Avatar

Send message
Joined: 5 Jul 15
Posts: 3
Credit: 1,074,712
RAC: 0
Message 528 - Posted: 1 Oct 2015, 12:02:27 UTC

If a system can support both SSE2 and SSE3 versions, is there an advantage to using one over the other? Some very quick tests on my 64 bit Linux systems show pretty much the same times for both versions (and they are about 85%-90% faster than the stock version).

Also, any chance of a 32 bit Linux version for SSE2? I've got one lone cruncher of that kind that could use some help.

(New to this project, not to BOINC.)

Thanks
Charlie
ID: 528 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Chilean
Avatar

Send message
Joined: 9 Apr 15
Posts: 11
Credit: 3,149,460
RAC: 0
Message 529 - Posted: 1 Oct 2015, 15:21:32 UTC - in response to Message 528.  

If a system can support both SSE2 and SSE3 versions, is there an advantage to using one over the other? Some very quick tests on my 64 bit Linux systems show pretty much the same times for both versions (and they are about 85%-90% faster than the stock version).

Also, any chance of a 32 bit Linux version for SSE2? I've got one lone cruncher of that kind that could use some help.

(New to this project, not to BOINC.)

Thanks
Charlie


If you notice, his URLs both link to the SSE3.

As a side question, do these take advantage of AVX?
ID: 529 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Crunch3r

Send message
Joined: 9 Apr 15
Posts: 16
Credit: 20,823,669
RAC: 0
Message 531 - Posted: 1 Oct 2015, 16:02:51 UTC - in response to Message 528.  

If a system can support both SSE2 and SSE3 versions, is there an advantage to using one over the other? Some very quick tests on my 64 bit Linux systems show pretty much the same times for both versions (and they are about 85%-90% faster than the stock version).

Also, any chance of a 32 bit Linux version for SSE2? I've got one lone cruncher of that kind that could use some help.

(New to this project, not to BOINC.)

Thanks
Charlie


The original code uses SSE3 instructions and i've decided that there's no need to exclude older sse2 capable cpus. So i've modified the code so it'll work on older cpus as well.

In about an hour i'll upload some 32 bit linux builds for sse2 & sse3 ;)
ID: 531 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Previous · 1 · 2 · 3 · 4 · 5 · 6 · Next

Message boards : Number crunching : Optimized app ?