  Existing approaches for device placement ignore the topological features of
computation graphs and rely mostly on heuristic methods for graph partitioning.
At the same time, they either follow a grouper-placer or an encoder-placer
architecture, which requires understanding the interaction structure between
code operations. To bridge the gap between encoder-placer and grouper-placer
techniques, we propose a novel framework for the task of device placement,
relying on smaller computation graphs extracted from the OpenVINO toolkit using
reinforcement learning. The framework consists of five steps, including graph
coarsening, node representation learning and policy optimization. It
facilitates end-to-end training and takes into consideration the directed and
acyclic nature of the computation graphs. We also propose a model variant,
inspired by graph parsing networks and complex network analysis, enabling graph
representation learning and personalized graph partitioning jointly, using an
unspecified number of groups. To train the entire framework, we utilize
reinforcement learning techniques by employing the execution time of the
suggested device placements to formulate the reward. We demonstrate the
flexibility and effectiveness of our approach through multiple experiments with
three benchmark models, namely Inception-V3, ResNet, and BERT. The robustness
of the proposed framework is also highlighted through an ablation study. The
suggested placements improve the inference speed for the benchmark models by up
to $58.2\%$ over CPU execution and by up to $60.24\%$ compared to other
commonly used baselines.
