next up previous contents
Next: !HPF$ ALIGN Up: Distribuce dat Previous: Distribuce dat   Obsah

!HPF$ PROCESSORS

Direktivou PROCESSORS deklarujeme abstraktní uspořádání procesorů a takto vzniklé struktuře přidělíme symbolické jméno. Například obě následující deklarace vytvoří abstraktní pole ze 128 procesorů:

\begin{eqnarray*}
&&\mbox{\tt !HPF\$ PROCESSORS P(128) } \\
&&\mbox{\tt !HPF\$ PROCESSORS Q(8,16) }
\end{eqnarray*}



Naopak informace o fyzické topologii daného systému získáme pomocí interních funkcí PROCESSORS_SHAPE NUMBER_OF_PROCESSORS. První z nich vrátí vektor s rozměry sítě, druhá pak počet procesorů buď celkový (je-li volána bez parametru), nebo v dimenzi dané parametrem. Pro systém $32$ procesorů spojených do mřížky $4 \times 8$ dostaneme
příkaz vrací
PROCESSORS_SHAPE() / 4 , 8 /
NUMBER_OF_PROCESSORS() 32
NUMBER_OF_PROCESSORS(1) 4
NUMBER_OF_PROCESSORS(2) 8
kdežto pro jednoprocesorovou pracovní stanici máme
příkaz vrací
PROCESSORS_SHAPE() / 1 /
NUMBER_OF_PROCESSORS() 1
Zatímco uspořádání abstraktních procesorů se často přizpůsobuje řešené úloze, jejich počet se obvykle volí shodný s počtem fyzických procesorů. Principiálně však nic nebrání tomu, aby byl větší. Pokud naopak deklarujeme abstraktních procesorů méně, než je k dispozici fyzických, nevyužijeme plně výpočetní sílu systému. Mapování abstraktních procesorů na fyzické není v HPF stanoveno, takže závisí na konkrétní implementaci.


next up previous contents
Next: !HPF$ ALIGN Up: Distribuce dat Previous: Distribuce dat   Obsah
Pavel Vachal
2001-05-31