Validation of phase 1 of the roadmap

59 views
Skip to first unread message

Olivier Grisel

unread,
Feb 22, 2016, 8:12:47 AM2/22/16
to mingwpy
Hi Carl,

Please let me know when you push your latest changes to

https://github.com/mingwpy/mingw-builds/commits/mingwpy-dev

so that I can run a full build of the toolchain from scratch and
officially validate phase 1.

Best,

--
Olivier
http://twitter.com/ogrisel - http://github.com/ogrisel

Carl Kleffner

unread,
Feb 22, 2016, 10:18:06 AM2/22/16
to min...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "mingwpy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mingwpy+u...@googlegroups.com.
To post to this group, send email to min...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mingwpy/CAFvE7K77TL%2BV-q3B7OE4C1Jy6F2RvbxkJzat%3D8Hk%2BxNMK4Ttxg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Carl Kleffner

unread,
Feb 22, 2016, 11:12:14 AM2/22/16
to min...@googlegroups.com
Here are the latest and greatest OpenBLAS builds from https://github.com/mingwpy/OpenBLAS/tree/mingwpy-dev:

build was done with:

make BINARY=64 CC=gcc FC=gfortran VERSION=0.2.16.dev TARGET=NEHALEM DYNAMIC_ARCH=1 USE_THREAD=1 USE_OPENMP=0 NUM_THREADS=32 NO_WARMUP=1 NO_AFFINITY=1 CONSISTENT_FPCSR=1 BUILD_LAPACK_DEPRECATED=1 COMMON_OPT="-O2 -march=x86-64 -mtune=generic" FCOMMON_OPT="-O2 -march=x86-64 -mtune=generic -frecursive -ffpe-summary=invalid,zero"  MAX_STACK_ALLOC=2048

make BINARY=32 CC=gcc FC=gfortran VERSION=0.2.16.dev TARGET=NEHALEM DYNAMIC_ARCH=1 USE_THREAD=1 USE_OPENMP=0 NUM_THREADS=16 NO_WARMUP=1 NO_AFFINITY=1 CONSISTENT_FPCSR=1 BUILD_LAPACK_DEPRECATED=1 COMMON_OPT="-O2 -march=pentium4 -mtune=generic -mfpmath=sse -msse2" FCOMMON_OPT="-O2 -march=pentium4 -mtune=generic -mfpmath=sse -msse2 -frecursive -ffpe-summary=invalid,zero"  MAX_STACK_ALLOC=2048

Nathaniel Smith

unread,
Feb 22, 2016, 3:10:19 PM2/22/16
to mingwpy

I'm a little confused -- looking at

  https://github.com/niXman/mingw-builds/compare/develop...mingwpy:mingwpy-dev

...I don't see the spec file changes to link against the right MS CRT -- should I?

I'm also somewhat curious about why you had to disable the i686 version of fpclassify :-).

-n

Carl Kleffner

unread,
Feb 22, 2016, 4:42:17 PM2/22/16
to min...@googlegroups.com
Hi Nathaniel,

https://github.com/mingwpy/mingwpy-wheel-builder is still missing. Ths repo is foreseen to create wheels and patching the specs and comes ASAP.

Concerning fpclassify: I removed the variant based on FPU code. This part never works for double's and is responsible for a long standing bug (32 bit only) in mingw32 and mingw-w64, see https://sourceforge.net/p/mingw-w64/bugs/367. One of the important things for mingw-w64 upstream-

Carl


Olivier Grisel

unread,
Feb 23, 2016, 4:13:47 AM2/23/16
to mingwpy
> https://github.com/mingwpy/mingwpy-wheel-builder is still missing. Ths repo is foreseen to create wheels and patching the specs and comes ASAP.

Please just put the static specs files for the common combination of
architecture and versions of Python in that repo for now so that we
can validate phase 1.

--
Olivier

Olivier Grisel

unread,
Feb 23, 2016, 4:15:24 AM2/23/16
to mingwpy
I don't understand this combination of options: TARGET=NEHALEM DYNAMIC_ARCH=1


Isn't TARGET supposed to be ignored when DYNAMIC_ARCH=1?

--
Olivier

Olivier Grisel

