Code Monkey home page Code Monkey logo

openpnl's Introduction

------------------------------------------------------------------
--  Revised 2016, now with working autoreconf for modern linux  --
--                  http://inferred.info                        --
------------------------------------------------------------------
--
--   new build proccess:
--     [optional] ./autogen.sh
--     ./configure
--     make
--     sudo make install
--
------------------------------------------------------------------
 PNL -- Probabilistic Networks Library. Release 1.0.  31-July-2006
------------------------------------------------------------------

Requirements
  Operating system:
    MS Windows 98/Me/2000/XP
    Linux
  Compiler:
    Visual C++ 6.0 (Intel Compiler 7.0 may used as compiler
    for a Visual Studio Environment)
    gcc 3.x.x, 4.x.x
    icc 8.x
    icc 9.0, 9.1

Directory tree.
---------------
        bin(*)             -- executable files and DLLs
        lib(*)             -- static libraries and stub libraries (for using DLLs)
        c_pgmtk            -- root folder for C++ version of PNL
           examples        -- example applications
              data         -- folder containing data files, which is used in examples
           include         -- include files for external interface
           make            -- project definition files 
           src             -- source code of library
              include      -- internal header files
           tests           -- set of tests
              include      -- internal header files for tests
              src          -- source code for tests
              make         -- project definition files for tests        
              testdata     -- data files used by tests 
              !readme!.txt -- read it before you start building tests
           high            -- high level API for PNL (experimental for now)
        cxcore             -- openCV core. Used for operation with sparse matrices
        doc                -- users guide and reference manual           
        trs                -- TRS test system
           include         -- header files
           make            -- project definition files
           src             -- source files

(*) The directory and its content are generated during the build
    process.

Building the library, examples and tests for C/C++ version from Developer Studio 6.0
--------------------------------------------------------

To build the library and utilities from Developer Studio 6.0 do the following:

  1. Start Microsoft Developer Studio 6.0.

  2. Open workspace "c_pgmtk/make/pnl.dsw". It contains the following 
        projects:

     Project...             For...
     ------------------------------------------------------------
     _build_all             All components provided by workspace
     ex_param               Example of using evidence class
     gibbs                  Example of using Gibbs inference sampling
     inf_learn_bnet         Example of using inference and learning classes for BNets
     inf_learn_dbn          Example of using inference and learning classes for DBNs
     learn_param            Example of using learn class
     mixture_gaussian_bnet  Example of mixture gaussian bnet creation
     pnl                    C++ version of PNL 
     testLIMID              Example of using LIMID inference for Influence Diagrams
     testParPNL             Example of using parallel methods for some algorithms
     test_pnl_c             Tests for C++ version of PGMTk 
     testSL                 Test on structure learning of BNet
     trial                  Example of working with junction tree inference engine
     trs                    TRS test system
     use_matrix             Example of operating with matricies

   4. Build project _build_all to build library, examples and tests.

Notes:
  (a) Configurations "Win32 Debug" and "Win32 Release" build DLL version 
      of the library, examples and tests that link this DLL.

  (b) Debug variants of library, examples and tests have the suffix "d",
      for example: "pnld.dll", "triald.exe".

  (c) Configurations "Win32 Parallel Debug" and "Win32 Parallel Release" build DLL
      version of the library, that contains parallel classes. MPI or(and) OpenMP
      versions can be built by using "BUILD_MPI" or(and) "BUILD_OMP" precompiler's 
      definitions. OpenMP case suppose to use "/Qopenmp" key as a compiler's option.

--------------------------------------------------------
Building the library, examples and tests for
C/C++ version from Linux with gcc
--------------------------------------------------------
   1. Go to the root directory (it contain this file and changes.txt)
   2. Run './configure.gcc'
   3. Run 'make' to compile sources
   4. Run 'make check' to compile and launch test suite (optionally)
   5. Run 'make install' to install library

Notes:
   - Step 2 (Run './configure.gcc') should be run on initial or on compiler 
     changing
   - If you want to install library to some directory instead of '/usr/local' 
     (as default), you can use '--prefix' option of 'configure' script 
     in 'configure.gcc' file (run './configure -h' to read more)
   - You can use object directory to build library. In this case step 2
     looks like 'SRCROOT/configure.gcc', where 'SRCROOT' is relative path 
     to source root directory
   - If you have some error during compiling or if you want to view compiling 
     message later, run 'make 2>&1 | tee compiling.log' instead of 'make'

--------------------------------------------------------
Building the library, examples and tests for
C/C++ version from Linux with icc (Intel compiler)
--------------------------------------------------------
   1. Go to the root directory (it contain this file and changes.txt)
   2. Run './configure.icc'
   3. Run 'make' to compile sources
   4. Run 'make check' to compile and launch test suite (optionally)
   5. Run 'make install' to install library

Notes:
   - Step 2 (Run './configure.icc') should be run on initial or on compiler 
     changing
   - If you want to install library to some directory instead of '/usr/local'
     (as default), you can use '--prefix' option of 'configure' script 
     in 'configure.icc' file (run './configure -h' to read more)
   - You can use object directory to build library. In this case step 2
     looks like 'SRCROOT/configure.icc', where 'SRCROOT' is relative path
     to source root directory
   - If you want to compile pnl with parallel functionality (OpenMP parallel 
     mode of pnl) you have to define CXXFLAGS variable as '-openmp' and define 
     BUILD_OMP in pnlParConfig.hpp as macro of preprocessor
   - If you want to compile pnl with parallel functionality (Cluster OpemMP
     parallel mode of pnl) you have to define CXXFLAGS variable as '-cluster-openmp'
   - If you have some error during compiling or if you want to view compiling
     message later, run 'make 2>&1 | tee compiling.log' instead  of 'make'

openpnl's People

Contributors

osh avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.