CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Your defined setup can then be permanently saved using the [q] option. If you’re running in a bash<br />
shell, the list <strong>of</strong> defined <strong>CASINO</strong> ARCHs will be stored in a hidden .bashrc.casino file in your home<br />
directory, which will be sourced from your .bashrc every time you log in. The install script also works<br />
if you use the tcsh or csh shells—though without the facility to change <strong>CASINO</strong> ARCHs described below.<br />
Support for other shells is not provided.<br />
The .bashrc.casino file defines a ‘casinoarch’ function, which will allow you to switch between<br />
defined <strong>CASINO</strong> ARCHs. For example, on the current (Jan 2013) fastest machine in the world—the<br />
Cray XK7 ‘Titan’ at Oak Ridge National Laboratory—there are four defined <strong>CASINO</strong> ARCHs:<br />
• linuxpc-gcc-pbs-parallel.titan.arch (397.20 sec.)<br />
• linuxpc-cray-pbs-parallel.titan.arch (456.63 sec.)<br />
• linuxpc-ifort-pbs-parallel.titan.arch (477.75 sec.)<br />
• linuxpc-pgf-pbs-parallel.titan.arch (490.10 sec.)<br />
referring to the four different available compilers (Gnu, Cray, Intel, Portland), and where the time<br />
quoted is the time required to run a test DMC run (you can see it’s worth paying attention to doing<br />
tests to see which compiler produces the fastest executable!). You can switch between these four arch<br />
files by typing ‘casinoarch gcc’, ‘casinoarch cray’, ‘casinoarch ifort’, or ‘casinoarch pgf’.<br />
As an example <strong>of</strong> what using casino’s automated utilities saves you, note that Titan requires ‘modules’<br />
to be loaded and unloaded to set up particular programming environments with different compilers.<br />
Both ‘make’ and the casino run script ‘runqmc’ will do this automatically on detecting the current<br />
‘<strong>CASINO</strong> ARCH’, so there is no need for the user to understand or interact with the module system at<br />
all.<br />
More details <strong>of</strong> all the above procedures are given in the section ‘The <strong>CASINO</strong> ARCH system’ below.<br />
MANUAL PROCEDURE<br />
If you don’t wish to use a magic script (though we strongly suggest you do), then you may attempt<br />
the following <strong>manual</strong> installation.<br />
For most machines, a suitable <strong>CASINO</strong> ARCH data file will already exist in the /arch/data directory.<br />
If you have installed casino before, you likely know which one it is. You may also look through the<br />
data files <strong>manual</strong>ly to see which one is likely to correspond to your machine. If your machine is similar<br />
to, but not identical, to one already set up, then you may borrow one <strong>of</strong> the data files and suitably<br />
modify it (see the instructions below and in Appendix 5).<br />
Assuming, for example, that your <strong>CASINO</strong> ARCH is ‘linuxpc-ifort’, then you need to set this as a<br />
permanent environment variable in your shell. If you use, for example, the bash shell then you need<br />
to add something like<br />
export <strong>CASINO</strong>_ARCH=’linuxpc-ifort’<br />
to your .bashrc file, and then source ∼/.bashrc.<br />
5.1.5 Compiling the code<br />
Once you have sorted out the arch file, you may compile the code and the utilities in two different<br />
ways.<br />
AUTOMATIC PROCEDURE<br />
Run the install script as before and this time select the [c] option (‘Compile casino for<br />
already-configured <strong>CASINO</strong> ARCHs’). The script will respond with a list <strong>of</strong> defined <strong>CASINO</strong> ARCHs<br />
and the following text (using the Titan machine as an example):<br />
The following <strong>CASINO</strong>_ARCHs are configured (it is possible that not all <strong>of</strong> them<br />
can be compiled from this machine depending on your set-up):<br />
[1] linuxpc-gcc-pbs-parallel.titan<br />
[2] linuxpc-cray-pbs-parallel.titan<br />
[3] linuxpc-ifort-pbs-parallel.titan<br />
7