Difference between revisions of "Benchmarking: NAMD 2.10"

From Define Wiki
Jump to navigation Jump to search
 
(26 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Build from source ==
 
== Build from source ==
  
# Unpack NAMD and matching Charm++ source code: <syntaxhighlight>tar xzf NAMD_2.10_Source.tar.gz
+
1. Unpack NAMD and matching Charm++ source code:
 +
<syntaxhighlight>
 +
tar xzf NAMD_2.10_Source.tar.gz
 
cd NAMD_2.10_Source
 
cd NAMD_2.10_Source
 
tar xf charm-6.6.1.tar
 
tar xf charm-6.6.1.tar
 
</syntaxhighlight>
 
</syntaxhighlight>
# Build and test the Charm++/Converse library (multicore version):
+
 
cd charm-6.6.1
+
2. Build and test the Charm++/Converse library (multicore version):
./build charm++ multicore-linux64 --with-production
+
<syntaxhighlight>
cd multicore-linux64/tests/charm++/megatest
+
cd charm-6.6.1
make pgm
+
./build charm++ multicore-linux64 --with-production
./pgm +p4  (multicore does not support multiple nodes)
+
cd multicore-linux64/tests/charm++/megatest
  cd ../../../../..
+
make pgm
 +
./pgm +p4  (multicore does not support multiple nodes)
 +
cd ../../../../..
 +
</syntaxhighlight>
 +
 
 +
3. Load an MPI Library. The chosen library here is OpenMPI 1.8.1
 +
 
 +
4. Build and test the Charm++/Converse library (MPI version):
 +
<syntaxhighlight>
 +
cd charm-6.6.1
 +
env MPICXX=mpicxx ./build charm++ mpi-linux-x86_64 --with-production
 +
cd mpi-linux-x86_64/tests/charm++/megatest
 +
make pgm
 +
mpirun -n 4 ./pgm    (run as any other MPI program on your cluster)
 +
cd ../../../../..
 +
</syntaxhighlight>
 +
 
 +
5. Download and install TCL and FFTW libraries:
 +
<syntaxhighlight>
 +
(cd to NAMD_2.10_Source if you are not already there)
 +
wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz
 +
tar xzf fftw-linux-x86_64.tar.gz
 +
mv linux-x86_64 fftw
 +
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz
 +
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64-threaded.tar.gz
 +
tar xzf tcl8.5.9-linux-x86_64.tar.gz
 +
tar xzf tcl8.5.9-linux-x86_64-threaded.tar.gz
 +
mv tcl8.5.9-linux-x86_64 tcl
 +
mv tcl8.5.9-linux-x86_64-threaded tcl-threaded
 +
</syntaxhighlight>
 +
 
 +
6. Set up build directory and compile:
 +
<syntaxhighlight>
 +
multicore version: ./config Linux-x86_64-g++ --with-cuda --cuda-prefix /usr/lib/cuda-6.5/ --charm-arch multicore-linux64
 +
MPI version: ./config Linux-x86_64-g++ --with-cuda --cuda-prefix /usr/lib/cuda-6.5/ --charm-arch mpi-linux-x86_64
 +
cd Linux-x86_64-g++
 +
make
 +
</syntaxhighlight>
 +
 
 +
== Run some test cases ==
 +
 
 +
1. Quick tests using one and two processes (multithread version):
 +
<syntaxhighlight>
 +
(this is a 66-atom simulation so do not expect any speedup)
 +
./namd2 src/alanin # 1 thread
 +
./charmrun +p2 ./namd2 src/alanin # 2 threads
 +
</syntaxhighlight>
 +
 
 +
For MPI version, run namd2 binary as any other MPI executable.
 +
 
 +
2. Longer test using four processes:
 +
<syntaxhighlight>
 +
wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
 +
tar xzf apoa1.tar.gz
 +
./charmrun +p4 ./namd2 apoa1/apoa1.namd
 +
(FFT optimization will take a several seconds during the first run.)
 +
</syntaxhighlight>

Latest revision as of 15:48, 9 January 2015

Download NAMD 2.10

Download NAMD 2.10 source code or prebuilt binaries from: http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD

Build from source

1. Unpack NAMD and matching Charm++ source code:

tar xzf NAMD_2.10_Source.tar.gz
cd NAMD_2.10_Source
tar xf charm-6.6.1.tar

2. Build and test the Charm++/Converse library (multicore version):

cd charm-6.6.1
./build charm++ multicore-linux64 --with-production
cd multicore-linux64/tests/charm++/megatest
make pgm
./pgm +p4   (multicore does not support multiple nodes)
cd ../../../../..

3. Load an MPI Library. The chosen library here is OpenMPI 1.8.1

4. Build and test the Charm++/Converse library (MPI version):

cd charm-6.6.1
env MPICXX=mpicxx ./build charm++ mpi-linux-x86_64 --with-production
cd mpi-linux-x86_64/tests/charm++/megatest
make pgm
mpirun -n 4 ./pgm    (run as any other MPI program on your cluster)
cd ../../../../..

5. Download and install TCL and FFTW libraries:

(cd to NAMD_2.10_Source if you are not already there)
wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz
tar xzf fftw-linux-x86_64.tar.gz
mv linux-x86_64 fftw
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64-threaded.tar.gz
tar xzf tcl8.5.9-linux-x86_64.tar.gz
tar xzf tcl8.5.9-linux-x86_64-threaded.tar.gz
mv tcl8.5.9-linux-x86_64 tcl
mv tcl8.5.9-linux-x86_64-threaded tcl-threaded

6. Set up build directory and compile:

multicore version: ./config Linux-x86_64-g++ --with-cuda --cuda-prefix /usr/lib/cuda-6.5/ --charm-arch multicore-linux64
MPI version: ./config Linux-x86_64-g++ --with-cuda --cuda-prefix /usr/lib/cuda-6.5/ --charm-arch mpi-linux-x86_64
cd Linux-x86_64-g++
make

Run some test cases

1. Quick tests using one and two processes (multithread version):

(this is a 66-atom simulation so do not expect any speedup)
./namd2 src/alanin  # 1 thread
./charmrun +p2 ./namd2 src/alanin # 2 threads

For MPI version, run namd2 binary as any other MPI executable.

2. Longer test using four processes:

wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
tar xzf apoa1.tar.gz
./charmrun +p4 ./namd2 apoa1/apoa1.namd
(FFT optimization will take a several seconds during the first run.)