Fork of browsermt/marian-dev made for kotki and maemo-leste.
- Easier/faster to compile
- Easier to package/distribute
- Rewritten and simplified CMake build system
- Use system dependencies where possible (removed almost all vendored libs)
- Removed CUDA, Intel MKL in favor of OpenBLAS
- Removed code related to the training/creation of models
- Removed examples, unit tests
- Removed support for Apple, Microsoft, WASM
- 100% FOSS
Dependencies that marian-lite links against:
- https://github.com/kroketio/intgemm/
- https://github.com/kroketio/pathie-cpp/
- https://github.com/kroketio/sentencepiece-browsermt/
And others:
sudo apt install -y \
cmake \
ccache \
pkg-config \
libopenblas-dev \
libyaml-cpp-dev \
libprotobuf-lite* \
protobuf-compiler \
libsqlite3-dev \
libpcre2-dev \
zlib1g-dev
Some CMake options available:
STATIC
- Produce static binarySHARED
- Produce shared binaryVENDORED_LIBS
- auto-download dependencies
Example:
cmake -DSTATIC=OFF -DSHARED=ON -Bbuild .
make -Cbuild -j6
sudo make -Cbuild install # install into /usr/local/...
Linking against marian-lite in another (CMake) program:
find_package(marian-lite REQUIRED)
target_link_libraries(my_target PRIVATE marian-lite::marian-lite-SHARED) # or '-STATIC'
See browsermt/marian-dev for more information.
- replace CLI11 with a system lib (some changes were made by the marian people). Possibly look to get rid of CLI11 completely.
MIT