Automatic differentiation (AD) of C++ base on LLVM/clang

Goal: Automatic differentiation (AD) avoids well-known limitations in round-offs and speed, which symbolic and numerical differentiation suffer from, by transforming the source code of functions.
Clad enables automatic differentiation (AD) for C++. It is based on LLVM compiler infrastructure and is a plugin for Clang compiler. Clad is based on source code transformation. Given C++ source code of a mathematical function, it can automatically generate C++ code for computing derivatives of the function. It supports both forward-mode and reverse-mode AD.

F-Rep Designer

experimental Geometric modeling system

Project is a 3D modelling system based entirely on (and only on) the so-called Functional presentation (F-Rep). The main objective is the study of the possibilities of this presentation scheme, as well as the construction of a fully "mesh-free" system for 3D modeling. Visualization of the models is done by Ray tracing algorithm.


framework for creating multi-model visual programming languages

The project was born as a visual extension of SolidOpt. The main objective is the study of visual programming languages. Experiments are mainly in the direction Openness, Interactivity and Dynamics of visual programming languages.

framework for automated optimization of software applications

The project SolidOpt provides tools to facilitate the construction of optimization modules. SolidOpt also provides an environment that leads to the loading of optimization modules, which in turn control the resources used in the computer system. Different presentations of the target application facilitate the implementation of optimization methods.

SolidOpt can be used as a compiler optimization system using available optimization methods and presentations. SolidOpt provides a decompiler if the source code of the target application is not available.


framework for creating a open hybrid systems for geometric modelling

The project is an essential part of my PhD thesis related to open hybrid representation schemes for geometric modeling. It contains several major sub-projects: OpenF.Core - building systems based on hybrid representation schemes (includes Loader, Cache, Configuration, ResourceProvider, Services, Utilities); OpenRay - Experimental Ray tracer; OpenStudio – a demonstration geometric modeling system, based on a hybrid representation scheme. Major representation schemes implemented in the system are B-Rep and the F-Rep.