|
Installation and Configuration of COSICOSI relies on some external libraries and tools. This page is dedicated to the installation and configuration of COSIExternal libraries and compilationThe compilation of the COSI software infrastructure requires two external libraries:
This is enough to be able to compile COSI. I build COSI under Eclipse and I suggest you to do the same as makefiles are managed automatically by Eclipse. Import the COSI project under Eclipse (form the File menu select Import->General->Existing projects into workspace). Edit the project properties by left-clicking on the project and selecting Properties (at the bottom of the menu)
Under C/C++ Build, select Settings. This selection will show the compiler settings like preprocessor symbols, include directories etc. Add the symbol TIXML_USE_STL. COSI will be compiled with the -DTIXML_USE_STL symbol defined.
Now we need to point to the include directories were all the header files will be found. We need to set up three directories: the COSI directoy, the newmat directory and the tinyxml directory. Like in the figure below. I have projects for all this libraries, thus I can use a path relative to the workspace path. This is not possible in general for all installations and it depends where the libraries have been installed. You can enter the full path for each library (i.e. /path/to/tinyxml and /path/to/newmat). Also notice that if you are running a Windows operating system and compiling using GCC under cygwin, the full path must be provided (paths relative to the workspace may create problems).
External toolsDepending on the functionalities that the user of COSI need, several tools can be installed and used together with a COSI application. COSI communicates with external tools through files: an input file is generated by a dedicated output function, the tool is launched using a system call and the results are parserd by a dedicated input function. Here is a list of tools that are currently used by COSI.Graph partitionersTo partition large networks into sub-networks, COSI relies on external tools that implement graph partitioning algorithms. For each of them, dedicated functions to generate the necessary inputs and parsers to read the results generated by the tools are provided with this distribution of COSI. Two partitioners are supported: hmetis and PaToH. The support for PaToH is really motivated by the fact that hmetis does not run under Mac OS X.The configuration file<?xml version="1.0" ?> <Configuration> <COSI version="CosiNoc 1.3" /> <TMP root="/tmp" /> <SYSTEMC root="/Users/apinto/Projects/cosi/src/releases/systemc-2.2.0"/> <PARQUET root="/Users/apinto/Projects/cosi/src/releases/PARQUET_050330/Debug" exec="Parquet" /> <HMETIS root="/Users/apinto/Projects/cosi/src/releases/hmetis-1.5-osx-i686" exec="hmetis" /> <KHMETIS root="/Users/apinto/Projects/cosi/src/releases/hmetis-1.5-osx-i686" exec="khmetis" /> <SHMETIS root="/Users/apinto/Projects/cosi/src/releases/hmetis-1.5-osx-i686" exec="shmetis" /> <PATOH root="/Users/apinto/Projects/cosi/src/releases/PaToH" exec="patoh" /> <PBSOLVER root="/Users/apinto/Projects/cosi/src/releases/minisat/Debug" exec="minisat" /> <TRACER root="/Developer/Simulator/GTKwave/bin" exec="gtkwave" /> </Configuration> * Generated on Sun Sep 7 18:37:45 2008 for COSI by 1.5.4 |