This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Benchmark tensorflow distributed by assigning a tensor between two workers. | |
Usage: | |
Start worker 1: | |
python rdma_bench.py --workers="hostname1:port,hostname2:port" --protocol=grpc+verbs --task 0 | |
Start worker 2: | |
python rdma_bench.py --workers="hostname1:port,hostname2:port" --protocol=grpc+verbs --task 1 | |
Run the tests: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Benchmark tensorflow distributed by adding vector of ones on worker2 | |
to variable on worker1 as fast as possible. | |
On 2014 macbook, TensorFlow 0.10 this shows | |
Local rate: 2175.28 MB per second | |
Distributed rate: 107.13 MB per second | |
""" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import tensorflow as tf | |
from tensorflow.python.framework import ops | |
import numpy as np | |
# Define custom py_func which takes also a grad op as argument: | |
def py_func(func, inp, Tout, stateful=True, name=None, grad=None): | |
# Need to generate a unique name to avoid duplicates: | |
rnd_name = 'PyFuncGrad' + str(np.random.randint(0, 1E+8)) | |