unread,
Feb 23, 2016, 4:16:28 AM2/23/16
to mingwpy
> Concerning fpclassify: I removed the variant based on FPU code. This part never works for double's and is responsible for a long standing bug (32 bit only) in mingw32 and mingw-w64, see https://sourceforge.net/p/mingw-w64/bugs/367. One of the important things for mingw-w64 upstream-


Please add an inline comment to the build script patch to explain this.

--
Olivier

Carl Kleffner

unread,
Feb 23, 2016, 5:01:38 AM2/23/16
to min...@googlegroups.com
Yes, the declared TARGET is ignored with DYNAMIC_ARCH=1.

However, without giving an explicit TARGET the OpenBLAS build script always chooses TARGET to be esimated from the build machine. I just want to give a consistent name for this (unused) variable. Maybe it's better to remove it from the command line, if this is misleading.

Carl




--
Olivier

--
You received this message because you are subscribed to the Google Groups "mingwpy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mingwpy+u...@googlegroups.com.
To post to this group, send email to min...@googlegroups.com.

Olivier Grisel

unread,
Feb 23, 2016, 5:27:28 AM2/23/16
to mingwpy
I found this problem when trying to build the toolchain from scratch:

https://github.com/mingwpy/mingwpy-wheel-builder/issues/6

--
Olivier

Carl Kleffner

unread,
Feb 23, 2016, 7:31:32 AM2/23/16
to min...@googlegroups.com
I updated the build commands mingwpybuild.win32 and mingwpybuild.amd64.

TARGET=NEHALEM is removed and BUILD_LAPACK_DEPRECATED=1 is added now.



Carl Kleffner

unread,
Feb 23, 2016, 8:38:54 AM2/23/16
to min...@googlegroups.com
I will look into this and test this in the evening, when I have access to my desktop.
gcc-5.3-mlongdouble.patch is definitely buggy. Maybe I was too much in hurry yesterday.
Carl


--
Olivier

--
You received this message because you are subscribed to the Google Groups "mingwpy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mingwpy+u...@googlegroups.com.
To post to this group, send email to min...@googlegroups.com.

Carl Kleffner

unread,
Feb 23, 2016, 1:25:18 PM2/23/16
to min...@googlegroups.com
Olivier,

can you test with the latest commit on https://github.com/mingwpy/mingw-builds?

Carl

Carl Kleffner

unread,
Feb 24, 2016, 5:00:37 AM2/24/16
to min...@googlegroups.com

Olivier Grisel

unread,
Feb 25, 2016, 5:09:46 AM2/25/16
to mingwpy
Status update:

- Carl fixed the patching issues I reported previously
- There are still some tests that fail
- I have tagged all the issues of the tracker

https://github.com/mingwpy/mingwpy-wheel-builder/issues

I would be in favor of renaming mingwpy-wheel-builder to just mingwpy
to make it clear that this is the main repo of the organization and
that issues should be triaged there. The toolchain build scripts and
the website would stay in their own repo.

--
Olivier

Olivier Grisel

unread,
Feb 25, 2016, 5:10:41 AM2/25/16
to mingwpy
- There are still some tests that fail

To be clearer, toolchain tests:

https://github.com/mingwpy/mingwpy-wheel-builder/issues/7

--
Olivier

Ralf Gommers

unread,
Feb 27, 2016, 6:23:37 PM2/27/16
to min...@googlegroups.com
On Thu, Feb 25, 2016 at 11:09 AM, Olivier Grisel <olivier...@ensta.org> wrote:
Status update:

- Carl fixed the patching issues I reported previously
- There are still some tests that fail
- I have tagged all the issues of the tracker

https://github.com/mingwpy/mingwpy-wheel-builder/issues

I would be in favor of renaming mingwpy-wheel-builder to just mingwpy
to make it clear that this is the main repo of the organization

If that's the case, then renaming makes sense. So far it's empty though, and the needed build patches that are public are in https://github.com/mingwpy/mingw-builds. So will patches be migrated over, and only what can be moved upstream will stay in the mingw-builds repo?

Ralf

Olivier Grisel

