Projet

Général

Profil

Install YoGA » Historique » Révision 2

Révision 1 (Damien Gratadour, 25/10/2013 09:22) → Révision 2/3 (Damien Gratadour, 25/10/2013 23:20)

h1. Install YoGA 

 This page will guide you through the process of getting YoGA up and running on your machine 

 h2. Why CUDA ? 

 Yoga is built on top of the CUDA toolkit which is NVIDIA proprietary software. It is however freely available from NVIDIA's website. CUDA has been receiving a lot of support from NVIDIA and the GPGPU community in general and provides a large collection of tools to perform scientific computing (cufft, cublas, curand). Moreover, several libraries like "cudpp":http://code.google.com/p/cudpp/ or "MAGMA":http://icl.cs.utk.edu/magma/index.html have been developed using CUDA and provide additional functionalities very useful for scientific computing. CUDA thus appeared to us as the best option to quickly deploy a general toolkit for a "GPU accelerated Yorick". 

 The drawback is Yoga being doomed to be used on computers equipped with NVIDIA GPU card. You'll find here the list of "CUDA-capable video cards":http://www.nvidia.com/object/cuda_gpus.html Yoga has been tested on a variety of platforms, from laptops to servers with various grades of GPU cards from mobile series to high-end scientific-grade cards. 

 Concerning the OS, Yoga has been tested on linux and Mac OS with success. The following instructions apply for both. 

 h2. Install NVIDIA's devdriver, toolkit and SDK 

 Go go to the "nvidia cuda website":http://developer.nvidia.com/cuda-toolkit and get the 3 associated files for your distribution (the ubuntu packages install well on debian using the -keep option) 

 on linux, to compile the driver, you'll need to kill the x server first if you have one running. the executable will compile the new module and load it. you just need to reload your desktop manager (if needed) to be back on your feet. 

 It is not required but recommended to install NVIDIA's SDK. First it allows you to check your CUDA framework installation and driver installed, following it also provides you with some example codes. 

 On many OS, it is required to add 

 <pre> 
 --compiler-options -fpermissive 
 </pre> 

 to the installation instruction nvcc (NVIDIA C compiler) flags in the common.mk file to be able to compile the whole SDK. this option is present by default in Yoga and will trigger a warning signal : 

 <pre> 
 cc1: warning: command line option "-fpermissive" is valid for your operating system. C++/ObjC++ but not for C 
 </pre> 

 at compilation. This will not impact execution of the code. It is linked to newer versions of gcc that have stricter compilation rules. 

 h2. Install Yorick 

 You get can Yorick from here : http://dhmunro.github.com/yorick-doc/ . This webpage will help you as well : http://www.maumae.net/yorick/doc/index.php. The associated forum provides a lot of help. 


 h2. Download & Install YoGA 

 Get the latest version on the SVN repository or if you do not * You have access, to contact us.  

 The YoGA distribution is splitted into two parts corresponding us in order to 2 levels of use the high-level and the low-level. The latter is the YoGA get a binary library and corresponding C++ API. The corresponding files are located in the trunk/libyoga directory. Once compiled, a libyoga.so file will be created that can be dynamically linked to your software. The high-level corresponds to 
 * Download the YoGA plugin for Yorick. The corresponding necessary yorick files are located in the trunk/yorick directory. Once compiled, a file yoga.so will be created and various files will be installed in your Yorick distribution so as to be able to load the yoga plugin in any of your Yorick session.  

 

 then go to the newly created Yoga yorick-yoga directory and update the Makefile with a: 

 <pre> 
 yorick -batch make.i 
 </pre> 

 check the path to access the CUDA libs (by default : /usr/local/cuda). 

 To get the full flavor of Yoga, you need an additional CUDA library : "cudpp":http://code.google.com/p/cudpp/. The following command will do everything from downloading the package to moving the proper files to the proper place for you :  

 <pre> 
 make cudpp 
 </pre> 

 then a standard :  

 <pre> 
 make && make install 
 </pre> 

 will get you up and running ! 

 There are some check scripts available in check_yoga.i that allow you to check your installation.