[gmx-users] Re: [gmx-developers] Gromacs 4.6.1 ATLAS/CUDA detection problems...

Evren Yurtesen IB eyurtese at abo.fi
Thu Mar 7 10:27:27 CET 2013


On Wed, 6 Mar 2013, Christoph Junghans wrote:

> I had a another look at the issue and I guess cmake's blas detention
> is a bit flaky, when it comes to static libraries.
> You are using liblapack.a, which has no link information, with
> liblapack.so it should have worked.
> Anyhow, thanks for reporting the issue.

There is no liblapack.so with ATLAS? Anyway, I tried to explain the issues 
more clearly below. I am not going to insist but it would be nice to be 
able to use the ATLAS library I guess... :)

The following library files are available with ATLAS and your cmake 
config checks use "f77blas;atlas"

libatlas.a
libcblas.a
libf77blas.a
liblapack.a
libptcblas.a
libptf77blas.a
libsatlas.so
libtatlas.so

At: http://ac-archive.sourceforge.net/ac-archive/acx_blas.html
It says that you will have to use the same "FORTRAN" compiler to link 
ATLAS. However your checker is using gcc to check linking.

So the first bug is because the checker is trying to link f77blas 
with gcc. This requires -lgfortran. You can see many related information 
if you do a web search for "undefined reference to `_gfortran_st_write'"). 
Otherwise you should use gfortran for the tests.

Therefore it is impossible for gromacs to use ATLAS library.


The second problem is because "f77blas;atlas" should include "cblas" for 
linking. Again, at the example which is present at: 
http://ac-archive.sourceforge.net/ac-archive/acx_blas.html
BLAS_LIBS="-lcblas -lf77blas -latlas" is used.

Therefore it is again impossible to find ATLAS library even when it 
exists.



The third problem is ambiguity in the manual at:
http://www.gromacs.org/Documentation/Installation_Instructions#4.1._Configuring_with_CMake
It says: "A key thing to consider here is the setting of 
CMAKE_INSTALL_PREFIX." However it is not clear what 'setting' means in 
here. (Being unfamiliar with cmake, I defaulted to setting it in the 
environment which was wrong)

Later I found out CMAKE_INSTALL_PREFIX can only be used as a cmake 
variable (not set in environment). But DESTDIR should be set for setting 
installation prefix instead ?
See:
http://www.cmake.org/cmake/help/v2.8.8/cmake.html#variable%3aCMAKE_INSTALL_PREFIX
http://www.cmake.org/Wiki/CMake_FAQ#Does_CMake.27s_.22make_install.22_support_DESTDIR.3F



I hope the problems in ATLAS detection and documentation would be fixed. 
Thanks for your interest in these small issues.


Thanks,
Evren



More information about the gromacs.org_gmx-users mailing list