Skip to content

Polylib - Polygon Management library

License

BSD-2-Clause, Unknown licenses found

Licenses found

BSD-2-Clause
LICENSE
Unknown
COPYING
Notifications You must be signed in to change notification settings

szks/Polylib

 
 

Repository files navigation

/*
 * Polylib - Polygon Management Library
 *
 * Copyright (c) 2010-2011 VCAD System Research Program, RIKEN. 
 * All rights reserved.
 * 
 * Copyright (c) 2012-2014 Advanced Institute for Computational Science, RIKEN.
 * All rights reserved.
 *
 */


OUTLINE
=======
Polylib is a C++ class library to keep and to manage polygon data, and has following functions.

- load and save polygon data. The supported file formats are STL and OBJ.
- management of polygon data on distributed parallel environment. 
- search and retrieve polygon data
- grouping by input parameter file (text parser format).
- data movement and migration between subdomains.




INGREDIENTS
===========

AUTHORS        Contributors
ChangeLog      History of development
COPYING        Copyright
INSTALL        Description of how to configure
LICENSE        License of Polylib
NEWS           Release note
README         This document
doc/           Documents
include/       Header files
src/           Source files
examples/      Example sources
m4/            for libtools
Makefile_hand  Makefile for special target



SOFTWARE REQUIREMENT
====================
- MPI library
- Text parsing library



HOW TO COMPILE
==============

1. with configure

$ ./configure [options]
$ make
# make install


Generated archives are;
   libPOLY.a/la/dylib    : serial version
   libPOLYmpi.a/la/dylib : MPI version



Configure options:

 --enable-shared=(yes|no)
    This flag tells building shared static library. The default is 'yes'.

 --host=hostname
    Specify in case of cross-compilation.

 --prefix=INSTALL_DIR
    Specify a directory to be installed. The default directory is /usr/local/Polylib.
     
 --with-example=(no|yes)
    Specify building example. The default is 'no'.

 --with-mpich=MPICH_DIR
    If you will use the MPICH library, specify the directory that MPICH library is
    installed. Either --with-mpich or --with-ompi option will be required except using a
    wrapper compiler. If the wrapper compiler, e.g., mpic++ or mpicxx is used to compile,
    both options can be eliminated.

 --with-ompi=OPENMPI_DIR
    If the OpenMPI library is used, specify the directory path.

 --with-parser=TEXTPARSER_PATH
    Specify the directory path that is installed TextParser library.
  
 --with-real=(float|double)
    This option allows to specify the type of real variable. The default is float.


 CXX=CXX_COMPILER
    Specify a C++ compiler, e.g., g++, icpc, xlc++ or others.

 CXXFLAGS=CXX_OPTIONS
    Specify compiler options.



Here is some examples;

## Intel compiler serial

  $ ./configure --prefix=/usr/local/Polylib \
                --with-parser=/usr/local/TextParser \
                --with-example=no \
                CXX=icpc \
                CXXFLAGS="-O3 -Wall -fno-strict-aliasing"


## Intel compiler and MPICH, and with example
 
  $ ./configure --prefix=/usr/local/Polylib \
                --with-mpich=/usr/local/mpich \
                --with-parser=/usr/local/TextParser \
                --with-example=yes \
                --with-real=double \
                CXX=/opt/intel/composerxe/bin/icpc \
                CXXFLAGS="-O3 -Wall -fno-strict-aliasing"


## OpenMPI with wrapper compiler, default install directory, /w example

  $ ./configure --prefix=/usr/local/FFV/Polylib \
                --with-parser=/usr/local/FFV/TextParser \
                --with-example=yes \
                CXX=mpicxx \
                CXXFLAGS="-O3 -Wall -fno-strict-aliasing"


## K-computer

  $ ./configure --prefix=$1 \
                --with-parser=/usr/local/TextParser \
                --host=sparc64-unknown-linux-gnu \
                CXX=mpiFCCpx \
                CXXFLAGS="-Kfast,ocl,preex,simd=2,uxsimd,array_private,parallel,openmp"




2. Hand compile

If a provided configure does not work, use Makefile_hand to build this library. At first,
edit MACRO to tell your machine environment.

About

Polylib - Polygon Management library

Resources

License

BSD-2-Clause, Unknown licenses found

Licenses found

BSD-2-Clause
LICENSE
Unknown
COPYING

Stars

Watchers

Forks

Packages

No packages published