-
-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on Windows with Clang and Flang #34
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Thanks for putting this together @isuruf! Couple of thoughts. First, if we use VC 14, I guess that means we can't link Python 2.7 stuff with this. What would your proposal be in that case? Use |
No idea
Wait until Flang is ready or use CLAPACK. |
There's a PR for DYNAMIC_ARCH here |
Any movement on this? This would be really great to have. I am looking to windows support for COIN, which also needs a BLAS... |
@scopatz, do you need LAPACK or just blas? |
I think it needs LAPACK too |
Okay, then I need to fix flang-compiler/flang#288 then which should take anything between 1 week to months |
Ho-kay! Thanks for letting me know! And thanks for working on these issues! |
@scopatz If you require an older LAPACK version (from 2009), you can just just the vcpkg BLAS. The performance is not good but it's something.
|
|
Is this ready to go (I assume using a patched cmake to build is okay for now, since it's only temporary), or will this be blocked due to the Python 2.7 issue? |
I'm going to package cmake tomorrow. (CMake 3.10 is coming out tomorrow and I'll have the flang windows fixes on top of that). Afterwards I need to figure out what patches are needed. DYNAMIC_ARCH PR, Flang PR and maybe others. |
If it were me, I'd just build OpenBLAS HEAD for windows only now, and then wait until the next version to release everything together. It's not ideal, but who knows what's in there that's enabling windows builds. It could be a mess (or it may not be). |
Btw, appveyor's 1 hour limit is not enough to build with both DYNAMIC_ARCH=1 and NOFORTRAN=0 |
Yes but conda gets two hours. |
If you're trying to make it difficult to install Intel components when using flang, that's not being helpful. There is no reason to restrict this. Possibly it would be helpful to restrict having both MKL and openblas. |
Any exercise in restricting what gets installed with what is really not worthwhile until we've tested packages in mixed environments and run some test suites to see if anything breaks. I'm in agreement with @xoviat that we shouldn't arbitrarily restrict flang-compiled stuff to not coexist with intel-compiled stuff until we have evidence that it doesn't work. |
So, a flang feature would install flang compiled packages from |
Btw, the issue with |
@msarahan, would you mind commenting on #34 (comment) ? |
It's Thanksgiving. I'll be back on Monday.
…On Nov 23, 2017 12:20, "Isuru Fernando" ***@***.***> wrote:
@msarahan <https://github.com/msarahan>, would you mind commenting on #34
(comment)
<#34 (comment)>
?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#34 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACV-TjrB1MU7k8LeKp7LlTJTu5D5Knsks5s5bdqgaJpZM4OncRe>
.
|
Happy Thanksgiving Mike! 🦃 |
The key is always having a self-consistent set of software that is compatible within itself. With the mess we've seen with features, I am wary of any new scheme to restrict sets of software until I have seen packages or test cases to prove theories about how it might work. As @xoviat pointed out above, it's not even completely clear that we need to restrict Flang-built software from ifort-built software. We should test that by trying to identify two fortran-built packages that we can mix in an environment, and run the test suites for both of those packages, hoping to catch any potential incompatibilities. Scipy comes to mind, but I'm not aware of many (any?) other major fortran-using software. Can any of you suggest something? Perhaps Openblas compiled with flang, scipy compiled with ifort, and vice-versa, just for good measure? If you need our help making packages compiled with ifort to test, we'll be happy to assist. |
Is there any way to merge this as a pre release so that we can test it? |
Actually I compiled scipy with flang+mkl and it worked for the most part except for three failures caused by be flang bugs. |
This reverts commit a62ce4a.
As @xoviat said scipy compiled with flang+mkl almost works. I don't have access to ifort. @msarahan would you be able to test scipy compiled with ifort+openblas from this PR? (I think Intel is offering free licenses to open source contributors, I can check that out) Btw, I've reverted the flang feature. Since this openblas is not interfering with defaults because there is no openblas for windows on defaults, any objections to merging ? |
@xoviat, what errors did you get? If you give me instructions I can try it out and see if there's anything I can do. (I've installed |
Just install my flang numpy branch:
then install scipy
Note that you must be in a conda environment with flang and mkl. |
Compare that to the current Windows development procedure! |
You still need visual studio installed though here do you not? |
Yeah, but for development and packaging into conda, wheels, it's easier. @conda-forge/openblas, any more comments on the PR? |
Did you confirm that build procedure? |
Actually it would be very nice if this was merged right now. I cannot upload the wheels that I built using MKL because it's too large (100MB!). |
Trying to work around a missing conda OpenBLAS is just painful, considering that OpenBLAS takes over an hour to build. |
I think that this should go in if it can since it seems to be compatible with VS. I don't have merge rights, though, myself. |
@isuruf has merge rights, but of course may be worried about objections from others. Maybe wait another day, and merge if no more comments? |
Sounds reasonable to me |
@xoviat, I ran the tests for scipy built with flang+mkl. 4 failed. 12768 passed. I'll report on the scipy issue tracker if I find anything. |
The fortranfile issue is probably not that important, but there's precision loss that's happening somewhere; this causes an optimization routine to fail. It would be good if that could be fixed (though it's probably a bit hairy). |
@isuruf Can you merge? |
@isuruf Ping. |
This build blas and cblas with clang, and lapack with flang.