Skip to content

Commit

Permalink
Merge pull request #10 from sergeiNikolaev/main
Browse files Browse the repository at this point in the history
Base automatic script for benchmark tests and documentation.
  • Loading branch information
sergeiNikolaev authored Sep 16, 2021
2 parents 15fe737 + ed3039a commit e45e121
Show file tree
Hide file tree
Showing 43 changed files with 110 additions and 9 deletions.
101 changes: 101 additions & 0 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Benchmark_tests_Ubuntu

on:
schedule:
- cron: '00 2 * * *'

workflow_dispatch:

jobs:
build_and_test:
name: Building on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04]
python-version: [3.7]
env:
SOFA_ROOT_DIRECTORY: /opt/sofa
SOFA_BUILD_DIRECTORY: /opt/sofa/build_release
SOFA_PYTHON3_DIRECTORY: /opt/SofaPython3
SOFA_PYTHON3_BUILD_DIRECTORY: /opt/SofaPython3/build_release

steps:
- name: Checkout source code
uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Install requirements
run: |
sudo apt install -qq libeigen3-dev libboost-all-dev libpthread-stubs0-dev libblas-dev freeglut3 freeglut3-dev libglew-dev
python3 -m pip install --upgrade pip
python3 -m pip install numpy pyyaml
- name: Build pybind11
run: |
git clone -b v2.4 --depth 1 https://github.com/pybind/pybind11.git /tmp/pybind11
cd /tmp/pybind11
cmake -DPYBIND11_TEST=OFF .
cmake -DPYBIND11_TEST=OFF .
make
- name: Install pybind11
run: |
cd /tmp/pybind11
sudo make install
- name: Build SOFA
run: |
git clone --branch v20.12 https://github.com/sofa-framework/sofa.git $SOFA_ROOT_DIRECTORY
mkdir $SOFA_BUILD_DIRECTORY
cd $SOFA_BUILD_DIRECTORY
cmake -DSOFAGUI_QGLVIEWER=OFF -DSOFAGUI_QT=OFF -DSOFAGUI_QTVIEWER=OFF ..
make -j 8
- name: Install SOFA
run: |
cd $SOFA_BUILD_DIRECTORY
sudo make install
- name: Build python3 plugin
run: |
git clone --branch v20.12 https://github.com/sofa-framework/SofaPython3.git $SOFA_PYTHON3_DIRECTORY
mkdir $SOFA_PYTHON3_BUILD_DIRECTORY
cd $SOFA_PYTHON3_BUILD_DIRECTORY
cmake -DCMAKE_PREFIX_PATH=$SOFA_BUILD_DIRECTORY/install ..
make -j 8
- name: Install python3 plugin
run: |
cd $SOFA_PYTHON3_BUILD_DIRECTORY
sudo make install
- name: Build Optimus
run: |
mkdir $GITHUB_WORKSPACE/build_release
cd $GITHUB_WORKSPACE/build_release
cmake -DCMAKE_PREFIX_PATH=$SOFA_BUILD_DIRECTORY/install ..
make -j 8
- name: Install Optimus
run: |
cd $GITHUB_WORKSPACE/build_release
sudo make install
- name: Optimus tests
run: |
export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build_release
export SOFA_PLUGIN_PATH=$GITHUB_WORKSPACE/build_release
FOLDER_LIST=`find $GITHUB_WORKSPACE/benchmarks -maxdepth 1`
for FOLDER in $FOLDER_LIST; do
if [ -f $FOLDER/verify.sh ]; then
cd $FOLDER
echo "Perform test: $FOLDER"
$FOLDER/verify.sh $SOFA_BUILD_DIRECTORY/bin/runSofa $SOFA_PYTHON3_BUILD_DIRECTORY/lib
fi
done
echo "All tests have been executed"
2 changes: 1 addition & 1 deletion ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ Compilation of these components must be activated by CMake macro STOCHASTIC_FILT
- Main methods are initializeStep(), computePrediction() and computeCorrection(), all called by the FilteringAnimationLoop.


`EnTKFilter`
`ETKFilter`

- Ensemble Transform Kalman filter. Its description is given in Axel Hutt (2020) "Divergence of the ensemble transform kalman filter by nonlocal observations". Instead of sigma points the transformation are performed with Ensemble members.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ general_parameters:
density: 200 # total_mass: 0.2
delta_time: 0.01
solver_kind: "Euler" # options are "Euler", "Newton", and "Symplectic"
linear_solver_kind: "Pardiso" # options are "CG", "Pardiso", and "LDL"
linear_solver_kind: "LDL" # options are "CG", "Pardiso", and "LDL"
rayleigh_mass: 0.1
rayleigh_stiffness: 0.1
boundary_conditions_list:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ general_parameters:
&time
0.001
solver_kind: "Euler" # options are "Euler", "Newton", and "Symplectic"
linear_solver_kind: "Pardiso" # options are "CG", "Pardiso", and "LDL"
linear_solver_kind: "LDL" # options are "CG", "Pardiso", and "LDL"
rayleigh_mass: 0.1
rayleigh_stiffness: 0.1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ general_parameters:
density: 200 # total_mass: 0.2
delta_time: 0.01
solver_kind: "Euler" # options are "Euler", "Newton", and "Symplectic"
linear_solver_kind: "Pardiso" # options are "CG", "Pardiso", and "LDL"
linear_solver_kind: "LDL" # options are "CG", "Pardiso", and "LDL"
rayleigh_mass: 20.1
rayleigh_stiffness: 0.1
boundary_conditions_list:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ general_parameters:
delta_time: 0.01
solver_kind: "Symplectic" # options are "Euler", "Newton", and "Symplectic"
da_solver_kind: "Euler" # options are "Euler", "Newton", and "Symplectic"
linear_solver_kind: "Pardiso" # options are "CG", "Pardiso", and "LDL"
linear_solver_kind: "LDL" # options are "CG", "Pardiso", and "LDL"
rayleigh_mass: 0.1
rayleigh_stiffness: 0.1
boundary_conditions_list:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ general_parameters:
density: 200 # total_mass: 0.2
delta_time: 0.01
solver_kind: "Euler" # options are "Euler", "Newton", and "Symplectic"
linear_solver_kind: "Pardiso" # options are "CG", "Pardiso", and "LDL"
linear_solver_kind: "LDL" # options are "CG", "Pardiso", and "LDL"
rayleigh_mass: 0.12
rayleigh_stiffness: 0.1
boundary_conditions_list:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ model:

int: # temporal integrator properties
type: 'Euler'
linear_type: "Pardiso" # options are "CG", "Pardiso", and "LDL"
linear_type: "LDL" # options are "CG", "Pardiso", and "LDL"
rmass: 0.1
rstiff: 3
maxit: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ \section{Components}
\item Main methods are initializeStep(), computePrediction() and computeCorrection(), all called by the \al.
\end{itemize}
\medskip
{\large \entkf}
{\large \etkf}
\begin{itemize}
\item Ensemble Transform Kalman filter described in~\cite{HuttDivergenceOfTheEnsembleTransformKalmanFilter2020}. Instead of sigma points the transformation are performed with Ensemble members.
\item Main methods are initializeStep(), computePrediction() and computeCorrection(), all called by the \al.
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion doc/OptimusDoc/macros.tex → doc/OptimusTEX/macros.tex
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@
\newcommand{\ukf}{\texttt{UKFilter}}
\newcommand{\roukf}{\texttt{ROUKFilter}}
\newcommand{\ukfsc}{\texttt{UKFilterSimCorr}}
\newcommand{\entkf}{\texttt{EnTKFilter}}
\newcommand{\etkf}{\texttt{ETKFilter}}
\newcommand{\opr}{\texttt{OptimParams}}
\newcommand{\mobs}{\texttt{MappedStateObservationManager}}
File renamed without changes.
Binary file not shown.
Binary file added doc/Optimus_plugin_presentation.pdf
Binary file not shown.

0 comments on commit e45e121

Please sign in to comment.