aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorEvan Miller <emmiller@gmail.com>2023-07-10 11:49:56 -0400
committerGitHub <noreply@github.com>2023-07-10 18:49:56 +0300
commit5656d10599bd756dc0f17284e418e704200b43f3 (patch)
treea9aba6c867a268d0bcb90bd9174912774a67ed65 /.github
parent1d1630996920f889cdc08de26cebf2415958540e (diff)
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 <ggerganov@gmail.com>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml34
1 files changed, 34 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f6a2dd6..b6e21b4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -104,6 +104,40 @@ jobs:
cd build
ctest --verbose --timeout 900
+ ubuntu-latest-cmake-mpi:
+ runs-on: ubuntu-latest
+
+ continue-on-error: true
+
+ strategy:
+ matrix:
+ mpi_library: [mpich, libopenmpi-dev]
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ id: depends
+ run: |
+ sudo apt-get update
+ sudo apt-get install build-essential ${{ matrix.mpi_library }}
+
+ - name: Build
+ id: cmake_build
+ run: |
+ mkdir build
+ cd build
+ cmake -DLLAMA_MPI=ON ..
+ cmake --build . --config Release
+
+ - name: Test
+ id: cmake_test
+ run: |
+ cd build
+ ctest --verbose
+
macOS-latest-make:
runs-on: macos-latest