mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software > Mlucas

Reply
 
Thread Tools
Old 2016-02-10, 06:09   #45
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3×29×83 Posts
Default

Quote:
Originally Posted by alexvong1995 View Post
Just find this documentation z/architecture reference summary on the internet. Page 22 to page 25 shows the 139 vector instructions (of course I do not really try to count!), something like VMAH (vector multiple and add high)...

Also I have created a s390x testing branch (there are only 2 commits), people interested are encouraged to test if it builds and passes the test, the instruction is as followed:
$ git clone https://gitlab.com/mlucas-ll/mlucas.git
$ cd mlucas && touch * && git checkout s390x
$ mkdir build && cd build && ../configure && make -j && make -j check
(of course you must have git, gcc and make installed!)
If I may go somewhat off topic here, how would you compare GitLab hosting and web interface to GitHub?
Dubslow is offline   Reply With Quote
Old 2016-02-10, 06:17   #46
alexvong1995
 
Dec 2014

458 Posts
Default

Alright, I find out it actually does not build on amd64, see https://gitlab.com/mlucas-ll/mlucas/builds, there are serveral error messages:

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:603:11: error: too few arguments to function 'twopmodq100_2WORD_DOUBLE'
res64 = twopmodq100_2WORD_DOUBLE(p64, k);

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:1156:11: error: incompatible type for argument 2 of 'twopmodq100_2WORD_DOUBLE'
res64 = twopmodq100_2WORD_DOUBLE(p64, q128);

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:1156:11: error: too few arguments to function 'twopmodq100_2WORD_DOUBLE'
res64 = twopmodq100_2WORD_DOUBLE(p64, q128);

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:1179:11: error: too few arguments to function 'twopmodq100_2WORD_DOUBLE_q2'
res64 = twopmodq100_2WORD_DOUBLE_q2(p64, k,k);
alexvong1995 is offline   Reply With Quote
Old 2016-02-10, 07:46   #47
ewmayer
2ω=0
 
ewmayer's Avatar
 
Sep 2002
Rep├║blica de California

263768 Posts
Default

Thanks for the instruction reference, Alex - that looks like what I need, and there does appear to be a full complement of vector-float functionality.

Quote:
Originally Posted by alexvong1995 View Post
Alright, I find out it actually does not build on amd64, see https://gitlab.com/mlucas-ll/mlucas/builds, there are serveral error messages:

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:603:11: error: too few arguments to function 'twopmodq100_2WORD_DOUBLE'
res64 = twopmodq100_2WORD_DOUBLE(p64, k);

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:1156:11: error: incompatible type for argument 2 of 'twopmodq100_2WORD_DOUBLE'
res64 = twopmodq100_2WORD_DOUBLE(p64, q128);

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:1156:11: error: too few arguments to function 'twopmodq100_2WORD_DOUBLE'
res64 = twopmodq100_2WORD_DOUBLE(p64, q128);

In file included from .././src/factor.c:3973:0:
.././src/factor_test.h:1179:11: error: too few arguments to function 'twopmodq100_2WORD_DOUBLE_q2'
res64 = twopmodq100_2WORD_DOUBLE_q2(p64, k,k);
OK, two things here:

1. I clearly need to update the API for this subset of TF calls, but you should not need factor.o to link currently, because TF functionality is not supported in the default Mlucas build;

2. These calls are getting included because USE_FMADD is getting def'd, which implies you are trying an AVX2/FMA3 build (-DUSE_AVX2 compile flag). Unless AMD has radically upgraded their AVX-and-beyond capabilities in the past year -- according to Wikipedia their very first CPU with AVX2 was 'Carrizo' (formerly codenamed 'Excavator') last year -- AMD builds probably should not go above SSE2. But if you can get AVX and/or AVX2 builds tested on something close to the latest AMD processor, let's see if they still suffer for the 'AVX slower than SSE2' handicap George noted based on his Prime95 tests and decide what to do config-wise based on that.
ewmayer is offline   Reply With Quote
Old 2016-02-10, 07:51   #48
alexvong1995
 
Dec 2014

458 Posts
Default

Quote:
Originally Posted by Dubslow View Post
If I may go somewhat off topic here, how would you compare GitLab hosting and web interface to GitHub?
It is a hard question, there isn't a clearly winner.
I think having both accounts make it easier to submit pull request to projects hosted in either site.
The wikipedia page is a good start on it.
For github, it says "Gratis for public, paid for private."
For gitlab, it says "Unlimited public and private repos, unlimited public and private collaborators".
For web interface, it seems github is more responsive than gitlab.
The UI of both sites looks comparable to me, I am using git most of the time anyway, so I think it is fine as long as the diff is shown nicely.
For CI, github uses travis-ci and gitlab uses gitlab-ci.
For js, gitlab releases all js under mit/expat, so you don't need to worry what the js code is doing.
gitlab also releases its core as free-sw under mit/expat, known as gitlab-ce, github doesn't.
For popularity, github is clearly more popular, but both are used by big organizations.

There is one site getting increasingly popular https://notabug.org/, it is a community effort.
alexvong1995 is offline   Reply With Quote
Old 2016-02-10, 09:40   #49
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3×29×83 Posts
Default

Quote:
Originally Posted by alexvong1995 View Post
It is a hard question, there isn't a clearly winner.
I think having both accounts make it easier to submit pull request to projects hosted in either site.
The wikipedia page is a good start on it.
For github, it says "Gratis for public, paid for private."
For gitlab, it says "Unlimited public and private repos, unlimited public and private collaborators".
For web interface, it seems github is more responsive than gitlab.
The UI of both sites looks comparable to me, I am using git most of the time anyway, so I think it is fine as long as the diff is shown nicely.
For CI, github uses travis-ci and gitlab uses gitlab-ci.
For js, gitlab releases all js under mit/expat, so you don't need to worry what the js code is doing.
gitlab also releases its core as free-sw under mit/expat, known as gitlab-ce, github doesn't.
For popularity, github is clearly more popular, but both are used by big organizations.

