On 2016-08-27 22:57, Brian Inglis wrote:
On 2016-08-27 10:27, jeff wrote:
Brian Inglis wrote:
Apparently it's a mobile Broadwell without AVX or AVX2,
which might be assumed present in gcc as compiled,
requiring a custom gcc build to run on that cpu.
My reply:
You are correct. The gcc people replied to my bug report with:
"So the problem is your GMP/MPFR are compiled for one type of CPU and cannot be
copied to other type."
They closed it as a resolved issue.
So the problem is that gcc now requires GMP, and GMP was compiled with options
that
are not compatible with my CPU. I can fix the issue for myself by compiling
everything
from scratch.
The bigger issue is can cygwin distribute a version of gcc that will work with
all modern
processors, including mine, with it's weird lack of AVX and AVX2. Since I ran
into the
issue, I suspect anyone else with a mobile processor like mine will run into
the issue.
I don't know enough about how cygwin is built and installed to know how
different versions
of the GMP library might be distributed for different Intel processors.
But the problem is not going to go away, and really should be addressed in
order to make
cygwin run on all reasonable platforms.
You could download devel sources for the MPC, MPFR, GMP, ISL, and
CLOOG packages to check what options are used for the builds and
whether AVX options are assumed on Broadwell cpus.
GMP provides a build option, which could cause such a problem:
"Fat binary, --enable-fat
Using --enable-fat selects a “fat binary” build on x86,
where optimized low level subroutines are chosen at runtime according
to the CPU detected.
This means more code, but gives good performance on all x86 chips.
(This option might become available for more architectures in the future.)"
These libraries should be designed to run code either independent of,
or dependent only on available, cpu features, but checks may not be
sufficiently specific for newer variants.
You may want to try searching for and filing bugs against GMP and/or
MPFR with a link back to the GCC report, unless someone hereabouts
can provide more specific info about a possible failure source.
See also https://gmplib.org/repo/gmp-6.1/rev/30c9cf97935a and
https://www.cygwin.com/ml/cygwin-apps/2015-11/msg00071.html
where GMP enabled avx support on all Broadwell cpus.
If you submit a GMP bug report with /proc/cpuinfo output and
a link to your gcc bug, they should be able to add a case to
support mobile Broadwells without AVX support in a fat binary.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple