Subversion

gpucv

[/] [trunk/] [gpucv/] [install.txt] - Rev 586 Go to most recent revision

Compare with Previous - Blame


=======================================================================
=======================================================================
                        GpuCV library:

                Version: GpuCV 0.4.2 rev 355

License: CeCILL-B (http://www.cecill.info/index.en.html)

URL: https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHome
Contact: gpucv-developers (at) picoforge.int-evry.fr
=======================================================================
=======================================================================
NOTE:
original HTML version of this file can be found in .doc/html/setup_page.html



1-Update your system
===============================================
1-A Get latest source code
_______________________________________________
GpuCV project can be downloaded from here
https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHomeDownload.

GpuCV latest stable source code and dependencies can be check out from the
svn respository at:
        //login: guest
        //password: guest
        svn co 
svn+ssh://guest@picoforge.int-evry.fr/gpucv/experimental/trunk/


1-B System requirements
_______________________________________________
GpuCV library have some requirement concerning your system, graphics card
and drivers, please make sure to reach them.
It is compatible with :
- Nvidia GPUs with drivers ForceWare 81.85 or later:
         -GeForce 8 : Full acceleration, highest performance (currently in test).
         -GeForce 7 & 6: Full acceleration, good performance.
         -GeForce 5900: Some hardware features are not available, but some
acceleration can still be achieved.
         -GeForce 4xxx and 3xxx: Few hardware features are available, little
acceleration can be achieved.
         -Older GPUs: Not supported.
-ATI GPUs with drivers Catalyst 5.10 or later:
         -FireGL3100: Most features are compatibles.
         -Higher end FireGL series, Radeon 1xxx and 2xxx series should have
better compatibility, but have not been tested yet.
         -Radeon Xxxx and 9xxx: Almost all the features should be compatibles.
Not tested yet.
         -Radeon 8xxx: Not supported yet.
         -Older GPUs: Not supported.
-OpenCV:
         -Beta 5.
         -v1.0 (partially included into GpuCV releases).

 => Make sure to have latest drivers for your graphics card and mother board.

1-C Dependencies
_______________________________________________
GPUCV is using numerous libraries to link and run such as:
- OpenCV (v1.0, October 18, 2006).  Package - (OpenCV,OpenCV-devel)
- OpenGL
- GLUT  	Package - (freeglut,freeglut-devel)
- GLU 		Package - (freeglut-devel)
- GLEW 		Package - (glew,glew-devel or libglew, libglew-devel)
- SugoiTools	(Included into the tar-gz file)
- (OPT) NVIDIA CUDA. See Setup GpuCV with CUDA. for more details.


*For windows users:
 To get an environment ready to compile GpuCV quickly, we supply 'as is'
an archive containing headers files, DLL and LIB files for MS Windows to
use with MS Visual C++ 2003 or 2005. More informations about this
depencies package can be found in section "dependencies package".Make sure ./GpuCV and
./resources are in the same root folder.


1-D Application and tools
_______________________________________________
Some tools might be required to compile and run GpuCV:
- Premake, to generate projects and Makefiles (Premake - Premake is a
build script generator)
- A compiler chain:
         - For windows: MS Visual 6/2003/2005/2008
        - For Linux: make and gcc
- (OPT)Doxygen, to generate documentation
- (OPT)Subversion, to get latest code
- (OPT)Shader Designer, to create and debug GLSL shader outside of GpuCV
- (OPT)glslDevil, to debug GLSL shader inside GpuCV
- (OPT)gDebugger, to debug OpenGL inside GpuCV


2-Customize GpuCV
===============================================
GpuCV can support external libraries such as NVIDIA CUDA, CUDPP, CUFFT...
and have some internal options that can be customized before compiling.

2-A Customize project properties
_______________________________________________
GpuCV is using a LUA scripts to describe projects properties (includes,
libs, preprocessor commands...) and Premake tools to generate projects
files for different targets such as MS VS6, VS2003, VS2005, VS2008 and GNU
makefiles. This procedure is performed in two steps:

->1. (OPT)Customize gpucv/createSolutions.bat or gpucv/createSolutions.sh script
to suit your needs. Options available are:
 '--target [vs6|vs2003|vs2005|gnu': target development platform.
 '--os [windows|linux]': target OS.
 '--cuda': enable the use of GpuCV-CUDA. 
        GpuCV-CUDA is not yet stable under LINUX.
        Advanced options are availables such as:
         '--cuda-toolkit-path s': Path of CUDA toolkit.
         '--cuda-SDK-path s': Path of CUDA SDK.
         '--use-cudpp': GpuCV-CUDA library will be compiled with CUDPP support.

Depending on your settings, you might found several
solutions in folder './GpuCV/projects/' such as
VS6/VS2003/VS2005/VS2008 or some Makefiles.

2-B Customize project internel settings
_______________________________________________
The file ./GpuCV/include/definition.h contains global definition that are
used in the project. Consult documentation to get more
informations.


3-Compile
===============================================
-Build order is :
- GPUCVHardware.
- GPUCVTexture.
- GPUCVCore.
- GPUCV.
- GPUCVConsole.

3-A Under Microsoft Windows
_______________________________________________
-NOTE: you can use the dependencies pacakage available online on the download page:
https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHomeDownload

- execute:
        ./gpucv/CreateSolutions.bat
        

- compile using the solution file corresponding to your interface of development:
        -'./gpucv/projects/$TARGET$'/GpuCV-$TARGET.sln'

-Set the project GPUCVConsole as 'Start Up Project'.
-Open GPUCVConsole properties window and set the 'Working Directory' from
'Debugging' as your local directory, ex: '%INSTALL_PATH%\gpucv\bin'.

NOTE: if sugoitools generate some errors, see how to recompile it under windows:
https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/WebHomeDownloadResources


3-B Under Linux
_______________________________________________
- Go into ./gpucv/
- In .bashrc file, export library path using absolute path :
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/LOGIN/workdir/gpucv/lib/gnu:/home/LOGIN/workdir/sugoitools/lib/gnu/
- Compile Sugoitools first:
        cd sugoitools
        sh ./CreateSugoiProjects.bat
        export CONFIG=Debug
        make
        export CONFIG=Release
        make
        cd ..

- Compile GpuCV:
        cd gpucv
        ./CreateSolutions.sh
        export CONFIG=Debug
        make
        export CONFIG=Release
        make


4- Generate documentation
===============================================
Local project documentation can be generated with doxygen:
cd ./gpucv/doc
doxygen GpuCv.doxy

Ouput HTML documentation can be foud in ./gpucv/doc/html/:
Firefox html/index.html


5- Test your system
===============================================
GpuCV supply an application to test and benchmark all operators: GPUCVConsole
It can be run using the script ./gpucv/bin/GPUCVConsole_start.sh
See ./gpucv/doc/html/example_list_page.html to have full documentation of all example applications.


5-A Test an operator
_______________________________________________
In this console application, you can test operators by typing their name. 
Enter 'h' to have a full list of operator available.
Example: test the cvAdd() operator
type "add"
You will see resulting images.


5-B Benchmark all operators
_______________________________________________
If you want to benchmark all operators, type "bench 10" to run the benchmark 10 times.
Benchmarks will be saved into ./gpucv/bin/benchmark.html
note: running benchmarks can take several minutes.



Powered by WebSVN v1.61