]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
mpi : add support for distributed inference via MPI (#2099)
authorEvan Miller <redacted>
Mon, 10 Jul 2023 15:49:56 +0000 (11:49 -0400)
committerGitHub <redacted>
Mon, 10 Jul 2023 15:49:56 +0000 (18:49 +0300)
commit5656d10599bd756dc0f17284e418e704200b43f3
treea9aba6c867a268d0bcb90bd9174912774a67ed65
parent1d1630996920f889cdc08de26cebf2415958540e
mpi : add support for distributed inference via MPI (#2099)

* MPI support, first cut

* fix warnings, update README

* fixes

* wrap includes

* PR comments

* Update CMakeLists.txt

* Add GH workflow, fix test

* Add info to README

* mpi : trying to move more MPI stuff into ggml-mpi (WIP) (#2099)

* mpi : add names for layer inputs + prep ggml_mpi_graph_compute()

* mpi : move all MPI logic into ggml-mpi

Not tested yet

* mpi : various fixes - communication now works but results are wrong

* mpi : fix output tensor after MPI compute (still not working)

* mpi : fix inference

* mpi : minor

* Add OpenMPI to GH action

* [mpi] continue-on-error: true

* mpi : fix after master merge

* [mpi] Link MPI C++ libraries to fix OpenMPI

* tests : fix new llama_backend API

* [mpi] use MPI_INT32_T

* mpi : factor out recv / send in functions and reuse

* mpi : extend API to allow usage with outer backends (e.g. Metal)

---------

Co-authored-by: Georgi Gerganov <redacted>
18 files changed:
.github/workflows/build.yml
.gitignore
CMakeLists.txt
Makefile
README.md
examples/embd-input/embd-input-lib.cpp
examples/embedding/embedding.cpp
examples/main/main.cpp
examples/perplexity/perplexity.cpp
examples/quantize/quantize.cpp
examples/server/server.cpp
examples/simple/simple.cpp
ggml-metal.m
ggml-mpi.c [new file with mode: 0644]
ggml-mpi.h [new file with mode: 0644]
llama.cpp
llama.h
tests/test-tokenizer-0.cpp