supported compilers for source builds
For compiling PHENIX from source, what are the supported compilers? Are the Intel or Portland compilers supported? There are notes in the list archives about using OpenMP with gcc, and hints that the Intel compiler is supported, but I didn't see any docs on building with icc/ifort. In one email Ralf mentions that you might actually lose performance compiling your own version of Solve/Resolve because gfortran optimizes poorly, which leads me to think that the distributed binaries are using ifort for at least the Solve/Resolve bits. Did I overlook some notes on how to do this? -ben -- | Ben Eisenbraun | Software Sysadmin | | Structural Biology Grid | http://sbgrid.org | | Harvard Medical School | http://hms.harvard.edu |
Hi Ben,
For compiling PHENIX from source, what are the supported compilers? Are the Intel or Portland compilers supported?
There are notes in the list archives about using OpenMP with gcc, and hints that the Intel compiler is supported, but I didn't see any docs on building with icc/ifort.
In one email Ralf mentions that you might actually lose performance compiling your own version of Solve/Resolve because gfortran optimizes poorly, which leads me to think that the distributed binaries are using ifort for at least the Solve/Resolve bits.
Did I overlook some notes on how to do this?
If you have ifort 9.1 on path when you run the phenix "install" command your build will be as efficient as the one we make. Newer ifort versions are not supported due to difficulties linking with the C++ runtime (the latest CCP4 libs used by solve/resolve employ the mmdb C++ code even if used from Fortran). The "install" command doesn't support Intel C++ (although it is supported by the lower-level build system; for C++ the runtime differences are small). Ralf
Hi Ralf,
If you have ifort 9.1 on path when you run the phenix "install" command your build will be as efficient as the one we make.
Newer ifort versions are not supported due to difficulties linking with the C++ runtime (the latest CCP4 libs used by solve/resolve employ the mmdb C++ code even if used from Fortran).
Interesting. I think I have my 9.1 tarballs around somewhere. Is this true for both linux and OS X? Also, what do you use as a baseline for benchmarking? One of the phenix.run_example options? -ben -- | Ben Eisenbraun | Software Sysadmin | | Structural Biology Grid | http://sbgrid.org | | Harvard Medical School | http://hms.harvard.edu |
Hi Ben,
Interesting. I think I have my 9.1 tarballs around somewhere. Is this true for both linux and OS X?
Yes.
Also, what do you use as a baseline for benchmarking? One of the phenix.run_example options?
We don't have systematic benchmarks. (Every once in a while we optimize specific (new) algorithms and then move on.) ifort generates much faster executables than gfortran (factor 3-5), but in large part this is because the libc expf is almost amazingly 20 times slower than Intel's, as we found out recently. Intel C++ is hardly faster (except g++ suffers from the same expf problem, which we don't use much from C++). Ralf
participants (2)
-
Ben Eisenbraun
-
Ralf W. Grosse-Kunstleve