version 1.4, 2003/12/12 01:09:50 |
version 1.10, 2003/12/13 02:09:30 |
|
|
% $OpenXM: OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex,v 1.3 2003/12/11 07:40:45 noro Exp $ |
% $OpenXM: OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex,v 1.9 2003/12/12 08:34:10 noro Exp $ |
%% xdvi -paper a4r rims-2003-12-16-ja-ohp |
%% xdvi -paper a4r rims-2003-12-16-ja-ohp |
%% dvips -f -t landscape rims-2003-12-16-ja-ohp| psnup -8 -r | lpr -Pxerox6 |
%% dvips -f -t landscape rims-2003-12-16-ja-ohp| psnup -8 -r | lpr -Pxerox6 |
%% dvipdfm -l rims-2003-12-16-ja-ohp |
%% dvipdfm -l rims-2003-12-16-ja-ohp |
|
|
\def\nnn{ {\color{red} $\bullet$}\ } %% $B;v<B(B |
\def\nnn{ {\color{red} $\bullet$}\ } %% $B;v<B(B |
\def\eee{ {\color{magenta} Example}:\ } %% $BNc(B |
\def\eee{ {\color{magenta} Example}:\ } %% $BNc(B |
\def\ttt{ {\color{red} $\bullet$}\ } %% $BDjM}(B |
\def\ttt{ {\color{red} $\bullet$}\ } %% $BDjM}(B |
|
\def\ppp{ {\color{blue} $\bullet$}\ } |
|
|
\def\pagetitle#1{ \fbox{{\color{magenta} #1 }}} |
\def\pagetitle#1{ \fbox{{\color{magenta} #1 }}} |
|
|
|
|
\end{enumerate} |
\end{enumerate} |
\newpage |
\newpage |
|
|
|
%C OpenXM $B$O(B ... $B$NN,$G$3$3$K=q$$$F$"$k$h$&$J$3$H$rL\I8$K?tG/A0$+$i(B |
|
%C $B%Q%C%1!<%8$N3+H/(B, $B%W%m%H%3%k$N3+H/$r$7$F$$$^$9(B. |
\noindent \quad \\ |
\noindent \quad \\ |
\nnn $B?t3X$G$NJBNs7W;;(B, \\ |
\ppp $B?t3X$G$NJBNs7W;;(B, \\ |
\nnn $B?t3X%=%U%H%&%(%"$NE}9g2=(B $B$^$?$O(B Conglomerate $B2=(B (A.Solomon) \\ |
\ppp $B?t3X%=%U%H%&%(%"$NE}9g2=(B $B$^$?$O(B Conglomerate $B2=(B (A.Solomon) \\ |
\nnn $B?t3XE*CN<1$N%^%M!<%8%a%s%H(B (Mathematical Knowledge Management) \\ |
\ppp $B?t3XE*CN<1$N%^%M!<%8%a%s%H(B (Mathematical Knowledge Management) \\ |
\nnn $B<B:]$K?t3X$N8&5f$d?t3X$N1~MQ$K;H$($k%Q%C%1!<%8$N3+H/(B |
\ppp $B<B:]$K?t3X$N8&5f$d?t3X$N1~MQ$K;H$($k%Q%C%1!<%8$N3+H/(B |
|
|
\noindent \quad \\ |
\noindent \quad \\ |
\nnn OpenXM 1.1.1 (January 24, 2000): $B:G=i$N<B83HG(B. \\ |
\nnn OpenXM 1.1.1 (January 24, 2000): $B:G=i$N<B83HG(B. \\ |
Line 100 $\Rightarrow$ {\color{red} ox\_ntl} |
|
Line 103 $\Rightarrow$ {\color{red} ox\_ntl} |
|
\end{verbatim} |
\end{verbatim} |
} |
} |
|
|
$B<BAu$K$h$jL@$i$+$K$J$C$?$3$H(B: \\ |
$B<BAu$K$h$jL@$i$+$K$J$C$?$3$H(B: \quad ox\_toolkit $B$NM-8z@-(B, |
ox\_toolkit $B$NLdBjE@$N2~A1(B, LLL $B$r$h$V$?$a$K(B CMO array $B$bI,MW(B. |
ox\_toolkit $B$NLdBjE@$N2~A1(B, LLL $B$r$h$V$?$a$K(B CMO array $B$bI,MW(B. |
|
|
\rightline{$B3+H/(B: $B4d:,(B ($B>.86(B)} |
\rightline{$B3+H/(B: $B4d:,(B ($B>.86(B)} |
|
|
\newpage |
\newpage |
|
|
\pagetitle{ Polymake $B$N(B OX 100, 101 $B%5!<%P2=$G2?$,LdBj$G$"$C$?$+(B?} |
\pagetitle{ Polymake $B$N(B OX 100, 101 $B%5!<%P2=$G2?$,LdBj$G$"$C$?$+(B?} |
%todo OX 100 $B$N35N,$,I,MW$+(B? |
%C $B>\$7$$$3$H$O$3$3$K=q$$$F$k$3$H$rFI$s$G$b$i$&$3$H$K$7$F(B, $B0l8@$G$$$($P(B |
|
%C C $B$N30It%W%m%0%i%`8F$S=P$7%7%9%F%`%3!<%k(B system $B$N5!G=$r6/2=$7$h$&$H$$$&$3$H(B |
|
|
$B?7$7$$(B OX RFC 100 $B=`5r$N%5!<%P$r:n$k>l9g$K$O(B |
$B?7$7$$(B OX RFC 100 $B=`5r$N%5!<%P$r:n$k>l9g$K$O(B |
$B%?!<%2%C%H$H$9$k?t3X%=%U%H%&%(%"%7%9%F%`$N%=!<%9%3!<%I$K(B OX RFC 100 $BBP1~ItJ,(B |
$B%?!<%2%C%H$H$9$k?t3X%=%U%H%&%(%"%7%9%F%`$N%=!<%9%3!<%I$K(B OX RFC 100 $BBP1~ItJ,(B |
Line 164 unix $B$N(B shell ($B$d(B Windows $B$N%3%^%s%I%W% |
|
Line 168 unix $B$N(B shell ($B$d(B Windows $B$N%3%^%s%I%W% |
|
$B$+$iMxMQ2DG=$J$h$&$K:n$i$l$F$$$k(B: {\color{red} $B%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s(B}. |
$B$+$iMxMQ2DG=$J$h$&$K:n$i$l$F$$$k(B: {\color{red} $B%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s(B}. |
$B%5!<%P$H$NDL?.$NIQEY$OLdBj$K$h$k$,$"$kDxEYBg$-$$7W;;$N>l9g$ODL?.;~4V$OL5;k$G$-$k(B. |
$B%5!<%P$H$NDL?.$NIQEY$OLdBj$K$h$k$,$"$kDxEYBg$-$$7W;;$N>l9g$ODL?.;~4V$OL5;k$G$-$k(B. |
Polymake $B$OBPOCE*MxMQ$OA[Dj$7$F$*$i$:%5!<%P$N7W;;$rCfCG$7$F(B, $B:FEY3+;O$9$k$J$I$NI,MW$,$J$$(B. |
Polymake $B$OBPOCE*MxMQ$OA[Dj$7$F$*$i$:%5!<%P$N7W;;$rCfCG$7$F(B, $B:FEY3+;O$9$k$J$I$NI,MW$,$J$$(B. |
|
$\Rightarrow$ {\tt system} $B4X?t(B. $BLdBjE@(B: $B%U%!%$%k(B, OS $B$N0c$$(B, $B%W%m%;%94IM}(B |
$\Rightarrow$ {\tt system} $B$N6/2=HG(B {\color{blue} oxshell} |
$\Rightarrow$ {\tt system} $B$N6/2=HG(B {\color{blue} oxshell} |
\newpage |
\newpage |
|
|
Line 196 Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r<B8=$9$k$N$,E,@Z$ |
|
Line 201 Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r<B8=$9$k$N$,E,@Z$ |
|
($BC1=c;E;v(B, $B$7$+$7(B, ZPG $B$N6KCW(B; unix $B$H(B windows $B0c$$(B, |
($BC1=c;E;v(B, $B$7$+$7(B, ZPG $B$N6KCW(B; unix $B$H(B windows $B0c$$(B, |
/bin/sh $B$NB8:_(B, $B%W%m%0%i%`$,BgJQFI$_$K$/$/J]<i$b$7$K$/$$(B) |
/bin/sh $B$NB8:_(B, $B%W%m%0%i%`$,BgJQFI$_$K$/$/J]<i$b$7$K$/$$(B) |
|
|
|
%C $B%"%$%G%#%"$O0l8@$G$$$($P<!$N0l9T$N$_(B. |
{\tt oxshell} $B$G$O$3$N;E;v$O<!$N(B 1 $B9T$G=q$/(B. \\ |
{\tt oxshell} $B$G$O$3$N;E;v$O<!$N(B 1 $B9T$G=q$/(B. \\ |
{\color{red} \verb@[(polymake) (stringInOut://$B%9%?%C%/%^%7%sJQ?tL>(B.poly) $BF0:n(B] oxshell@}\\ |
{\color{red} \verb@[(polymake) (stringInOut://$B%9%?%C%/%^%7%sJQ?tL>(B.poly) $BF0:n(B] oxshell@}\\ |
$B%9%?%C%/%^%7%s$NJQ?t$r%U%!%$%k$r$_$J$7$F$$$k(B. |
$B%9%?%C%/%^%7%s$NJQ?t$r%U%!%$%k$r$_$J$7$F$$$k(B. |
Line 204 Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r<B8=$9$k$N$,E,@Z$ |
|
Line 210 Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r<B8=$9$k$N$,E,@Z$ |
|
$BNc(B: Java $B$N(B io.StringReader ( io.InputStreamReader $B$NBe$o$j(B). \\ |
$BNc(B: Java $B$N(B io.StringReader ( io.InputStreamReader $B$NBe$o$j(B). \\ |
$BNc(B: $B%9%/%j%W%H8@8l$G$"$k(B Python |
$BNc(B: $B%9%/%j%W%H8@8l$G$"$k(B Python |
\verb@ x=os.popen("abc","r").read(); @ |
\verb@ x=os.popen("abc","r").read(); @ |
|
%C netscape $B$N(B plugin $B$J$I$bFbItE*$K$O;w$?%"%$%G%#%"$rMQ$$$F$$$k$H;W$o$l$k(B. |
|
|
\noindent |
\noindent |
{\color{blue} $B?7$7$$ItJ,(B}: |
{\color{blue} $B?7$7$$ItJ,(B}: |
|
|
|
|
\pagetitle{ oxshell.facets() $B$N<BAu(B, $B?t3X4X?t$N<BAuNc(B } |
\pagetitle{ oxshell.facets() $B$N<BAu(B, $B?t3X4X?t$N<BAuNc(B } |
|
|
|
%C $B$b$&0l$D$N%]%$%s%H$O(B tfb, OpenMath $B$NM-8z@-$N<B>Z(B. |
|
%C $BEv$jA0$@$,L5$/$F$O$J$i$J$$8&5f$@$C$?(B. |
\nnn $B%G!<%?JQ49$K$O(B tfb/2 ($BEDB<(B)format $B$rMxMQ(B, OpenMath $B%"!<%-%F%/%A%c$rMxMQ(B. |
\nnn $B%G!<%?JQ49$K$O(B tfb/2 ($BEDB<(B)format $B$rMxMQ(B, OpenMath $B%"!<%-%F%/%A%c$rMxMQ(B. |
{\color{blue}$B@.2L(B}: $B$=$NM-8z@-$r<B>Z$G$-$?(B.) |
{\color{blue}$B@.2L(B}: $B$=$NM-8z@-$r<B>Z$G$-$?(B.) |
%% $B$3$l$b?7$7$$E@$G$"$m$&(B. |
%% $B$3$l$b?7$7$$E@$G$"$m$&(B. |
|
|
Outputs to stdout and stderr ] |
Outputs to stdout and stderr ] |
\end{verbatim} } |
\end{verbatim} } |
|
|
|
%C $B?t3XE*$K$O<!$NF05!(B. D-module $B$N7W;;$G(B facet $B$@$;$k(B. |
|
%C ($B:XF#$`$D$_$N(B) $b$ function $B$r(B polytope algorithm $B$G5a$a$k=i$a$F$N<BAu(B. |
{\color{red} taka\_ahg.b(A,Idx)}(OpenXM/src/asir-contrib/packages/src/taka\_ahg.rr) |
{\color{red} taka\_ahg.b(A,Idx)}(OpenXM/src/asir-contrib/packages/src/taka\_ahg.rr) |
oxshell $B$K$h$k(B polymake $B8F$S=P$75!G=$rMQ$$$??t3X4X?t(B. |
oxshell $B$K$h$k(B polymake $B8F$S=P$75!G=$rMQ$$$??t3X4X?t(B. |
$B$3$N4X?t$O(B $B9TNs(B {\tt A} $B$KIU?o$7$?(B $BJ}8~(B {\tt Idx} $B$N$"$k(B $b$ $B4X?t$r7W;;$9$k(B. |
$B$3$N4X?t$O(B $B9TNs(B {\tt A} $B$KIU?o$7$?(B $BJ}8~(B {\tt Idx} $B$N$"$k(B $b$ $B4X?t$r7W;;$9$k(B. |
Line 255 Saito, Mutsumi; Parameter shift in normal generalized |
|
Line 265 Saito, Mutsumi; Parameter shift in normal generalized |
|
|
|
\newpage |
\newpage |
|
|
\begin{minipage}{16cm} |
\begin{minipage}{13cm} |
{\footnotesize |
{\footnotesize |
\begin{verbatim} |
\begin{verbatim} |
[1163]:= load("oxshell.rr"); |
[1163]:= load("oxshell.rr"); |
Line 264 Saito, Mutsumi; Parameter shift in normal generalized |
|
Line 274 Saito, Mutsumi; Parameter shift in normal generalized |
|
[1166]:= fctr(taka_ahg.b(A,0,[s1,s2,s3])); |
[1166]:= fctr(taka_ahg.b(A,0,[s1,s2,s3])); |
[[1,1],[s1-s3,1],[2*s1-s2-s3,1],[2*s1-s2-s3-1,1]] |
[[1,1],[s1-s3,1],[2*s1-s2-s3,1],[2*s1-s2-s3-1,1]] |
\end{verbatim} |
\end{verbatim} |
} |
|
\end{minipage} |
|
\epsfxsize=5cm |
|
\epsffile{rims-2003-12-16-sq2.eps} |
|
|
|
{\footnotesize |
|
\begin{verbatim} |
\begin{verbatim} |
def b(A,Idx,V) { |
def b(A,Idx,V) { |
F = oxshell.facets(A); /* Computing all the facets by polymake server.*/ |
F = oxshell.facets(A); /* Computing all the facets by polymake server.*/ |
Line 291 def b(A,Idx,V) { |
|
Line 296 def b(A,Idx,V) { |
|
} |
} |
\end{verbatim} |
\end{verbatim} |
} |
} |
|
\end{minipage} |
|
\epsfxsize=12cm |
|
\epsffile{rims-2003-12-16-sq2.eps} |
|
|
|
|
\rightline{$B3+H/(B: $B9b;3(B} |
\rightline{$B3+H/(B: $B9b;3(B} |
\newpage |
\newpage |
|
|
|
|
\pagetitle{4. {\color{blue} OX-RFC 102 --- $BK\3JE*$J%5!<%P4VDL?.$rMQ$$$?J,;67W;;(B}} |
\pagetitle{4. {\color{blue} OX-RFC 102 --- $BK\3JE*$J%5!<%P4VDL?.$rMQ$$$?J,;67W;;(B}} |
\parskip 5pt |
\parskip 5pt |
|
|
\rightline{$B3+H/(B: $BLnO$(B} |
|
|
|
OX-RFC-100, 101 : master-server $B4VDL?.$rMQ$$$?J,;67W;;(B |
OX-RFC-100, 101 : master-server $B4VDL?.$rMQ$$$?J,;67W;;(B |
|
|
OX-RFC-102 : server-server $B4VDL?.(B |
OX-RFC-102 : server-server $B4VDL?.(B |
Line 349 ScaLAPACK $BIw$K(B, $B9TNs$rJ,;6J];}$7$FJBNs7W;;(B |
|
Line 354 ScaLAPACK $BIw$K(B, $B9TNs$rJ,;6J];}$7$FJBNs7W;;(B |
|
\underline{$B;EMM(B} |
\underline{$B;EMM(B} |
|
|
MPI-2 $B$N(B, $BF0E*%W%m%;%9@8@.(B, $B%W%m%;%9%0%k!<%W4V(B broadcast $B$N;EMM$r(B |
MPI-2 $B$N(B, $BF0E*%W%m%;%9@8@.(B, $B%W%m%;%9%0%k!<%W4V(B broadcast $B$N;EMM$r(B |
$B;29M$K$9$k(B |
$B;29M$K$9$k(B. {\tt http://www-unix.mcs.anl.gov/mpi} |
|
|
|
\underline{$B?7$7$$E@(B} |
|
|
|
OX RFC 100 $B$rA0Ds(B $\Rightarrow$ $B%G!<%?7?$N4IM}$NI,MW$,$J$$(B, |
|
100 $B$NCfCG%W%m%H%3%k$N3HD%(B, |
|
$B$J$I(BMPI $B$h$jMF0W$KMxMQ2DG=(B. |
|
%C $B$^$?(B, $B%7%9%F%`$N@_7W$G4sM?$G$-$J$/$F$b(B, $B<BNc$G$NM-8z@-(B, $B$"$kFCDj$NLdBj$G$N(B |
|
%C $B@_7W$N2~A1Ey$r9M$($k(B. $B2f!9$O(B Shoup $B$N(B $B%"%k%4%j%:%`$,8zN(NI$/<BAu$G$-$k(B |
|
%C $B$3$H$r<($7$?(B. |
|
|
|
|
\newpage |
\newpage |
|
|
\noindent |
\noindent |
Line 411 broadcast $B$9$k(B. $B3F(B server $B$N%9%?%C%/$K |
|
Line 427 broadcast $B$9$k(B. $B3F(B server $B$N%9%?%C%/$K |
|
\noindent |
\noindent |
\pagetitle{broadcast $B$N<jB3$-(B} |
\pagetitle{broadcast $B$N<jB3$-(B} |
|
|
{SM\_bcast\_102} $B$N<B9T(B : $root=0$ $B$G(B, $B<1JL;R$,(B $b2^k$ ($b$ $B$O4q?t(B) $B$N(B server $B$N>l9g(B |
{SM\_bcast\_102} $B$N<B9T(B |
|
|
\begin{enumerate} |
$root=0$ $B$G(B, $B<1JL;R$,(B $b2^k$ ($b$ $B$O4q?t(B) $B$N(B server $B$NF0:n(B |
\item $B<1JL;R$,(B $(b-1)2^k$ $B$G$"$k(B server $B$+$i%G!<%?$r<u?.(B. |
|
\item $B<1JL;R$,(B $b2^k+2^i$ ($i=k-1,\ldots,0$) $B$N(B server $B$K=g$K%G!<%?$rAw?.(B. |
|
\end{enumerate} |
|
|
|
|
\vskip\baselineskip |
|
\begin{tabbing} |
|
$data \leftarrow$ $B<1JL;R$,(B $(b-1)2^k$ $B$N(B server $B$+$i$N%G!<%?(B\\ |
|
for \= $i=k-1$ down to $0$\\ |
|
\> $B<1JL;R$,(B $b2^k+2^i$ $B$N(B server $B$K(B $data$ $B$rAw?.(B\\ |
|
end for |
|
\end{tabbing} |
|
\vskip\baselineskip |
2 $B$G3d$j@Z$l$k2s?t$,B?$$<1JL;R$r;}$D(B server $B$,@h$K%G!<%?Aw?.(B |
2 $B$G3d$j@Z$l$k2s?t$,B?$$<1JL;R$r;}$D(B server $B$,@h$K%G!<%?Aw?.(B |
|
|
$\Rightarrow$ $B%G%C%I%m%C%/$K$J$i$J$$(B |
$\Rightarrow$ $B%G%C%I%m%C%/$K$J$i$J$$(B |
|
|
$BFHN)$J%Z%"$I$&$7$NDL?.$,F1;~$K9T$($k$J$i!"9b!9(B $\lceil \log_2 N\rceil$ $B%9%F%C%W(B |
$BFHN)$J%Z%"$I$&$7$NDL?.$,F1;~$K9T$($k$J$i!"9b!9(B $\lceil \log_2 N\rceil$ $B%9%F%C%W(B |
($N$ $B$O(B server $B$NAm?t(B) $B$G(B broadcast $B40N;(B. |
($N$ $B$O(B server $B$NAm?t(B) $B$G(B broadcast $B40N;(B. |
|
|
\newpage |
\newpage |
|
|
|
%C $B:YIt$O>JN,(B. $B$"$H$G(B 16 $B8D$N%5!<%P$N<BNc$G@bL@(B. |
\noindent |
\noindent |
|
\pagetitle{reduction $B$N<jB3$-(B} |
|
|
|
{SM\_reduce\_102} $B$N<B9T(B |
|
|
|
server $B?t(B $N$, $root=0$ $B$G(B, $B<1JL;R$,(B $b$ $B$N(B server $B$NF0:n(B |
|
|
|
$B<j;}$A$N%G!<%?$r(B $data$ $B$H$9$k(B |
|
|
|
\vskip\baselineskip |
|
\begin{tabbing} |
|
for \= $i=0$ to $\lfloor \log_2 N \rfloor$\\ |
|
\> if \= ( $b$ $B$K(B $2^i$ $B$N(B bit $B$,$"$k(B) then\\ |
|
\> \> $B<1JL;R(B $b-2^i$ $B$N(B server $B$K(B $data$ $B$rAw?.$7$F=*N;(B\\ |
|
\> else if ( $b+2^i < N$ ) then \\ |
|
\> \> $data_0 \leftarrow$ $B<1JL;R(B $b+2^i$ $B$N(B server $B$+$i$N%G!<%?(B\\ |
|
\> \> $data \leftarrow data$ $B$H(B $data_0$ $B$NFs9`1i;;7k2L(B \\ |
|
\> end if\\ |
|
end for |
|
\end{tabbing} |
|
\vskip\baselineskip |
|
|
|
$B$3$N>l9g$b(B, $BFHN)$J%Z%"$I$&$7$NDL?.$,F1;~$K9T$($k$J$i!"9b!9(B $\lceil \log_2 N\rceil$ $B%9%F%C%W(B |
|
($N$ $B$O(B server $B$NAm?t(B) $B$G(B reduction $B40N;(B. $B7k2L$O(B root $B$K;D$k(B. |
|
\newpage |
|
|
|
\noindent |
|
\pagetitle{broadcast $B;~$N%G!<%?$NN.$l(B} |
|
|
|
|
|
$N=16$, $root=0$ $B$N>l9g(B |
|
|
|
\begin{center} |
|
\begin{tabular}{|c|c|c|c|} |
|
step 1 & step 2 & step 3 & step 4 \\ \hline |
|
$0\rightarrow 8$&$0\rightarrow 4$ &$0\rightarrow 2$ &$0\rightarrow 1$ \\ |
|
&$8\rightarrow 12$&$8\rightarrow 10$ &$8\rightarrow 9$ \\ |
|
& &$4\rightarrow 6$ &$4\rightarrow 5$ \\ |
|
& &$12\rightarrow 14$&$12\rightarrow 13$ \\ |
|
& & &$2\rightarrow 3$ \\ |
|
& & &$10\rightarrow 11$ \\ |
|
& & &$6\rightarrow 7$ \\ |
|
& & &$14\rightarrow 15$ |
|
\end{tabular} |
|
\end{center} |
|
|
|
reduction $B$N>l9g(B, $B%G!<%?$NN.$l$O5U$K$J$k(B (step 4 $\rightarrow$ step 1, |
|
$BLp0u$,5U(B) |
|
\newpage |
|
|
|
%C $B$3$l$O%*%j%8%J%k(B. |
|
\noindent |
\pagetitle{$B%(%i!<=hM}(B} |
\pagetitle{$B%(%i!<=hM}(B} |
|
|
master-server $B4VDL?.O)$O(B, OX RFC-100 $B$G5,Dj$5$l$F$$$k(B. |
master-server $B4VDL?.O)$O(B, OX RFC-100 $B$G5,Dj$5$l$F$$$k(B. |
Line 496 $Server$ $B$K(B {\tt SM\_reset\_102} $B$rAw$k(B |
|
Line 570 $Server$ $B$K(B {\tt SM\_reset\_102} $B$rAw$k(B |
|
|
|
$B<1JL;R(B $Root$ $B$N(B server $B$r(B root $B$H$7$F(B, $B%0%k!<%WFb$G(B broadcast $B$9$k(B. |
$B<1JL;R(B $Root$ $B$N(B server $B$r(B root $B$H$7$F(B, $B%0%k!<%WFb$G(B broadcast $B$9$k(B. |
$Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$5$l$k(B. |
$Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$5$l$k(B. |
$B$r;XDj$9$kI,MW$,$"$k(B. $B<1JL;R$,(B $Root$ $B$KEy$7$$(B server $B$G(B, $B%9%?%C%/(B |
$B<1JL;R$,(B $Root$ $B$KEy$7$$(B server $B$G(B, $B%9%?%C%/(B |
$B$+$i%G!<%?$,%]%C%W$5$l(B, $B$=$N%G!<%?$,(B, $B3F8F$S=P$7$NLa$jCM$H$J$k(B. |
$B$+$i%G!<%?$,%]%C%W$5$l(B, $B$=$N%G!<%?$,(B, $B3F8F$S=P$7$NLa$jCM$H$J$k(B. |
|
|
\item {\tt ox\_reduce\_102($Root$,$Operation$[,$Data$])} (collective) |
\item {\tt ox\_reduce\_102($Root$,$Operation$[,$Data$])} (collective) |
Line 513 $Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$7 |
|
Line 587 $Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$7 |
|
\newpage |
\newpage |
|
|
\noindent |
\noindent |
\pagetitle{$B%Q%U%)!<%^%s%9(B} |
\pagetitle{$B<B9TNc(B : $B0lJQ?tB?9`<0$N@Q(B (master $BB&(B)} |
|
|
|
\begin{verbatim} |
|
def d_mul(F1,F2) |
|
{ |
|
Procs = getopt(proc); |
|
/* process $B;XDj$,$J$$>l9g$K$O(B, $B<+J,$G7W;;(B */ |
|
if ( type(Procs) == -1 ) return umul(F1,F2); |
|
if ( !var(F1) || !var(F2) ) return F1*F2; |
|
NP = length(Procs); |
|
/* $B0z?t$r(B server 0 $B$KAw$k(B */ |
|
ox_push_cmo(0,[F1,F2]); |
|
/* $B3F(B server $B$K(B, server 0 $B$r(B root $B$H$7$F;E;v$r;O$a$k$h$&0MMj(B */ |
|
for ( I = 0; I < NP; I++ ) |
|
ox_cmo_rpc(I,"d_mul_main",0); |
|
/* server 0 $B$+$i7k2L$r<u$1<h$k(B */ |
|
R = ox_pop_cmo(0); |
|
return R; |
|
} |
|
\end{verbatim} |
|
|
|
\newpage |
|
|
|
\noindent |
|
\pagetitle{$B<B9TNc(B : $B0lJQ?tB?9`<0$N@Q(B (server $BB&(B; collective)} |
|
\begin{verbatim} |
|
def d_mul_main(Root) /* Shoup's algorithm */ |
|
{ |
|
/* server $B$NAm?t(B, $B<+J,$N(B id $B$rCN$k(B */ |
|
Id = ox_get_rank_102(); NP = Id[0]; Rank = Id[1]; |
|
/* Root $B$K$"$k0z?t$r(B broadcast $B$G6&M-(B */ |
|
Arg = ox_bcast_102(Root); F1 = Arg[0]; F2 = Arg[1]; |
|
L = setup_modarrays(F1,F2,NP); |
|
Marray = L[0]; MIarray = L[1]; M = L[2]; |
|
R = umul_chrem(F1,F2,MIarray[Rank],Marray[Rank],M); |
|
Arg = 0; F1 = 0; F2 = 0; |
|
/* $B3F(B server $B$N7k2L$rB-$79g$o$;$F(B, Root $B$KCV$/(B */ |
|
R = ox_reduce_102(Root,"+",R); |
|
/* Root $B$N$_(B, $B7k2L$r(B normalize $B$9$k(B */ |
|
if ( Rank == Root ) |
|
R = uadj_coef(R%M,M,ishift(M,1)); |
|
return R; |
|
} |
|
\end{verbatim} |
|
|
|
\rightline{$B3+H/(B: $BLnO$(B} |
|
|
\end{document} |
\end{document} |
|
|