ecsimsw

Tensorflow architecture 본문

Tensorflow architecture

JinHwan Kim 2019. 3. 18. 12:42

Architecture

- tensorflow architecture를
  • Overview

    Client : Defines dataflow graph / Initiates session
    C API : Separates user level code in different languages from core runtime
    Distributed Master : Prunes graph / Distributes them to worker services
    Worker Services : Schedule to appropriate to the available hardware
    Kernel : Perform the computation
  • Client
    - Tensorflow supports multiple client languages (typically Python , C++). Because the C API at the bottom of client, seperates user-level code in different language from core runtime.

    - Client defines data flow graph, and create session that sends graph definition to distributed master as tf.GraphDef protocol buffer

  • Distributed Master
    - Distributed master prunes the graph and partitions the graph to obtain graph pieces for each participating device. Groups the model parameters in order to place them together on the parameter server.

      Where graph edges are cut by the partition, the distributed master inserts send and receive nodes to pass information between the distributed tasks

  • Worker Service
    - Recieves subgraph from Distribute maste.
    - schedules the execution of the kernels for the operations that comprise a local subgraph, and mediates direct communication between tasks. Dispatches kernels to local devices, runs kernels in parallel devices such as CPUs, GPUs.
    - Speciallized Send / Recv operations. "cudaMemcpyAsync()" API is for transfers between local CPU and GPU devices.
    - protocols tensorflow uses to transfer
    gRPC over TCP RDMA over Converged Ethernet

  • Kernel

'Machine Learning > Tensorflow' 카테고리의 다른 글

언어 구분 학습 / Scikit-learn 연습 /SVM  (0) 2020.01.24
Processing devices  (0) 2019.03.19
Placeholder / Variable  (0) 2019.03.17
Multi-variable / Matrix  (0) 2019.03.16
Linear Regression / Gradient descent algorithm  (0) 2019.03.16
Comments