There is one site getting increasingly popular https://notabug.org/, it is a community effort.
Thanks, that's the sort of excellent summary I was looking for. I've discussed before the idea of moving a lot of the software here away from SourceForge/Subversion, and GitHub is of course the obvious alternative, though it's also good to track alternatives like GitLab and notabug.org.
Dubslow is offline   Reply With Quote
Old 2016-02-13, 07:02   #50
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

722110 Posts
Default

Quote:
Originally Posted by Dubslow View Post
Thanks, that's the sort of excellent summary I was looking for. I've discussed before the idea of moving a lot of the software here away from SourceForge/Subversion, and GitHub is of course the obvious alternative, though it's also good to track alternatives like GitLab and notabug.org.
Quote:
Originally Posted by alexvong1995 View Post
It is a hard question, there isn't a clearly winner.
I think having both accounts make it easier to submit pull request to projects hosted in either site.
The wikipedia page is a good start on it.
For github, it says "Gratis for public, paid for private."
For gitlab, it says "Unlimited public and private repos, unlimited public and private collaborators".
For web interface, it seems github is more responsive than gitlab.
The UI of both sites looks comparable to me, I am using git most of the time anyway, so I think it is fine as long as the diff is shown nicely.
For CI, github uses travis-ci and gitlab uses gitlab-ci.
For js, gitlab releases all js under mit/expat, so you don't need to worry what the js code is doing.
gitlab also releases its core as free-sw under mit/expat, known as gitlab-ce, github doesn't.
For popularity, github is clearly more popular, but both are used by big organizations.

There is one site getting increasingly popular https://notabug.org/, it is a community effort.
Quote:
Originally Posted by Dubslow View Post
If I may go somewhat off topic here, how would you compare GitLab hosting and web interface to GitHub?
One last post on the matter (maybe a mod might split this off for me):

https://www.b.agilob.net/choose-gitl...-next-project/

^ An essay explicating why GitLab is better than GitHub. (Incidentally, I know the guy who runs that site (in an online manner same as I know everyone here) and I've worked with him on some projects.)
Dubslow is offline   Reply With Quote
Old 2016-03-11, 22:02   #51
Lorenzo
 
Lorenzo's Avatar
 
Aug 2010
Republic of Belarus

2·5·17 Posts
Default

Quote:
Originally Posted by ewmayer View Post
That explains the excellent timing-scaling in going to larger FFT lengths which we see in Lorenzo's cfg-file results.

If we had some relatively efficient way to map x86_64 SIMD code to this arch's SIMD, things could get rather interesting. I shall have a look at the PDF Lorenzo linked later today.
Hello! How about SIMD? Did you tried change code to support SIMD instructions for S390x arch?
Lorenzo is offline   Reply With Quote
Old 2016-03-11, 22:18   #52
ewmayer
2ω=0
 
ewmayer's Avatar
 
Sep 2002
Rep├║blica de California

2×13×443 Posts
Default

Quote:
Originally Posted by Lorenzo View Post
Hello! How about SIMD? Did you tried change code to support SIMD instructions for S390x arch?
Excuse me if I didn't make it clear -- that's more in the way of a long-term 'maybe' project, not something one can make happen in a few weeks. And from a number-of-potential-users the coding effort is likely not justified. I am busy with another round of Intel SIMD optimizations and preparing for their next-gen AVX512 chips ... both of which have/will-have a very large user base.

As my code is open-source, anyone with PPC-and-beyond assembler expertise and time to spare is welcome to have at it! Take a modest-size x86_64 SSE2 inline-asm macro - there are many to chose from - stick it into a suitable C test harness, use results to guide translation to IBM assembler.
ewmayer is offline   Reply With Quote
Old 2016-03-13, 08:45   #53
Lorenzo
 
Lorenzo's Avatar
 
Aug 2010
Republic of Belarus

2·5·17 Posts
Default

Quote:
Originally Posted by ewmayer View Post
Excuse me if I didn't make it clear -- that's more in the way of a long-term 'maybe' project, not something one can make happen in a few weeks. And from a number-of-potential-users the coding effort is likely not justified. I am busy with another round of Intel SIMD optimizations and preparing for their next-gen AVX512 chips ... both of which have/will-have a very large user base.

As my code is open-source, anyone with PPC-and-beyond assembler expertise and time to spare is welcome to have at it! Take a modest-size x86_64 SSE2 inline-asm macro - there are many to chose from - stick it into a suitable C test harness, use results to guide translation to IBM assembler.
Ok) Sure) Thank you for explanation

Just double checked on IBM S390 http://www.mersenne.org/report_expon...1523593&full=1
Lorenzo is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Mlucas and mprime on the same box daxmick Software 5 2018-01-05 09:48
Mlucas on ubuntu Damian Mlucas 17 2017-11-13 18:12
Mlucas version 17 ewmayer Mlucas 3 2017-06-17 11:18
Mlucas on Sparc - Unregistered Mlucas 0 2009-10-27 20:35
mlucas on sun delta_t Mlucas 14 2007-10-04 05:45

All times are UTC. The time now is 16:48.

Wed Sep 30 16:48:24 UTC 2020 up 20 days, 13:59, 0 users, load averages: 2.00, 1.87, 1.80

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.