building ATC library

Hi-
I am trying to build LAMMPS with the USER-ATC

Sorry, message got cut off. Here is the full message.
I am trying to build LAMMPS with the USER-ATC package. I am trying to use MKL instead of BLAS and LAPACK. This thread says that this is possible by defining “MKL” in the compilation of ATC (http://lammps.sandia.gov/threads/msg17141.html). I am having trouble finding further documentation for using MKL with ATC though. So far, I have succeeded at getting the ATC library to compile without error. When I build LAMMPS though, I get a lot of errors in ATC files that all look like: undefined reference to LAMMPS_NS::Memory::…
I was wondering if anyone has any experience compiling the ATC library using -DMKL, or if anyone has an idea what’s going on with these errors.
Thanks, Steve Strong

Sorry, message got cut off. Here is the full message.
I am trying to build LAMMPS with the USER-ATC package. I am trying to use
MKL instead of BLAS and LAPACK. This thread says that this is possible by
defining "MKL" in the compilation of ATC
(http://lammps.sandia.gov/threads/msg17141.html). I am having trouble

i don't even think that that is needed. you can normally transparently
drop in MKL wherever you would otherwise use BLAS and LAPACK.
otherwise a lot of fortran codes would suddenly stop working and thus
causing a massive uproar. :wink:

still i would recommend to go the simplest way first and compile/link
to the BLAS/LAPACK bundled with LAMMPS (in lib/linalg) and then do
some profiling to determined, whether BLAS performance has a
significant performance impact at all. if not, there is no point in
going any further. if you run on RHEL, Fedora or SuSE, you may want to
try out the precompiled RPM packages, which include AtC. that
shouldn't stop you from rolling your own, but you'd at least have a
first reference and something to compare to.

finding further documentation for using MKL with ATC though. So far, I have
succeeded at getting the ATC library to compile without error. When I build
LAMMPS though, I get a lot of errors in ATC files that all look like:
undefined reference to LAMMPS_NS::Memory::...

i doubt that those have much to do with MKL and AtC. more likely
something else went wrong. can you compile a plain LAMMPS version w/o
any packages?

axel.

The compiling errors do seem to be related: LAMMPS does compile fine without the ATC package, even with several other packages installed. I tried removing the -DMKL definition, and as you said, ATC still compiled, but the LAMMPS_NS::Memory errors were still there. I also tried using /lib/linalg, and was able to get to the same point in compilation, but this did not solve the LAMMPS_NS::Memory errors.

Thanks, Steve

The compiling errors do seem to be related: LAMMPS does compile fine without
the ATC package, even with several other packages installed. I tried
removing the -DMKL definition, and as you said, ATC still compiled, but the
LAMMPS_NS::Memory errors were still there. I also tried using /lib/linalg,
and was able to get to the same point in compilation, but this did not solve
the LAMMPS_NS::Memory errors.

you need to provide more information. which version of LAMMPS are your
trying to compile (usually it is assumed that people try to compile
the latest development version and if you don't you should try it) and
what your compiler and build environment as well as the OS is?
i compile LAMMPS with AtC included (semi-automatically) regularly for
the pre-compiled packages on a variety of OSes and compiler versions
and i haven't had a problem for *months*.

axel.

I got the newest version through git today (through commit 36383c1449e7e7fbf2c8db304d6af0b1bed41e1e), and the problem persists. It is a Rocks (v5.4) cluster with CentOS 5.4 x86_64. The compiler is mpicc v11.1.

I got the newest version through git today (through commit
36383c1449e7e7fbf2c8db304d6af0b1bed41e1e), and the problem persists. It is a
Rocks (v5.4) cluster with CentOS 5.4 x86_64. The compiler is mpicc v11.1.

centos 5.4 is *way* outdated. i don't know what mpicc v11.1 would be.
intel 11.1 (which is quite old, too). not sure if the C++ constructs
used in AtC can be handled by very old C++ compilers. compilation
works fine with native compilers on fedora 17, 18, 19, 20, 21,
RHEL/CentOS 6.x, 7.x, OpenSuSE 12.3, 13.1, 13.2

axel.

Ok, thanks for the help