Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F92819565
README.md
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Nov 23, 23:08
Size
2 KB
Mime Type
text/plain
Expires
Mon, Nov 25, 23:08 (1 d, 15 h)
Engine
blob
Format
Raw Data
Handle
18309756
Attached To
rTAMAAS tamaas
README.md
View Options
# Dependencies
## Core
FFTW3_OMP, python(2|3), numpy, thrust, 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 (pybind11 and googletest, optional):
git submodule update --init --recursive
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
Tamaas relies on thrust for parallelism. You can change the thrust backend using the appropriate option:
scons backend=cuda
For a list of *all* compilation options:
scons -h
You can edit the file `build-setup.conf` to change the available compilation options.
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.
## Build the doxygen
Make sure you have Mercurial and Doxygen installed (and graphviz for the nice graphs).
scons build_doc=true
# Coding
## Python
Tamaas is mainly used through the python interface. An example can be found in `examples/new_contact.py`.
The example `examples/new_adhesion.py` shows how one can derive a Tamaas (C++) class in python.
## 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
Log In to Comment