Projet

Général

Profil

Install the platform » Historique » Révision 12

Révision 11 (Damien Gratadour, 10/11/2013 15:38) → Révision 12/62 (Damien Gratadour, 12/11/2013 09:21)

h1. Install the platform 

 The COMPASS platform is distributed as a single bundle of CArMA and SuTrA libraries and YoGA and its AO extension for Yorick.  

 h2. Hardware requirements 

 The system must contain at least an x86 CPU and a CUDA capable GPU. list of compatible GPUs can be found here http://www.nvidia.com/object/cuda_gpus.html. Specific requirements apply to clusters (to be updated). 

 h2. Environment requirements 

 The system must be running a 64 bit distribution of Linux or Mac OS with the latest NVIDIA drivers and "CUDA toolkit":https://developer.nvidia.com/cuda-downloads. The installation of the corresponding version of the "CULA tools":http://www.culatools.com/downloads/dense/ is also required. The following installation instructions are valid if the default installation paths have been selected for these components. 

 Additionally, to benefit from the user-oriented features of the platform, Yorick should be installed as well as the latest version of Python and the associated pygtk module.  

 To install Yorick, download the latest version from the github repository: 
 <pre> 
 git clone https://github.com/dhmunro/yorick.git yorick.git 
 </pre> 
 then cd onto the created directory and install: 
 <pre> 
 ./configure && make && make install 
 </pre> 
 once Yorick is locally installed, you will have to add this directory : yorick.git/relocate/bin to your PATH to have an easy access to the yorick executable. You may want to add support for command history by using rlwrap and alias the yorick executable as : 
 <pre> 
 alias yorick='rlwrap path_to_yorick_executable/yorick' 
 </pre> 


 h2. Installation process 

 First check out the latest version from the svn repository : 
 <pre> 
 svn co https://version-lesia.obspm.fr/repos/compass compass 
 </pre> 
 then go in the newly created directory and then trunk: 
 <pre> 
 cd compass/trunk 
 </pre> 
 once there, you need to modify system variables in the define_var.sh executable : 
 <pre> 
 emacs define_var.sh 
 </pre> 
 in this file define properly CUDA_ROOT, CULA_ROOT and YoGA path. Note that for the latter, as YoGA is distributed with SUTrA you should just point to the newly created trunk directory. On a Linux system you should normally have: 
 <pre> 
 export CUDA_ROOT=/usr/local/cuda 
 export CULA_ROOT=/usr/local/cula 
 export YOGA_DIR=/home/MyUserName/path2compass/trunk 
 </pre> 
 in this file, you also have to indicate the proper architecture of your GPU so as the compiler will generate the appropriate code. Modify the following line: 
 <pre 
 export GENCODE="arch=compute_12,code=sm_12" 
 </pre> 
 and change both 12 to your architecture : for instance a Tesla Fermi will have 3.0 computing capabilities so change 12 to 30, a Kepler GPU will have 3.5 computing capabilities, change 12 to 35 

 Once this is done, you're ready to compile the whole library. First run define_var.sh to define the system variables that will be used during the compilation process: 
 <pre> 
 ./define_var.sh 
 </pre> 

 then identify the absolute path to your Yorick executable using:  
 <pre> 
 which yorick 
 </pre> 
 and run the compilation script: 
 <pre> 
 ./reinstall absolute_path_to_yorick 
 </pre> 

 If you did not get any error, CArMA, SuTrA and YoGA are now installed on your machine. You can check that everything is working by launching a GUI to test a simulation: 
 <pre> 
 yorick -i yoga_ao/ywidgets/widget_ao.i 
 </pre>