<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>GAP (HAP) - Chapter 21: Parallel Computation - Core Functions</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="generator" content="GAPDoc2HTML" /> <link rel="stylesheet" type="text/css" href="manual.css" /> </head> <body> <div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="chap17.html">17</a> <a href="chap18.html">18</a> <a href="chap19.html">19</a> <a href="chap20.html">20</a> <a href="chap21.html">21</a> <a href="chap22.html">22</a> <a href="chap23.html">23</a> <a href="chap24.html">24</a> <a href="chap25.html">25</a> <a href="chapInd.html">Ind</a> </div> <div class="chlinkprevnexttop"> <a href="chap0.html">Top of Book</a> <a href="chap20.html">Previous Chapter</a> <a href="chap22.html">Next Chapter</a> </div> <p><a id="X85F9DF1985B88C37" name="X85F9DF1985B88C37"></a></p> <div class="ChapSects"><a href="chap21.html#X85F9DF1985B88C37">21. <span class="Heading"> Parallel Computation - Core Functions</span></a> </div> <h3>21. <span class="Heading"> Parallel Computation - Core Functions</span></h3> <div class="pcenter"><table class="GAPDocTable"> <tr> <td class="tdleft"><code class="code">ChildProcess()</code> <br /> <code class="code">ChildProcess("computer.ac.wales")</code></p> <p>This starts a GAP session as a child process and returns a stream to the child process. If no argument is given then the child process is created on the local machine; otherwise the argument should be the address of a remote computer for which ssh has been configured to require no password from the user.</p> <p>(To configure ssh so that the user can login without a password prompt from "thishost" to "remotehost" either consult "man ssh" or <br /> <br /> - open a shell on thishost<br /> - cd .ssh<br /> - ls<br /> -> if id_dsa, id_rsa etc exists, skip the next two steps!<br /> - ssh-keygen -t rsa<br /> - ssh-keygen -t dsa<br /> - scp *.pub user@remotehost:~/<br /> - ssh remotehost -l user<br /> - cat id_rsa.pub >> .ssh/authorized_keys<br /> - cat id_dsa.pub >> .ssh/authorized_keys<br /> - rm id_rsa.pub id_dsa.pub<br /> - exit<br /> <br /> You should now be able to connect from "thishost" to "remotehost" without a password prompt.)</td> </tr> <tr> <td class="tdleft"><code class="code">ChildClose(s)</code></p> <p>This closes the stream s to a child GAP process.</td> </tr> <tr> <td class="tdleft"><code class="code">ChildCommand("cmd;",s)</code></p> <p>This runs a GAP command "cmd;" on the child process accessed by the stream s. Here "cmd;" is a string representing the command.</td> </tr> <tr> <td class="tdleft"><code class="code"> NextAvailableChild(L)</code></p> <p>Inputs a list L of child processes and returns a child in L which is ready for computation (as soon as such a child is available).</td> </tr> <tr> <td class="tdleft"><code class="code"> IsAvailableChild(s)</code></p> <p>Inputs a child process s and returns true if s is currently available for computations, and false otherwise.</td> </tr> <tr> <td class="tdleft"><code class="code"> ChildPut(A,"B",s)</code></p> <p>This copies a GAP object A on the parent process to an object B on the child process s. (The copying relies on the function PrintObj(A); )</td> </tr> <tr> <td class="tdleft"><code class="code"> ChildGet("A",s)</code></p> <p>This functions copies a GAP object A on the child process s and returns it on the parent process. (The copying relies on the function PrintObj(A); )</td> </tr> <tr> <td class="tdleft"><code class="code">HAPPrintTo("file",R)</code></p> <p>Inputs a name "file" of a new text file and a HAP object R. It writes the object R to "file". Currently this is only implemented for R equal to a resolution.</td> </tr> <tr> <td class="tdleft"><code class="code">HAPRead("file",R)</code></p> <p>Inputs a name "file" containing a HAP object R and returns the object. Currently this is only implemented for R equal to a resolution.</td> </tr> </table><br /><p> </p><br /> </div> <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a> <a href="chap20.html">Previous Chapter</a> <a href="chap22.html">Next Chapter</a> </div> <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="chap17.html">17</a> <a href="chap18.html">18</a> <a href="chap19.html">19</a> <a href="chap20.html">20</a> <a href="chap21.html">21</a> <a href="chap22.html">22</a> <a href="chap23.html">23</a> <a href="chap24.html">24</a> <a href="chap25.html">25</a> <a href="chapInd.html">Ind</a> </div> <hr /> <p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html>