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
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
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
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
65 \section sec_system_req System requirements
67 - Linux - \b Recommended
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 )
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.
98 You may need to perform some configuration: http://www.gentoo.org/doc/en/nvidia-guide.xml
100 -# <b>Unmask</b> the latest version of hoomd (this only needs to be performed once).
102 echo "sci-chemistry/hoomd ~amd64" >> /etc/portage/package.keywords
104 -# <b>Install</b> or <b>upgrade</b> hoomd.
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
114 sudo bash NVIDIA-Linux-*.run
116 Follow the on screen prompts to complete the installation.
118 -# <b>Download</b> and <b>import</b> the GPG public key to validate HOOMD-blue RPMs with the following
121 wget http://codeblue.umich.edu/hoomd-blue/downloads/RPM-GPG-KEY-joaander
122 sudo rpm --import RPM-GPG-KEY-joaander
124 This step only needs to be performed once.
126 -# <b>Download</b> the HOOMD-blue RPM package matching your linux distribution from http://codeblue.umich.edu/hoomd-blue/download.html
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
132 sudo yum localinstall hoomd-blue-0.9.2*.rpm
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
142 sudo bash NVIDIA-Linux-*.run
144 Follow the on screen prompts to complete the installation.
146 -# <b>Download</b> the HOOMD-blue deb package matching your linux distribution from http://codeblue.umich.edu/hoomd-blue/download.html
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
152 sudo dpkg -i hoomd-blue-0.9.2*.deb
153 sudo apt-get -f install
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
161 The standard benchmark scripts serve as a good test of your installation. To run one of them, open a
164 cd /usr/share/hoomd/benchmarks
165 hoomd lj_liquid_bmark.hoomd
166 # ... watch the simulation run ...
169 Check out the \ref page_quick_start to start learning how to use hoomd.
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.
179 -# <b>Download</b> the HOOMD-blue dmg package from http://codeblue.umich.edu/hoomd-blue/download.html
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
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
188 -# Perform the following steps to prepare HOOMD-blue for use from the command line. <b>Open</b> a terminal window and
193 To open your ~/.bash_profile file. Add this line to the end:
195 alias hoomd="/Applications/HOOMD-blue.app/Contents/MacOS/hoomd"
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
203 cd /Applications/HOOMD-blue.app/Contents/share/hoomd/benchmarks/
204 hoomd lj_liquid_bmark.hoomd
205 # ... watch the simulation run ...
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.
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
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.
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.
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.