Code Monkey home page Code Monkey logo

networking's Introduction

TensorFlow Networking

This repository is for platform-specific networking extensions to core TensorFlow and related utilities (e.g. testing).

The design goal is to work towards separately compilable plugins, but initially we'll just be porting the networking related contrib directories since TensorFlow 2.0 will be dropping contrib.

Building

Currently support building GDR, VERBS, and MPI extensions:

GDR

Using Bazel:

bazel build -c opt //tensorflow_networking/gdr:gdr_server_lib

Using Docker:

docker build -t tf_networking -f tensorflow_networking/gdr/Dockerfile .

VERBS

Using Bazel:

bazel build -c opt //tensorflow_networking/verbs:verbs_server_lib

Using Docker:

docker build -t tf_networking -f tensorflow_networking/verbs/Dockerfile .

MPI

For the MPI extensions the location to the MPI library has to be configured. The configure script is used to setup this configuration. The script will attempt to find the location of the mpirun binary and from there deduce the include and library paths. You can use the MPI_HOME environment variable if mpirun is not installed in your PATH or you want to use another base path for the MPI library. The configure script will create symbolic links inside the third_party/mpi folder to the relevant MPI header and library files. Furthermore the script will determine if your MPI installation is based on OpenMPI or on MPICH and sets this in the .tf_networking_configure.bazelrc file.

grpc+mpi extension

Using Bazel:

By manually answering the relevant configuration questions

./configure
bazel build -c opt //tensorflow_networking/mpi:mpi_server_lib

or by preset answers to the configuration questions

MPI_HOME=<path to mpi folder root> TF_NEED_MPI=1 ./configure
bazel build -c opt //tensorflow_networking/mpi:mpi_server_lib

Using Docker:

docker build -t tf_networking -f tensorflow_networking/mpi/Dockerfile .
MPI collectives extension

Using Bazel:

By manually answering the relevant configuration questions

./configure
bazel build -c opt //tensorflow_networking/mpi_collectives:all

Using Docker:

docker build -t tf_networking -f tensorflow_networking/mpi_collectives/Dockerfile .
grpc+seastar extension

Using Bazel:

bazel build -c opt --copt='-std=gnu++14' //tensorflow_networking:libtensorflow_networking.so

networking's People

Contributors

poxvoculi avatar jbedorf avatar byronyi avatar samuelmarks avatar liutongxuan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.