I noticed that "Makefile.ubuntu_parallel" is not in src/MAKE (for the
lammps-12Apr13 version).
Anyway, if you are having trouble building LAMMPS on ubuntu (with or
without GPU acceleration), here are some makefiles which may help.
(See attached.) They have been tested on Nvidia TESLA, and AMD Radeon
5xxx cards. (See the comment section in each Makefile for details.)
For this to work, you must have the following debian packages
installed on your system: build-essential, fftw-dev, mpich2, gfortran.
You can install them using:
sudo apt-get build-essential fftw-dev mpich2 gfortran
----- Makefiles in src/MAKE ------
Copy these Makefiles to your "src/MAKE" directory:
Makefile.ubuntu_parallel
Makefile.ubuntu_dbg
Makefile.ubuntu_gpu_cuda
Makefile.ubuntu_gpu_opencl_amd
-------- file ----------------|------- compatible with --------
Makefile.ubuntu_parallel = Ubuntu 12.10, mpicxx (g++),
MPICH2 1.2, FFTW 2.1.3
no GPU acceleration
Makefile.ubuntu_dbg = same, but with -g and -O0 flags
Makefile.ubuntu_gpu_cuda = Ubuntu 12.04 64bit, mpicxx (g++),
MPICH2 1.2, FFTW 2.1.3, CUDA 4.2 (5 works too)
Makefile.ubuntu_gpu_opencl_amd = Ubuntu 12.10 64bit,
mpicxx (g++), MPICH2 1.2,
FFTW 2.1.3, AMD OpenCL SDK 2.8
----- basic LAMMPS compilation -----
To compile a version of LAMMPS without GPU acceleration:
go to the "src" directory and type:
make clean-all
make ubuntu_parallel
------ GPU acceleration ------
To enable GPU acceleration,
go to the "lib/gpu" directory and follow the instructions to build
libgpu.a (see below)
Then ho to the "src" directory, and run:
make clean-all
make yes-gpu
make ubuntu_gpu_opencl_amd
- OR -
make ubuntu_gpu_cuda
For this to work, you may need to update your LD_LIBRARY_PATH
environment variable beforehand. If compilation fails during linking,
see the instructions for doing this below.
----- To build libgpu.a -----
Copy these (attached) Makefiles to your "lib/gpu" directory:
Makefile.linux_cuda
Makefile.linux_opencl_amd
If you did not install CUDA or OpenCL in the standard location, then
open up all of the Makefiles with a text editor and correct the
"CUDA_HOME" or "OPENCL_HOME" variables.
Then you can create "libgpu.a" using one of the following commands:
make -f Makefile.linux_cuda
- OR -
make -f Makefile.linux_opencl_amd
(Also, if this is not the first time you compiled LAMMPS, then run
this beforehand:
rm -f *.o libgpu.a)
------- LD_LIBRARY_PATH ------
To enable GPU acceleration, I also had to edit my ~/.bashrc file and
append one of these lines to it:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
# ...if you are using CUDA which is installed in the default location.
- OR -
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/AMDAPP/lib/x86_64"
# ...if you are using AMDs OpenCL installed in the default location.
At the moment, it seems that you have to put this line in your ~/.bashrc file.
(... because of this bug:
http://bugs.launchpad.net/ubuntu/+source/xorg/+bug/366728)
I hope this is handy to someone out there.
I hope I did not leave anything out.
Cheers!
Andrew
Makefile.ubuntu_parallel (815 Bytes)
Makefile.ubuntu_dbg (811 Bytes)
Makefile.ubuntu_gpu_cuda (1.56 KB)
Makefile.ubuntu_gpu_opencl_amd (1.44 KB)
Makefile.linux_cuda (1.08 KB)
Makefile.linux_opencl_amd (562 Bytes)