tamaas/326e0378133bci-fix-static-checks
ci-fix-static-checks vs master
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
04c23013552d | Lucas Frérot | allow import of tamaas | Oct 26 2023 | ||||
cee303c36400 | Lucas Frérot | html as root of pages | Oct 26 2023 | ||||
903a42f41c46 | Lucas Frérot | within repository | Oct 26 2023 | ||||
41701c4b5e0e | Lucas Frérot | added public folder as artifact | Oct 26 2023 | ||||
ef17b380b1ce | Lucas Frérot | renamed build step | Oct 26 2023 | ||||
9c8231b4f143 | Lucas Frérot | renaming doc push job | Oct 26 2023 | ||||
4c74be160ed0 | Lucas Frérot | fixing pipeline | Oct 26 2023 | ||||
0f119a0aa07a | Lucas Frérot | pushing doc to gitlab pages | Oct 26 2023 | ||||
e16815234513 | Lucas Frérot | added build matrix | Oct 26 2023 | ||||
45fe7b6db00e | Lucas Frérot | added documentation ci build | Oct 26 2023 |
/
README.md
Dependencies
Core
FFTW3_OMP, swig3, python(2|3), numpy, boost (preprocessor), g++ with C++14 support
Doc
Doxygen, Mercurial
Build
First time building
For the first build, you should compile Criterion, a library used for tests:
git submodule update --init --recursive 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
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.
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.