Update list-maintainers to output redmine syntax
[hoomd-blue.git] / doc / user / installation_guide.doc
blob522853471b8e93ed9e71a13ef3aa5d96853f646a
1 /*
2 Highly Optimized Object-oriented Many-particle Dynamics -- Blue Edition
3 (HOOMD-blue) Open Source Software License Copyright 2008-2011 Ames Laboratory
4 Iowa State University and The Regents of the University of Michigan All rights
5 reserved.
7 HOOMD-blue may contain modifications ("Contributions") provided, and to which
8 copyright is held, by various Contributors who have granted The Regents of the
9 University of Michigan the right to modify and/or distribute such Contributions.
11 You may redistribute, use, and create derivate works of HOOMD-blue, in source
12 and binary forms, provided you abide by the following conditions:
14 * Redistributions of source code must retain the above copyright notice, this
15 list of conditions, and the following disclaimer both in the code and
16 prominently in any materials provided with the distribution.
18 * Redistributions in binary form must reproduce the above copyright notice, this
19 list of conditions, and the following disclaimer in the documentation and/or
20 other materials provided with the distribution.
22 * All publications and presentations based on HOOMD-blue, including any reports
23 or published results obtained, in whole or in part, with HOOMD-blue, will
24 acknowledge its use according to the terms posted at the time of submission on:
25 http://codeblue.umich.edu/hoomd-blue/citations.html
27 * Any electronic documents citing HOOMD-Blue will link to the HOOMD-Blue website:
28 http://codeblue.umich.edu/hoomd-blue/
30 * Apart from the above required attributions, neither the name of the copyright
31 holder nor the names of HOOMD-blue's contributors may be used to endorse or
32 promote products derived from this software without specific prior written
33 permission.
35 Disclaimer
37 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS'' AND
38 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
39 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND/OR ANY
40 WARRANTIES THAT THIS SOFTWARE IS FREE OF INFRINGEMENT ARE DISCLAIMED.
42 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
43 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
44 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
45 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
46 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
47 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
48 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51 /*! \page page_install_guide Installation Guide
53 \b Contents:
54  - \ref sec_system_req
55  - \ref sec_install_hoomd_linux
56    - \ref sec_install_hoomd_linux_gentoo
57    - \ref sec_install_hoomd_linux_redhat
58    - \ref sec_install_hoomd_linux_ubuntu
59    - \ref sec_install_hoomd_linux_homedir
60  - \ref sec_install_hoomd_mac
61  - \ref sec_gpu_options
63 <hr>
65 \section sec_system_req System requirements
66  - \b OS: 
67     - Linux - \b Recommended
68         - Ubuntu 10.04
69         - Fedora 13
70         - Gentoo
71         - RHEL/CentOS 5.5
72     - Mac OS X
73         - 10.6.x Snow Leopard
74  - \b CPU: Any x86_64 processor
75  - \b RAM: At least as much system RAM as there is video memory total on all GPUs. For example, a host with four 4GB
76            Tesla GPUs connected to it should have at least 16 GB of RAM.
77  - \b GPU: (optional) A <a href=" http://www.nvidia.com/object/cuda_home.html">CUDA capable GPU</a> is required to run hoomd with
78     GPU acceleration. Without one, hoomd will run on the CPU.
79  -  GPU \b Driver software (install only on systems with NVIDIA GPUs -- needed to enable GPUs for use with hoomd):
80    - Linux - NVIDIA Drivers version 270.41.19 or newer (http://www.nvidia.com)
81    - Mac OS X NVIDIA CUDA Drivers version 4.0 or newer ( http://www.nvidia.com/object/mac-driver-archive.html )
83      
84 VMD 1.9 or newer (http://www.ks.uiuc.edu/Research/vmd/) is not a requirement to run HOOMD-blue, but you may find it
85 extremely useful in visualizing simulation results. VMD 1.9 includes native support for reading HOOMD-blue XML files.
87 \section sec_install_hoomd_linux Installing HOOMD-blue in Linux
89 \subsection sec_install_hoomd_linux_gentoo Gentoo Linux
91 HOOMD-blue is currently available via the sunrise overlay for Gentoo. To enable the overlay for use on your
92 system, see http://overlays.gentoo.org/proj/sunrise .
94  -# (if you have a NVIDIA GPU) <b>Install</b> the nvidia-drivers.
95     \code
96 emerge nvidia-drivers
97     \endcode
98     You may need to perform some configuration: http://www.gentoo.org/doc/en/nvidia-guide.xml
99     <br><br>
100  -# <b>Unmask</b> the latest version of hoomd (this only needs to be performed once).
101     \code
102 echo "sci-chemistry/hoomd ~amd64" >> /etc/portage/package.keywords
103     \endcode
104  -# <b>Install</b> or <b>upgrade</b> hoomd.
105         \code
106 emerge hoomd
107         \endcode
109  \subsection sec_install_hoomd_linux_redhat CentOS/RHEL/Fedora
111  -# (if you have a NVIDIA GPU) <b>Download</b> the latest drivers for your GPU from http://www.nvidia.com . 
112     <br><b>To install</b>, open a terminal, cd to the directory where you downloaded the file and then run
113     \code
114 sudo bash NVIDIA-Linux-*.run
115     \endcode
116     Follow the on screen prompts to complete the installation.
117     <br><br>
118  -# <b>Download</b> and <b>import</b> the GPG public key to validate HOOMD-blue RPMs with the following
119         terminal commands.
120         \code
121  wget http://codeblue.umich.edu/hoomd-blue/downloads/RPM-GPG-KEY-joaander
122  sudo rpm --import RPM-GPG-KEY-joaander
123         \endcode
124         This step only needs to be performed once.
125         <br><br>
126  -# <b>Download</b> the HOOMD-blue RPM package matching your linux distribution from http://codeblue.umich.edu/hoomd-blue/download.html
127  <br><br>
128  -# To <b>install</b> or <b>upgrade</b> double click on the downloaded file, or
129     open a terminal, cd to the directory where you downloaded the
130     file and run
131         \code
132 sudo yum localinstall hoomd-blue-0.9.2*.rpm
133     \endcode
134     
135 If sudo is not configured on your system, su to root and execute the above commands without sudo.
137  \subsection sec_install_hoomd_linux_ubuntu Ubuntu
139  -# (if you have a NVIDIA GPU) <b>Download</b> the latest drivers for your GPU from http://www.nvidia.com . 
140     <br><b>To install</b>, open a terminal, cd to the directory where you downloaded the file and then run
141     \code
142 sudo bash NVIDIA-Linux-*.run
143     \endcode
144     Follow the on screen prompts to complete the installation.
145     <br><br>
146  -# <b>Download</b> the HOOMD-blue deb package matching your linux distribution from http://codeblue.umich.edu/hoomd-blue/download.html
147  <br><br>
148  -# To <b>install</b> or <b>upgrade</b> double click on the downloaded file,
149     or open a terminal, cd to the directory where you downloaded the
150     file and run
151         \code
152 sudo dpkg -i hoomd-blue-0.9.2*.deb
153 sudo apt-get -f install
154     \endcode
155     
156  \subsection sec_install_hoomd_linux_homedir Home directory installation
157  -# If you do not have administrator access or otherwise desire to install hoomd into your home directory,
158  it is recommended that you compile hoomd from source. See \ref page_compile_guide for detailed
159  information.
161 The standard benchmark scripts serve as a good test of your installation. To run one of them, open a
162 terminal and run:
163 \code
164  cd /usr/share/hoomd/benchmarks
165  hoomd lj_liquid_bmark.hoomd
166  # ... watch the simulation run ...
167 \endcode
169 Check out the \ref page_quick_start to start learning how to use hoomd.
171 <hr>
173 \section sec_install_hoomd_mac Installing HOOMD-blue in Mac OS X
175  -# (if you have a NVIDIA GPU) <b>Download</b> the CUDA Drivers from http://www.nvidia.com/object/mac-driver-archive.html . 
176     <br><b>To install</b>, open Finder, navigate to the directory where you downloaded the file and double-click on it.
177     Follow the on screen prompts to complete the installation.
178     <br><br>
179  -# <b>Download</b> the HOOMD-blue dmg package from http://codeblue.umich.edu/hoomd-blue/download.html
180     <br><br>
181  -# <b>Double click</b> on the downloaded dmg file and drag the HOOMD-blue application to the desired location on
182     your hard drive to install it. The following instructions assume you install HOOMD-blue in /Applications
183     <br><br>
184  -# <b>Launch</b> HOOMD-blue by double clicking on the application. You may also drag it to your dock
185         and launch it from there. This will launch the HOOMD-blue python interpreter. (A launcher GUI is being considered for development
186     in the future).
187     <br><br>
188  -# Perform the following steps to prepare HOOMD-blue for use from the command line. <b>Open</b> a terminal window and
189     execute
190     \code
191  open ~/.bash_profile
192     \endcode
193     To open your ~/.bash_profile file.  Add this line to the end:
194     \code
195  alias hoomd="/Applications/HOOMD-blue.app/Contents/MacOS/hoomd"
196     \endcode
197     <i>Adjust</i> the name of the directory to <b>match the one you installed</b>.
198     The alias will only take effect in newly opened terminal windows.
200 The standard benchmark scripts serve as a good test of your installation. To run one of them, open a
201 terminal and run:
202 \code
203  cd /Applications/HOOMD-blue.app/Contents/share/hoomd/benchmarks/
204  hoomd lj_liquid_bmark.hoomd
205  # ... watch the simulation run ...
206 \endcode
207 As before, <i>adjust</i> the name of the directory to <b>match the one you installed</b>. Run ls to see a list
208 of other benchmarks you can run.
210 Check out the \ref page_quick_start to start learning how to use hoomd.
212 <hr>
213 \section sec_gpu_options Supported GPUs
215 A GPU is needed to take full advantage of hoomd's performance capabilities. 
216 See http://codeblue.umich.edu/hoomd-blue/benchmarks.html for representative performance numbers.
218 There are a number of ways to configure a computer system with GPUs.
220 <h2>Workstation solutions</h2>
222 <h3>Upgrade an existing desktop system</h3>
223 If a desktop computer meets the necessary system requirements, a GPU can be added to it. Neither this document nor the
224 hoomd developers can determine if your system meets those requirements. Consult an IT professional for advice, if
225 needed. The manufacturer's product page should list the requirements for a particular GPU. One word of caution:
226 pre-built systems from many vendors are often engineered with very little extra space or power, and fast GPUs which are
227 both large and power-hungry will either not fit or fail to operate. A self-powered 
228 <a href="http://www.nvidia.com/object/product_quadroplex_2200_d2_us.html">Quadro Plex 2200 D2</a> might be an option
229 for a desktop with such limitations, but it may also be less expensive to simply buy a new desktop equipped with GeForce
230 GPUs.
232 For GPU-ready desktops, there are many GPUs that are supported by HOOMD-blue 0.9.x.
234 The following are consumer level GPUs designed for gaming.
235 - <a href="http://www.nvidia.com/object/product-geforce-gtx-580-us.html">GeForce GTX 580</a> - \b Recommended for performance desktops
236 - <a href="http://www.nvidia.com/object/product-geforce-gtx-570-us.html">GeForce GTX 570</a>
237 - <a href="http://www.nvidia.com/object/product-geforce-gtx-560ti-us.html">GeForce GTX 560 Ti</a>
238 - <a href="http://www.nvidia.com/object/product_geforce_gtx_480_us.html">GeForce GTX 480</a>
239 - <a href="http://www.nvidia.com/object/product_geforce_gtx_470_us.html">GeForce GTX 470</a>
240 - <a href="http://www.nvidia.com/object/product-geforce-gtx-465-us.html">GeForce GTX 465</a>
241 - <a href="http://www.nvidia.com/object/product-geforce-gtx-460-us.html">GeForce GTX 460</a> - \b Recommended for low power / quiet desktops
242 - <a href="http://www.geforce.com/#/Hardware/GPUs/geforce-gtx-550ti">GeForce GTX 550 Ti</a>
243 - <a href="http://www.nvidia.com/object/product-geforce-gts-450-us.html">GeForce GTS 450</a>
244 - <a href="http://www.nvidia.com/object/product-geforce-gt-440-us.html">GeForce GT 440</a>
245 - <a href="http://www.nvidia.com/object/product-geforce-gt-430-us.html">GeForce GT 430</a>
246 - <a href="http://www.nvidia.com/object/product_geforce_gtx_295_us.html">GeForce GTX 295</a>
247 - <a href="http://www.nvidia.com/object/product_geforce_gtx_285_us.html">GeForce GTX 285</a>
248 - <a href="http://www.nvidia.com/object/product_geforce_gtx_285_for_mac_us.html">GeForce GTX 285 for Mac</a>
249 - <a href="http://www.nvidia.com/object/product_geforce_gtx_280_us.html">GeForce GTX 280</a>
250 - <a href="http://www.nvidia.com/object/product_geforce_gtx_275_us.html">GeForce GTX 275</a>
251 - <a href="http://www.nvidia.com/object/product_geforce_gtx_260_us.html">GeForce GTX 260</a>
252 - <a href="http://www.nvidia.com/object/product_geforce_gts_250_us.html">GeForce GTS 250</a>
253 - <a href="http://www.nvidia.com/object/product_geforce_gt_240_us.html">GeForce GT 240</a>
254 - <a href="http://www.nvidia.com/object/product_geforce_gt_220_us.html">GeForce GT 220</a>
255 - <a href="http://www.nvidia.com/object/product_geforce_210_us.html">GeForce GT 210</a>
256 - \b Note: Factory over-clocked models are \b not supported.
258 Tesla CXXXX GPUs are professional level compute cards with more memory than their consumer-level counterparts.
259 Also, Tesla C20X0 cards are capable of four times more double precision FLOPS than GTX 480.
260 - <a href="http://www.nvidia.com/object/product_tesla_C2050_C2070_us.html">Tesla C2070</a>
261 - <a href="http://www.nvidia.com/object/product_tesla_C2050_C2070_us.html">Tesla C2050</a> - \b Recommended
262 - <a href="http://www.nvidia.com/object/product_tesla_c1060_us.html">Tesla C1060</a>
264 Quadro GPUs are professional level graphics workstation cards.
265 - <a href="http://www.nvidia.com/object/product-quadro-6000-us.html">Quadro 6000</a>
266 - <a href="http://www.nvidia.com/object/product-quadro-5000-us.html">Quadro 5000</a>
267 - <a href="http://www.nvidia.com/object/product-quadro-4000-us.html">Quadro 4000</a>
268 - <a href="http://www.nvidia.com/object/product-quadro-4000-mac-us.html">Quadro 4000 for Mac</a>
269 - <a href="http://www.nvidia.com/object/product_quadro_fx_5800_us.html">Quadro FX 5800</a>
270 - <a href="http://www.nvidia.com/object/product_quadro_fx_4800_us.html">Quadro FX 4800</a>
271 - <a href="http://www.nvidia.com/object/product_quadro_fx_4800_for_mac_us.html">Quadro FX 4800 for Mac</a>
272 - <a href="http://www.nvidia.com/object/product_quadro_fx_380lp_us.html">Quadro FX 380 LP</a>
274 <h3>Purchase a new workstation</h3>
275 Pre-built workstations can be purchased from a number of vendors with any of the above GeForce and Quadro GPUs. Be sure
276 to check out vendors that offer custom gaming rigs. Some offer high performance configurations with up to 3 GPUs.
278 A limited set of vendors sells workstations with Tesla GPUs pre-installed: see http://www.nvidia.com/object/tesla_wtb.html
280 A custom-built workstation is also an option for \em expert system builders and IT professionals.
281 NVIDIA has published a set of recommendations as a starting point: http://www.nvidia.com/object/tesla_build_your_own.html
283 <h2>Data center installations</h2>
285 Data centers demand rack mount hardware. There are several GPU computing systems supported by HOOMD. These are 1U
286 rack mount enclosures containing 4 GPUs, a power supply and cooling fans. Two PCIe interface cards connect the GPU computing
287 system to one or two host nodes.
288 - <a href="http://www.nvidia.com/object/product-tesla-S2050-us.html">Tesla S2050</a> - \b Recommended
289 - <a href="http://www.nvidia.com/object/product_tesla_s1070_us.html">Tesla S1070</a>
291 A number of rack mount enclosures and host nodes also accept Tesla MXXX cards.
292 - <a href="http://www.nvidia.com/object/preconfigured-clusters.html">Tesla M2090</a>
293 - <a href="http://www.nvidia.com/object/product_tesla_M2050_M2070_us.html">Tesla M2070</a>
294 - <a href="http://www.nvidia.com/object/product_tesla_M2050_M2070_us.html">Tesla M2050</a> - \b Recommended
295 - <a href="http://www.nvidia.com/object/product_tesla_m1060_us.html">Tesla M1060</a>
297 Quadro GPUs are also available in rack mount configurations. They are marketed and built more for high performance
298 visualization systems, but are supported by HOOMD-blue.
299 - <a href="http://www.nvidia.com/object/product_quadroplex_2200_d2_us.html">Quadro Plex 2200 D2</a>
300 - <a href="http://www.nvidia.com/object/product_quadroplex_2200_s4_us.html">Quadro Plex 2200 S4</a>
302 See http://www.nvidia.com/object/preconfigured_clusters.html for even more data center options.
304 <h2>Laptops</h2>
306 There are many laptop GPUs capable of running hoomd. Due to power, heat, and stability concerns, the hoomd developers
307 do not support laptops as a platform for long running hoomd simulations.
309 <h2>Future GPUs</h2>
310 GPUs newer than this document may also be supported. HOOMD-blue 0.9.x is tested and supported on the Fermi (GF100)
311 and Tesla (G200) generations. All GPUs from these generations are supported.