unread,
Feb 29, 2016, 2:41:32 AM2/29/16
to mingwpy
2016-02-28 0:23 GMT+01:00 Ralf Gommers <ralf.g...@gmail.com>:
>
>
> On Thu, Feb 25, 2016 at 11:09 AM, Olivier Grisel <olivier...@ensta.org>
> wrote:
>>
>> Status update:
>>
>> - Carl fixed the patching issues I reported previously
>> - There are still some tests that fail
>> - I have tagged all the issues of the tracker
>>
>> https://github.com/mingwpy/mingwpy-wheel-builder/issues
>>
>> I would be in favor of renaming mingwpy-wheel-builder to just mingwpy
>> to make it clear that this is the main repo of the organization
>
>
> If that's the case, then renaming makes sense. So far it's empty though, and
> the needed build patches that are public are in
> https://github.com/mingwpy/mingw-builds. So will patches be migrated over,
> and only what can be moved upstream will stay in the mingw-builds repo?

Adding the specs files for various version of Python and wheel
packaging and CI will be done in `mingwpy-wheel-builder` to wrap a
toolchain built with mingw-builds with specific mingwpy options.

BTW, Carl can you please upload the spec files there for reference.
This is required to have them published somewhere to validate phase 1.

--
Olivier

carlkl

unread,
Feb 29, 2016, 7:09:20 AM2/29/16
to mingwpy
The wheel builder repository has been renamed: https://github.com/mingwpy/mingwpy

I plan to add some additional changes to the mingw-builder scripts:

- using http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v5.0-rc1.tar.bz2 instead of mingw-w64 trunk.
- adding specs and manifest files for python-2.7 and python-3.3|3.4 support to the toolchain archive to support the standalone usage, see https://github.com/mingwpy/mingwpy.github.io/issues/28

Carl

Olivier Grisel

unread,
Mar 9, 2016, 5:42:07 AM3/9/16
to mingwpy
Hi all,

I was able to build a working 32 bit Python 2.7 and a working 64 bit
Python 3.4 toolchain with the current state of the mingwpy and
mingwpy-dev branch of the mingw-builds repos. So I am +1 for
validating Phase 1.

Here are the matching issues that have been fixed:

https://github.com/mingwpy/mingwpy/milestones/Phase%201

I think we can move on to Phase 2 and automate the build of mingwpy
wheels that can be used to build numpy and scipy.

Ralf Gommers

unread,
Mar 9, 2016, 5:21:58 PM3/9/16
to min...@googlegroups.com
On Wed, Mar 9, 2016 at 11:41 AM, Olivier Grisel <olivier...@ensta.org> wrote:
Hi all,

I was able to build a working 32 bit Python 2.7 and a working 64 bit
Python 3.4 toolchain with the current state of the mingwpy and
mingwpy-dev branch of the mingw-builds repos. So I am +1 for
validating Phase 1.

That's excellent! I guess your confirmation makes it "official", but I've put in a PR to document the status on the website for good measure: https://github.com/mingwpy/mingwpy.github.io/pull/38

Ralf

 
Here are the matching issues that have been fixed:

https://github.com/mingwpy/mingwpy/milestones/Phase%201 


I think we can move on to Phase 2 and automate the build of mingwpy
wheels that can be used to build numpy and scipy.
--
You received this message because you are subscribed to the Google Groups "mingwpy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mingwpy+u...@googlegroups.com.
To post to this group, send email to min...@googlegroups.com.

carlkl

unread,
Mar 10, 2016, 5:24:35 PM3/10/16
to mingwpy
all this would not have been possible without the all the help and testing effort of all of you!

Carl


Am Mittwoch, 9. März 2016 23:21:58 UTC+1 schrieb Ralf Gommers:
On Wed, Mar 9, 2016 at 11:41 AM, Olivier Grisel <olivier...@ensta.org> wrote:
Hi all,

I was able to build a working 32 bit Python 2.7 and a working 64 bit
Python 3.4 toolchain with the current state of the mingwpy and
mingwpy-dev branch of the mingw-builds repos. So I am +1 for
validating Phase 1.

That's excellent! I guess your confirmation makes it "official", but I've put in a PR to document the status on the website for good measure: https://github.com/mingwpy/mingwpy.github.io/pull/38

Ralf

 
Here are the matching issues that have been fixed:

https://github.com/mingwpy/mingwpy/milestones/Phase%201 


I think we can move on to Phase 2 and automate the build of mingwpy
wheels that can be used to build numpy and scipy.

--
Olivier
http://twitter.com/ogrisel - http://github.com/ogrisel

--
You received this message because you are subscribed to the Google Groups "mingwpy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mingwpy+unsubscribe@googlegroups.com.

To post to this group, send email to min...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages