\hypertarget{rmaps__private_8h}{\section{orte/mca/rmaps/base/rmaps\+\_\+private.h File Reference}
\label{rmaps__private_8h}\index{orte/mca/rmaps/base/rmaps\+\_\+private.\+h@{orte/mca/rmaps/base/rmaps\+\_\+private.\+h}}
}
{\ttfamily \#include \char`\"{}orte\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/types.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/runtime/orte\+\_\+globals.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}orte/mca/rmaps/rmaps.\+h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{rmaps__private_8h_afbbcb450939e7928ed366f30d14c9840}{B\+E\+G\+I\+N\+\_\+\+C\+\_\+\+D\+E\+C\+L\+S O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+map\+\_\+job} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata)}\label{rmaps__private_8h_afbbcb450939e7928ed366f30d14c9840}

\item 
\hypertarget{rmaps__private_8h_af9f9875cac3cca8416af188bf1693469}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \hyperlink{structorte__job__map__t}{orte\+\_\+job\+\_\+map\+\_\+t} $\ast$ {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+job\+\_\+map} (\hyperlink{orte_2include_2orte_2types_8h_addefe647f31eee13c7f756f0d959a99b}{orte\+\_\+jobid\+\_\+t} job)}\label{rmaps__private_8h_af9f9875cac3cca8416af188bf1693469}

\item 
O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int \hyperlink{rmaps__private_8h_aa73878e7cef7dc008dd6d9e10f5dee9c}{orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes} (\hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t} $\ast$node\+\_\+list, \hyperlink{orte_2include_2orte_2types_8h_af3f907e5da1c517a07338513b0c21d6b}{orte\+\_\+std\+\_\+cntr\+\_\+t} $\ast$total\+\_\+num\+\_\+slots, \hyperlink{structorte__app__context__t}{orte\+\_\+app\+\_\+context\+\_\+t} $\ast$app, orte\+\_\+mapping\+\_\+policy\+\_\+t policy, bool initial\+\_\+map)
\item 
\hypertarget{rmaps__private_8h_aa8f999fa0eff30012717c78ed64d19af}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \hyperlink{structorte__proc__t}{orte\+\_\+proc\+\_\+t} $\ast$ {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+setup\+\_\+proc} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata, \hyperlink{structorte__node__t}{orte\+\_\+node\+\_\+t} $\ast$node, orte\+\_\+app\+\_\+idx\+\_\+t idx)}\label{rmaps__private_8h_aa8f999fa0eff30012717c78ed64d19af}

\item 
\hypertarget{rmaps__private_8h_a126f6e190df720cc47477cb1c2a0c28b}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \hyperlink{structorte__node__t}{orte\+\_\+node\+\_\+t} $\ast$ {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+starting\+\_\+point} (\hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t} $\ast$node\+\_\+list, \hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata)}\label{rmaps__private_8h_a126f6e190df720cc47477cb1c2a0c28b}

\item 
\hypertarget{rmaps__private_8h_a2c55e305938aaca87eb25a7b5f50f492}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+compute\+\_\+vpids} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata, \hyperlink{structorte__app__context__t}{orte\+\_\+app\+\_\+context\+\_\+t} $\ast$app, \hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t} $\ast$nodes)}\label{rmaps__private_8h_a2c55e305938aaca87eb25a7b5f50f492}

\item 
\hypertarget{rmaps__private_8h_ac351c5ec0ed0411024ab9353c440b115}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+compute\+\_\+local\+\_\+ranks} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata)}\label{rmaps__private_8h_ac351c5ec0ed0411024ab9353c440b115}

\item 
\hypertarget{rmaps__private_8h_a4259cfe9187211cdeb2ad8b82154fee4}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+compute\+\_\+bindings} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata)}\label{rmaps__private_8h_a4259cfe9187211cdeb2ad8b82154fee4}

\item 
\hypertarget{rmaps__private_8h_a4df029d973966c32f1d3e730c63acfcc}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C void {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+update\+\_\+local\+\_\+ranks} (\hyperlink{structorte__job__t}{orte\+\_\+job\+\_\+t} $\ast$jdata, \hyperlink{structorte__node__t}{orte\+\_\+node\+\_\+t} $\ast$oldnode, \hyperlink{structorte__node__t}{orte\+\_\+node\+\_\+t} $\ast$newnode, \hyperlink{structorte__proc__t}{orte\+\_\+proc\+\_\+t} $\ast$newproc)}\label{rmaps__private_8h_a4df029d973966c32f1d3e730c63acfcc}

\item 
\hypertarget{rmaps__private_8h_a0b5d674c5796933205a33233e7dbc49f}{O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries orte\+\_\+rmaps\+\_\+base\+\_\+rearrange\+\_\+map} (\hyperlink{structorte__app__context__t}{orte\+\_\+app\+\_\+context\+\_\+t} $\ast$app, \hyperlink{structorte__job__map__t}{orte\+\_\+job\+\_\+map\+\_\+t} $\ast$map, \hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t} $\ast$procs)}\label{rmaps__private_8h_a0b5d674c5796933205a33233e7dbc49f}

\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{rmaps__private_8h_aa73878e7cef7dc008dd6d9e10f5dee9c}{\index{rmaps\+\_\+private.\+h@{rmaps\+\_\+private.\+h}!orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes@{orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes}}
\index{orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes@{orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes}!rmaps\+\_\+private.\+h@{rmaps\+\_\+private.\+h}}
\subsubsection[{orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes}]{\setlength{\rightskip}{0pt plus 5cm}O\+R\+T\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int orte\+\_\+rmaps\+\_\+base\+\_\+get\+\_\+target\+\_\+nodes (
\begin{DoxyParamCaption}
\item[{{\bf opal\+\_\+list\+\_\+t} $\ast$}]{node\+\_\+list, }
\item[{{\bf orte\+\_\+std\+\_\+cntr\+\_\+t} $\ast$}]{total\+\_\+num\+\_\+slots, }
\item[{{\bf orte\+\_\+app\+\_\+context\+\_\+t} $\ast$}]{app, }
\item[{orte\+\_\+mapping\+\_\+policy\+\_\+t}]{policy, }
\item[{bool}]{initial\+\_\+map}
\end{DoxyParamCaption}
)}}\label{rmaps__private_8h_aa73878e7cef7dc008dd6d9e10f5dee9c}
set default answer

check that anything is here

check that anything is here

save the next pointer in case we remove this node

check to see if this node is fully used -\/ remove if so

go on to next item 

References orte\+\_\+node\+\_\+t\+::name, O\+B\+J\+\_\+\+R\+E\+L\+E\+A\+S\+E, O\+B\+J\+\_\+\+R\+E\+T\+A\+I\+N, opal\+\_\+list\+\_\+append, opal\+\_\+list\+\_\+get\+\_\+begin(), opal\+\_\+list\+\_\+get\+\_\+end(), opal\+\_\+list\+\_\+get\+\_\+first(), opal\+\_\+list\+\_\+get\+\_\+last(), opal\+\_\+list\+\_\+get\+\_\+next, opal\+\_\+list\+\_\+get\+\_\+prev, opal\+\_\+list\+\_\+get\+\_\+size(), opal\+\_\+list\+\_\+insert\+\_\+pos(), opal\+\_\+list\+\_\+prepend(), opal\+\_\+list\+\_\+remove\+\_\+item(), opal\+\_\+output(), opal\+\_\+output\+\_\+get\+\_\+verbosity(), O\+P\+A\+L\+\_\+\+O\+U\+T\+P\+U\+T\+\_\+\+V\+E\+R\+B\+O\+S\+E, opal\+\_\+pointer\+\_\+array\+\_\+get\+\_\+item(), O\+R\+T\+E\+\_\+\+P\+R\+O\+C\+\_\+\+M\+Y\+\_\+\+N\+A\+M\+E, orte\+\_\+rmaps\+\_\+base, orte\+\_\+rmaps\+\_\+base\+\_\+filter\+\_\+nodes(), orte\+\_\+show\+\_\+help(), orte\+\_\+rmaps\+\_\+base\+\_\+t\+::rmaps\+\_\+output, opal\+\_\+pointer\+\_\+array\+\_\+t\+::size, orte\+\_\+node\+\_\+t\+::slots\+\_\+alloc, orte\+\_\+node\+\_\+t\+::slots\+\_\+inuse, orte\+\_\+node\+\_\+t\+::slots\+\_\+max, orte\+\_\+node\+\_\+t\+::state, orte\+\_\+node\+\_\+t\+::super, and orte\+\_\+process\+\_\+name\+\_\+t\+::vpid.

