Hello Bill,
I can report that both of my systems are now correctly detected. Thank you for
the fix!
I also noticed that there were a couple of other missing processor models when
compared with GMP mpn/x86_64/fat/fat.c: (the * star values are missing in MPIR)
Broadwell:
0x3d=61
0x47=71 *
0x4f=79
0x56=86 *
Skylake:
0x4e=78
0x55=85 *
0x5e=94
Kabylake:
0x8e=142 *
0x9e=158 *
There was a word of warning in the GMP source about some Haswell's not
supporting BMI2, and so they treated those as Sandybridges. I'm not sure how
you want to handle this, but I wanted to make sure I passed the warning on to you.
I ran the speed program, but I do not see how to "choose different assembly
files". Do I have to build different speed programs with different assembly
files linked in? Is this an option passed to "make speed"? Do various
gmp-mparam.h files need to be copied to a specific location before "make speed"
to create a different speed binary? Once I'm past this step, I believe I can
figure out the rest by writing a script to automate the data gathering.
What sizes are of interest when running these tests? 1-100, 1-1000, 1-10000,
etc? Can a given test be faster with one assembly file at one size, but be
faster with a different assembly file at a larger size? When I gather this
data, would you like a copy of it? Perhaps in a csv file?
BTW, when I run the speed program as is, right now, it gives results similar to
the following:
$ ./speed -s 10-20 -t 5 mpz_add
overhead 0.000000004 secs, precision 1000000 units of 8.33e-10 secs, CPU freq
1200.00 MHz
mpz_add
10 0.000000025
15 0.000000031
20 0.000000033
$ ./speed -s 10-20 -t 5 mpn_sqrtrem
overhead 0.000000004 secs, precision 1000000 units of 8.33e-10 secs, CPU freq
1200.00 MHz
mpn_sqrtrem
10 0.000000717
15 0.000000900
20 0.000001129
Are there any specific options you would like me to use when running these speed
tests and gathering results?
-David C.
On 2/20/2017 10:09 AM, 'Bill Hart' via mpir-devel wrote:
I have issued an alpha3 which supports your particular Broadwell chip, which was
a Family we weren't aware of. Can you verify that it is now detected correctly.
As for optimising for Broadwell, if you are interested, we'd be happy to have
the help. I've added details to the relevant ticket [1] to explain what would
need to be done. But it's not for the faint hearted!
The speed program mentioned that can be built by checking out MPIR from GitHub,
configuring MPIR and then doing make speed. To run the speed program, type
./speed. It explains how to use itself. This is not something automatic; there's
considerable work involved.
Bill.
[1] https://github.com/wbhart/mpir/issues/198
On 18 February 2017 at 20:24, <wrai...@morpheus.net
<mailto:wrai...@morpheus.net>> wrote:
Hello Bill,
I have two identical Broadwell computers, except that one runs Windows 7 Pro
x64 and the other runs Linux x64 (based on CentOS 6.7). The processor in
both is an Intel Xeon E5-2687W v4. I did 3 different configures/tunes on
each system, in 3 different directories so there would be no cross
contamination. Configure originally chose k8 for both systems. The
commands I ran were:
===================
On Windows:
./configure --enable-gmpcompat --disable-shared
./configure --enable-gmpcompat --disable-shared --build=haswell-w64-mingw32
./configure --enable-gmpcompat --disable-shared
--build=broadwell-w64-mingw32
make -j4
make check
cd tune
make tune
Both make and make check completed successfully for all 3 builds. However,
all 3 tune programs ended up crashing. I'm not sure why, but I'm including
the screen output in case you can see what the problem was.
===================
On Linux:
./configure --enable-gmpcompat --disable-shared
./configure --enable-gmpcompat --disable-shared
--build=haswell-unknown-linux-gnu
./configure --enable-gmpcompat --disable-shared
--build=broadwell-unknown-linux-gnu
make -j4
make check
cd tune
make tune
Both make and make check completed successfully for all 3 builds. On Linux
all 3 tune programs completed successfully.
===================
All together I'm including 13 text files, the 6 config.log files, the 6 tune
screen outputs, and the "cat /proc/cpuinfo" from my Linux computer. I'm
putting them in a zip file, but if this doesn't make it to the mailing list,
I can resend with all 13 text files directly attached.
Also, I see that you mentioned you would like some tests run on different
assembly files to see which will run faster on Broadwell. Could you let me
know what tests you would like me to run, and also how to run these tests.
I'd be happy to help if I can. I would personally like to see Broadwell
supported in this release, but I know that will take a lot of work. Let me
know if I can help or if there is any other information I can provide.
-David C.
On 2/14/2017 4:16 AM, 'Bill Hart' via mpir-devel wrote:
It looks like you configured your broadwell as a generic x86_64 instead
of as a
haswell (as per your patch). This means that it wasn't using anything
other than
generic assembly for the build, and hence the tuning values will be way
off.
Perhaps you can force it to build as a haswell and then run tune again.
On 14 February 2017 at 10:24, Isuru Fernando <isu...@gmail.com
<mailto:isu...@gmail.com>
<mailto:isu...@gmail.com <mailto:isu...@gmail.com>>> wrote:
Attached are tuning values for nehalem, ivybridge, broadwell and
skylake.
(Also cpuinfo for the broadwell one)
Isuru Fernado
On Tue, Feb 14, 2017 at 1:29 PM, 'Bill Hart' via mpir-devel
<mpir-devel@googlegroups.com <mailto:mpir-devel@googlegroups.com>
<mailto:mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>>> wrote:
Apparently if you have a very recent machine, yasm may fail to
build the
assembly files for your architecture. To get around this,
install the
latest yasm [1] and use MPIR's --with-system-yasm option.
If your system is recent and detects as core2 or k8 or simply
x86_64 or
something else obviously out-of-date, when tuning, please also
send us a
copy of cat /proc/cpuinfo so we can add support for your
processor to MPIR.
Bill.
[1] http://yasm.tortall.net/
On 13 February 2017 at 18:41, Bill Hart
<goodwillh...@googlemail.com <mailto:goodwillh...@googlemail.com>
<mailto:goodwillh...@googlemail.com
<mailto:goodwillh...@googlemail.com>>> wrote:
Hi all,
MPIR has been modified recently, and new tuning crossovers
have been
added.
If you have a machine that you want MPIR to run fast on, we
would
really appreciate help getting tuning values for your
machine. Here
is how.
git clone https://github.com/wbhart/mpir
<https://github.com/wbhart/mpir
<https://github.com/wbhart/mpir>>
cd mpir
./configure --enable-gmpcompat
make -j4
make check
cd tune
make tune
Please attach the tuning values that are printed to this
post.
Please ensure that the first line is not missing, e.g.
Parameters for ./mpn/x86_64/k8/k10/k102/gmp-mparam.h
as this tells us what machine the values are for.
If the tuning program crashes, or starts to take too long,
just send
us the values you have.
Any help that people can provide is really appreciated.
Note that we DON'T require tuning values for the following
arches:
mpn/x86_64/k8/k10/k102
mpn/x86_64/haswell
If someone already attached values for your arch, no need
to supply
them again.
Bill.
--
You received this message because you are subscribed to the
Google
Groups "mpir-devel" group.
To unsubscribe from this group and stop receiving emails from
it, send
an email to mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>
<mailto:mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>>.
To post to this group, send email to
mpir-devel@googlegroups.com <mailto:mpir-devel@googlegroups.com>
<mailto:mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>>.
Visit this group at https://groups.google.com/group/mpir-devel
<https://groups.google.com/group/mpir-devel>
<https://groups.google.com/group/mpir-devel
<https://groups.google.com/group/mpir-devel>>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
<https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>.
--
You received this message because you are subscribed to the Google
Groups
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it,
send an
email to mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>
<mailto:mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>>.
To post to this group, send email to mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>
<mailto:mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>>.
Visit this group at https://groups.google.com/group/mpir-devel
<https://groups.google.com/group/mpir-devel>
<https://groups.google.com/group/mpir-devel
<https://groups.google.com/group/mpir-devel>>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>
<https://groups.google.com/d/optout
<https://groups.google.com/d/optout>>.
--
You received this message because you are subscribed to the Google
Groups
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send
an email
to mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>
<mailto:mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>>.
To post to this group, send email to mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>
<mailto:mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>>.
Visit this group at https://groups.google.com/group/mpir-devel
<https://groups.google.com/group/mpir-devel>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel%2bunsubscr...@googlegroups.com>.
To post to this group, send email to mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>.
Visit this group at https://groups.google.com/group/mpir-devel
<https://groups.google.com/group/mpir-devel>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to mpir-devel+unsubscr...@googlegroups.com
<mailto:mpir-devel+unsubscr...@googlegroups.com>.
To post to this group, send email to mpir-devel@googlegroups.com
<mailto:mpir-devel@googlegroups.com>.
Visit this group at https://groups.google.com/group/mpir-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to mpir-devel+unsubscr...@googlegroups.com.
To post to this group, send email to mpir-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/mpir-devel.
For more options, visit https://groups.google.com/d/optout.