Page MenuHomec4science

README.md
No OneTemporary

File Metadata

Created
Sat, Jul 27, 03:03

README.md

# Dependencies
## Core
FFTW3_OMP, python(2|3), numpy, thurst, boost (preprocessor), g++/clang++ with C++11 and OpenMP support
## Cuda
Cuda 8.0 or higher. Compute capacity 3.5.
## Doc
Doxygen, Mercurial
# Build
## First time building
You should first clone the git submodules that are dependencies to tamaas:
git submodule update --init --recursive
If you wish to build Criterion tests, you should compile Criterion (optional, see below):
cd third-party/Criterion
mkdir build
cd build
cmake ..
cmake --build .
cd ../../..
The build system uses SCons. In order to construct the library you should hit:
scons
And to speedup the process you can do:
scons -j 6
In order to clean the build
scons -c
In order to compile in debug
scons build_type=debug
Indeed the default was
scons build_type=release
In order to make the compilation more verbose
scons verbose=true
You can, if you wish, not compile tests that use Criterion. Just deactivate the `use_criterion` flag (it is on by default):
scons use_criterion=false
For a list of all compilation options:
scons -h
You can customize a few compilation variables:
- `CXX` changes the compiler
- `CXXFLAGS` adds flags to the compilation process
For example:
- `scons CXX=icpc` compiles with the intel C++ compiler
- `CXXFLAGS=-mavx2 scons` adds the `-mavx2` flag (which enables some Intel instructions) to the compilation process
If the `CXX` variable is defined in your environment, `scons` will take it as a default compiler.
To edit build configuration, simply edit the `build-setup.conf` at the repository root.
## Build the doxygen
scons build_doc=true
# Coding
## Python
Tamaas is mainly used through the python interface. An example can be found in `examples/new_contact.py`
## C++
TODO: update the example
# Paralellism
Tamaas features shared-memory paralellism with OpenMP. The number of threads can be
controlled via the `OMP_NUM_THREADS` environment variable or the `omp_set_num_thread()`
function in the OpenMP API.
## Cuda
To compile Tamaas with Cuda support use the following
scons backend=cuda

Event Timeline