ornladios / ADIOS

The old ADIOS 1.x code repository. Look for ADIOS2 for new repo
https://csmd.ornl.gov/adios
Other
54 stars 40 forks source link

Windows Compile #77

Closed ax3l closed 8 years ago

ax3l commented 8 years ago

Hi,

did you try compiling on windows? (maybe the no-mpi version only, related to #74) For users only working with small data sets, this can be relevant.

Answer from @sklasky yesterday:

In terms of windows, I would like to get a version with windows, and soon windows 10 will support bash natively which should make windows easy than Macs :-) but let's wait and see if it really works!

I am opening this issue to document the current state and progress for @jreadey and @giumas from the HDF Compass team.

sklasky commented 8 years ago

No…

I don’t think I can get it working on windows until I get a complier.

Do you know what I need to install this for windows?

Scott

From: Axel Huebl [mailto:notifications@github.com] Sent: Thursday, July 14, 2016 5:57 AM To: ornladios/ADIOS ADIOS@noreply.github.com Cc: Klasky, Scott A. klasky@ornl.gov; Mention mention@noreply.github.com Subject: [ornladios/ADIOS] Windows Compile (#77)

Hi,

did you try compiling on windows? (maybe the no-mpi version only) For users only working with small data sets, this can be relevant.

Answer from @sklaskyhttps://github.com/sklasky yesterday:

In terms of windows, I would like to get a version with windows, and soon windows 10 will support bash natively which should make windows easy than Macs :-) but let's wait and see if it really works!

I am opening this issue to document the current state and progress for @jreadeyhttps://github.com/jreadey and @giumashttps://github.com/giumas from the HDF Compass team.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/ornladios/ADIOS/issues/77, or mute the threadhttps://github.com/notifications/unsubscribe/AMz8B9yhcyDcX3wwFjULMFsddGKr8FZtks5qVgf6gaJpZM4JMRKM.

ax3l commented 8 years ago

@sklasky I think we should first fix the MPI dependency issue in #74 (fixed!) so we have less dependencies to fulfil for a desktop build and then I would suggest to try it with Cygwin.

sklasky commented 8 years ago

