Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark
Hi Mark, I'm not aware of anyone successfully running the install script using intel compilers. It may be possible but it will probably be a lot of work to get it to run properly. The yt install script does not actually compile enzo, so if all you want to do is compile enzo with intel compilers, that is a separate issue. If you want to compile enzo using intel compilers, take a look at Make.mach.nasa-pleiades, Make.mach.arizona, or perhaps Make.mach.orange. I know that the first two were updated relatively recently. If you have further trouble compiling enzo using intel compilers, I suggest e-mailing the enzo user's list. Cheers, Nathan On Feb 8, 2013, at 4:03 PM, Mark Kremenetsky <mdk@sgi.com> wrote:
Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
Nathan, The goal is to port ENZO on Intel PHI processor 9 also called MIC). It can be done only by using Intel compilers and Intel MPI. I For x86_64 i can build ENZO with Intel compiler and Intel MPI and it linked to all other libraries that were build by install script.sh using gcc. But in order to make a build for MIC all components should be built with icc -mmic compiler. So my actual question relates only to all those packages that install script.sh downloading and compiling ( HF5, Python, etc) Thanks, Mark On 02/08/2013 04:10 PM, Nathan Goldbaum wrote:
Hi Mark,
I'm not aware of anyone successfully running the install script using intel compilers. It may be possible but it will probably be a lot of work to get it to run properly. The yt install script does not actually compile enzo, so if all you want to do is compile enzo with intel compilers, that is a separate issue.
If you want to compile enzo using intel compilers, take a look at Make.mach.nasa-pleiades, Make.mach.arizona, or perhaps Make.mach.orange. I know that the first two were updated relatively recently. If you have further trouble compiling enzo using intel compilers, I suggest e-mailing the enzo user's list.
Cheers,
Nathan
On Feb 8, 2013, at 4:03 PM, Mark Kremenetsky <mdk@sgi.com> wrote:
Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
Hi Mark, On Fri, Feb 8, 2013 at 8:04 PM, Mark Kremenetsky <mdk@sgi.com> wrote:
Nathan, The goal is to port ENZO on Intel PHI processor 9 also called MIC).
Awesome!
It can be done only by using Intel compilers and Intel MPI. I For x86_64 i can build ENZO with Intel compiler and Intel MPI and it linked to all other libraries that were build by
install script.sh using gcc.
But in order to make a build for MIC all components should be built with icc -mmic compiler. So my actual question relates only to all those packages that install script.sh downloading and compiling ( HF5, Python, etc)
I think that unless you're building Enzo with support for yt inline, you don't need to worry about any libraries other than HDF5. (Enzo doesn't use any compression libraries inside HDF5.) So my recommendation would be to use yt as built for inspection of data and verification of results, and link *both* against an HDF5 installation that has been properly compiled with the MIC support. I *believe* you can do this, if you are building a shared library, by simply building the HDF5 library again inside $YT_DEST/src/hdf5-1.8.9/ . You can do the usual of "make distclean ; ./configure --prefix=$YT_DEST/ ... ; make install" and I believe it should work. The only caution I have is that neither Enzo nor yt needs / wants the parallel, Fortran or C++ HDF5 bindings, so it should be fine to just set the CC, CFLAGS, LD, LDFLAGS environment variables and rebuild. And I think that the dynamic linking against the HDF5 should work on the yt side for verification/validation of results. However, if this is not the case, I would encourage you to do something similar to the above, but specify a different --prefix. The Enzo make system is flexible enough that you can easily swap out linking against a different HDF5 library. If you're still building Enzo, I'd recommend starting with Make.mach.ubuntu, which is a fairly generic configuration. You should only need to set the various compiler options and library linkages; you do *not* need to specify any of the PYTHON stuff, as that's an optional component. I hope that this has been helpful -- and while this is kind of Enzo-related, since you're building on the yt stack I'd like to encourage you to write back (to this list) with any trouble you have with the libraries or build problems that might be related to the yt stack; any Enzo-specific stuff of course can go to the Enzo list if you'd rather. But regardless, good luck, and I hope to hear from you soon! Best, Matt
Thanks, Mark
On 02/08/2013 04:10 PM, Nathan Goldbaum wrote:
Hi Mark,
I'm not aware of anyone successfully running the install script using intel compilers. It may be possible but it will probably be a lot of work to get it to run properly. The yt install script does not actually compile enzo, so if all you want to do is compile enzo with intel compilers, that is a separate issue.
If you want to compile enzo using intel compilers, take a look at Make.mach.nasa-pleiades, Make.mach.arizona, or perhaps Make.mach.orange. I know that the first two were updated relatively recently. If you have further trouble compiling enzo using intel compilers, I suggest e-mailing the enzo user's list.
Cheers,
Nathan
On Feb 8, 2013, at 4:03 PM, Mark Kremenetsky <mdk@sgi.com> wrote:
Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
mathew, it is a firts realistic and helpful answer that I got. I will certainly try to rebuild HDF5 using Intel compiler and then compile ENZO linking with a new libhdf5.so Thanks a lot, Mark On 2/8/2013 5:25 PM, Matthew Turk wrote:
Hi Mark,
On Fri, Feb 8, 2013 at 8:04 PM, Mark Kremenetsky <mdk@sgi.com> wrote:
Nathan, The goal is to port ENZO on Intel PHI processor 9 also called MIC). Awesome!
It can be done only by using Intel compilers and Intel MPI. I For x86_64 i can build ENZO with Intel compiler and Intel MPI and it linked to all other libraries that were build by
install script.sh using gcc.
But in order to make a build for MIC all components should be built with icc -mmic compiler. So my actual question relates only to all those packages that install script.sh downloading and compiling ( HF5, Python, etc) I think that unless you're building Enzo with support for yt inline, you don't need to worry about any libraries other than HDF5. (Enzo doesn't use any compression libraries inside HDF5.) So my recommendation would be to use yt as built for inspection of data and verification of results, and link *both* against an HDF5 installation that has been properly compiled with the MIC support.
I *believe* you can do this, if you are building a shared library, by simply building the HDF5 library again inside $YT_DEST/src/hdf5-1.8.9/ . You can do the usual of "make distclean ; ./configure --prefix=$YT_DEST/ ... ; make install" and I believe it should work. The only caution I have is that neither Enzo nor yt needs / wants the parallel, Fortran or C++ HDF5 bindings, so it should be fine to just set the CC, CFLAGS, LD, LDFLAGS environment variables and rebuild. And I think that the dynamic linking against the HDF5 should work on the yt side for verification/validation of results.
However, if this is not the case, I would encourage you to do something similar to the above, but specify a different --prefix. The Enzo make system is flexible enough that you can easily swap out linking against a different HDF5 library. If you're still building Enzo, I'd recommend starting with Make.mach.ubuntu, which is a fairly generic configuration. You should only need to set the various compiler options and library linkages; you do *not* need to specify any of the PYTHON stuff, as that's an optional component.
I hope that this has been helpful -- and while this is kind of Enzo-related, since you're building on the yt stack I'd like to encourage you to write back (to this list) with any trouble you have with the libraries or build problems that might be related to the yt stack; any Enzo-specific stuff of course can go to the Enzo list if you'd rather. But regardless, good luck, and I hope to hear from you soon!
Best,
Matt
Thanks, Mark
On 02/08/2013 04:10 PM, Nathan Goldbaum wrote:
Hi Mark,
I'm not aware of anyone successfully running the install script using intel compilers. It may be possible but it will probably be a lot of work to get it to run properly. The yt install script does not actually compile enzo, so if all you want to do is compile enzo with intel compilers, that is a separate issue.
If you want to compile enzo using intel compilers, take a look at Make.mach.nasa-pleiades, Make.mach.arizona, or perhaps Make.mach.orange. I know that the first two were updated relatively recently. If you have further trouble compiling enzo using intel compilers, I suggest e-mailing the enzo user's list.
Cheers,
Nathan
On Feb 8, 2013, at 4:03 PM, Mark Kremenetsky <mdk@sgi.com> wrote:
Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
In my experience the intel compiler works quite nicely crosslinking with the gnu compiler, so in theory you should be able to use existing libraries (e.g. if you got them via your linux distro). I've not been terribly impressed with the improved code performance yet, the gnu compiler really caught up. Some versions back I could get cmhog2 (a hydro code) to run about twice the speed of the gnu compiler, but i'm lucky if I get 20% peter On 02/08/2013 07:03 PM, Mark Kremenetsky wrote:
Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
peter, I agree that gnu compiled library will work quite nicely with a code compiled with Intel compiler. It is exactly what i have done for x86_64 processors. But I am trying to make a port for new Intel Phi processor ( also called MIC) which has a different set of instructions so only code compiled with a special version of Intel compiler will generate such executable. As a first phase i am trying to build ENZO ( including all tools) for x86_64 using only Intel compilers. If I succeed with such build then it will be straightforward to move on with a special version of compiler. I can set my question in a different way: if anybody was able to port yt environment on MIC processors ? Thanks, Mark On 2/8/2013 5:03 PM, Peter Teuben wrote:
In my experience the intel compiler works quite nicely crosslinking with the gnu compiler, so in theory you should be able to use existing libraries (e.g. if you got them via your linux distro).
I've not been terribly impressed with the improved code performance yet, the gnu compiler really caught up. Some versions back I could get cmhog2 (a hydro code) to run about twice the speed of the gnu compiler, but i'm lucky if I get 20%
peter
On 02/08/2013 07:03 PM, Mark Kremenetsky wrote:
Folks, i am trying to set up ENZO environment using Intel compilers and not default gcc, gfort, etc I am using install_script.sh script. Does somebody know how to change the choice of a compiler that will be used in order to build HDF5, Python, etc needed for ENZO compilation. Thanks in advance, Mark _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
participants (4)
-
Mark Kremenetsky -
Matthew Turk -
Nathan Goldbaum -
Peter Teuben