Hi Axel,

  1.  I need to talk to Norbert about the MPI dependency, since I believe we have wrappers for all of the MPI calls, so we should be able to build without it
  2.  I would really like to see if we can build with the new bash environment that is coming with windows (http://www.pcworld.com/article/3050473/windows/heres-how-windows-10s-ubuntu-based-bash-shell-will-actually-work.html). I don’t want effort on something that will be in native windows. Of course, I can’t test it until this is officially out and supported on my lab computer… but I will try to build adios on Cygwin first… What the hell… it could be fun?

Scott

From: Axel Huebl [mailto:notifications@github.com] Sent: Thursday, July 14, 2016 8:53 AM To: ornladios/ADIOS ADIOS@noreply.github.com Cc: Klasky, Scott A. klasky@ornl.gov; Mention mention@noreply.github.com Subject: Re: [ornladios/ADIOS] Windows Compile (#77)

@sklaskyhttps://github.com/sklasky I think we should first fix the MPI dependency issue in #74https://github.com/ornladios/ADIOS/issues/74 so we have less dependencies to fulfil for a desktop build and then I would suggest to try it with Cygwinhttp://cygwin.com/.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/ornladios/ADIOS/issues/77#issuecomment-232656701, or mute the threadhttps://github.com/notifications/unsubscribe/AMz8B34DATMJkvvb4h2S1PyfXqD9t8lRks5qVjEigaJpZM4JMRKM.

ax3l commented 8 years ago

but I will try to build adios on Cygwin first… What the hell… it could be fun?

haha, I share the feeling :D thanks a lot for the help!

pnorbert commented 8 years ago

Scott just has built ADIOS master (commit 6c393e2665147) on the latest developer release of Windows 10 with bash. It required gcc, gfortran, openmpi (build), automake, autoconf, libtool. This was a complete build of ADIOS with MPI and Fortran.

An official release will include the automake files, so automake, autoconf and libtool will not be required.

The options "--without-mpi --disable-fortran --disable-write" can easily build just the sequential read-only library for C tools, so neither MPI nor Fortran would be required.

jreadey commented 8 years ago

Great! I'll try it out later today.

sklasky commented 8 years ago

To do this you need the latest pre release of Windows 10

http://www.zdnet.com/article/microsofts-latest-windows-10-insider-preview-build-could-be-rtm/

Then I built and installed openmpI

I also apt get install gfortran,... It was quite easy with a little help from norbert

I will be testing performance on my surface 3, which only had 2 GB RAM and atom quad core processor

Scott


From: John Readey notifications@github.com Date: July 26, 2016 at 6:27:28 PM EDT To: ornladios/ADIOS ADIOS@noreply.github.com Cc: Klasky, Scott A. klasky@ornl.gov, Mention mention@noreply.github.com Subject: Re: [ornladios/ADIOS] Windows Compile (#77)

Great! I'll try it out later today.

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/ornladios/ADIOS/issues/77#issuecomment-235425558, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMz8B54sGBWcKxgT2FDiMc7VjuI8kd_Eks5qZonOgaJpZM4JMRKM.

jreadey commented 8 years ago

Where does the Windows 10 requirement come from? Freezing Compass on any version of Windows 10 would be problematic since the binary wouldn't run for anyone with Windows 7 or 8. That's why I use Windows 7 to build Compass (even though I use Windows 10 on my regular desktop).

pnorbert commented 8 years ago

There is no such requirement. A C99 compiler and the ability to run configure (bash) is at minimum fortran, mpi compilers and python 2.x required to build completely

We could also later support the build with cmake instead of configure/bash

On Tuesday, July 26, 2016, John Readey notifications@github.com wrote:

Where does the Windows 10 requirement come from? Freezing Compass on any version of Windows 10 would be problematic since the binary wouldn't run for anyone with Windows 7 or 8. That's why I use Windows 7 to build Compass (even though I use Windows 10 on my regular desktop).

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/ornladios/ADIOS/issues/77#issuecomment-235449951, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGMLYhw86DIKrshkSYrHKslDmYTfvE3ks5qZqsOgaJpZM4JMRKM .

jreadey commented 8 years ago

So the latest Windows 10 preview is for the bash shell that Microsoft is adding... I have a gitbash shell on my Windows 7 box, would that work?

pnorbert commented 8 years ago

some pudding is in question

On Tuesday, July 26, 2016, John Readey notifications@github.com wrote:

So the latest Windows 10 preview is for the bash shell that Microsoft is adding... I have a gitbash shell on my Windows 7 box, would that work?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/ornladios/ADIOS/issues/77#issuecomment-235450928, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGMLag4iLCtYrpAkSFVMZ_2FGByyPeCks5qZqyIgaJpZM4JMRKM .

giumas commented 8 years ago

I apologize for the silly question, but what is the 'deep' reason because of that ADIOS cannot compile on Visual Studio? Does it use some particular C++17 features still not implemented in MSVC? Does it depend on Linux-only libraries?

giumas commented 8 years ago

Or does it execute bash scripts?

giumas commented 8 years ago

A C99 compiler and the ability to run configure (bash) is at minimum

@pnorbert If I interpret this sentence correctly, the only issue should be Autotools. But given that it was never built on MSVC, some other tweaks may be required. Right?

giumas commented 8 years ago

@ax3l FYI: HDF Compass is currently locked to use Python 2.7 since some dependencies are at today available only on Python 2 (this should be solved in the medium term).

I am writing this because this fact has implications on the kind of compiler that can be used on Windows to build a Python package. It is warmed suggested to adopt the same compiler as the one used to build the Python interpreter (2.7 -> Visual Studio 2008 that has very little of C++11 stuff).

ax3l commented 8 years ago

@giumas adios is a C99 library, not C++.

Since MSVC does only have limited support of C flavours just use any other compiler to build the C(99) library, e.g., gcc or clang on windows via MinGW.

This has nothing to do with the numpy wrapper, which you (correctly) refer to as the Python package (PyPI: adios). The numpy wrapper, shipped in wrappers/numpy, is a (C++) Cython package. It will simply link against the c-library adios as any C++ code does, too. So you can still build your base python and your adios numpy-wrapper python package with the same C/C++ compiler, e.g., MinGW or MSVC.

ax3l commented 8 years ago

@giumas the numpy wrapper of adios builds with Python 2.7 and 3.X. So they are ready as soon as HDFCompass switches to Python 3, too: https://github.com/ornladios/ADIOS/issues/60

sklasky commented 8 years ago

Hi,

  1.  Norbert can make the call on which version of python.
  2.  Windows: I am the ONLY ornl person with windows, and I want the windows 10 version of windows working with ADIOS + openmpi + all of the tools. I do NOT have any time for development work so I think it would  be great if there was a windows-way of installing ADIOS with python + openmpi etc. so that I could then run ADIOS natively.
  3.  Being the “LEAD” of this project I have asked for 9 years to have a windows build but NO ONE AT ORNL is capable of doing this, and our funding comes in supporting and developing for the big DOE users of computer time.

If this is easy to build with the Microsoft compiler (which it should be if you are an expert), then I would be very happy to have this in our release.

Scott

From: Axel Huebl [mailto:notifications@github.com] Sent: Wednesday, July 27, 2016 3:58 AM To: ornladios/ADIOS ADIOS@noreply.github.com Cc: Klasky, Scott A. klasky@ornl.gov; Mention mention@noreply.github.com Subject: Re: [ornladios/ADIOS] Windows Compile (#77)

@giumashttps://github.com/giumas the numpy wrapper of adios now builds with Python 2.7 and 3.X. So the ORNL team is ready to switch to Python 3 as soon as necessary: #60https://github.com/ornladios/ADIOS/issues/60

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/ornladios/ADIOS/issues/77#issuecomment-235513702, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMz8BzXIcFxfC2ZTjKnhD_f38MnAeVY3ks5qZw9qgaJpZM4JMRKM.

ax3l commented 8 years ago

@sklasky we just evangelized our last two post-docs to switch to the *nix side of desktop computing ;) (I am looking at you @bussmann @HighIander - also, this thread is a great read)