¥×¥í¥°¥é¥à¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹²òÀÏ ¥Û¡¼¥àÌܼ¡Á°¥Ú¡¼¥¸¤Ø¼¡¥Ú¡¼¥¸¤Øº÷°ú


Âè 7 ¾Ï

¥ë¡¼¥×²òÀϥġ¼¥ë

Fortran ¤ª¤è¤Ó C¥³¥ó¥Ñ¥¤¥é¤Ï¡¢ÊÂÎ󲽤·¤Æ¤â°ÂÁ´¤¬Â»¤Ê¤ï¤ì¤ë¤³¤È¤Ê¤¯¡¢¤«¤ÄÊÂÎ󲽤¹¤ë¤³¤È¤¬¸ú²ÌŪ¤Ç¤¢¤ë¤ÈȽÃǤµ¤ì¤ë¥ë¡¼¥×¤òÂоݤȤ·¤Æ¡¢¼«Æ°Åª¤ËÊÂÎ󲽤ò¹Ô¤¤¤Þ¤¹¡£¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹²òÀϥġ¼¥ë¤Ç¤¢¤ë¥ë¡¼¥×¥Ä¡¼¥ë¤Ï¡¢¤³¤ì¤é¤Î¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤ë¥ë¡¼¥×¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òÆɤ߼è¤ê¤Þ¤¹¡£¥ë¡¼¥×¥Ä¡¼¥ë¤Ë¤Ï¥°¥é¥Õ¥£¥«¥ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (GUI) ¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤Î¥³¥Þ¥ó¥É¹Ô¥Ð¡¼¥¸¥ç¥ó¤È¤·¤Æ¥ë¡¼¥×¥ì¥Ý¡¼¥È¤âÍøÍѤǤ­¤Þ¤¹¡£

¤³¤Î¾Ï¤Ï¡¢°Ê²¼¤Î¹àÌܤ«¤é¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ðËܳµÇ°

¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×¥Ä¡¼¥ë¤Ï¥ë¡¼¥×¥ë¡¼¥Á¥ó¤Î¥°¥é¥Õ¤òɽ¼¨¤·¡¢¤É¤Î¥ë¡¼¥×¤¬ÊÂÎ󲽤µ¤ì¤¿¤«¤ò¼¨¤·¤Þ¤¹¡£¥ë¡¼¥×¤Î¥°¥é¥Õɽ¼¨²èÌ̤«¤éǤ°Õ¤Î¥ë¡¼¥×¤Î¥½¡¼¥¹¥³¡¼¥É¤Ø¤ÈľÀÜ°ÜÆ°¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤ÎÃæ¤Ç¥½¡¼¥¹¥³¡¼¥É¤òľÀÜÊÔ½¸¤Ç¤­¤Þ¤¹¡£

¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¡¢¥°¥é¥Õ¥£¥«¥ë¤Êɽ¼¨ÊýË¡¤Ç¤Ï¤Ê¤¯¡¢ASCII ¥Õ¥¡¥¤¥ë¤È¤·¤Æ¡¢¥ë¡¼¥×¼Â¹Ô»þ¤Î¥ì¥Ý¡¼¥È¤òºîÀ®¤·¤Þ¤¹¡£

¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë¤¿¤á¤Î´ðËÜŪ¤Ê 4 ¤Ä¤Î¼ê½ç¤ò¼¨¤·¤Þ¤¹¡£

  1. ´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¡£

  2. ¥ë¡¼¥×²òÀÏÍѤΥ¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡£

  3. ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¡£

  4. ¤½¤Î¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¾å¤Ç¥ë¡¼¥×¥Ä¡¼¥ë¤Þ¤¿¤Ï¥ë¡¼¥×¥ì¥Ý¡¼¥È¤òµ¯Æ°¤¹¤ë¡£


    Ãí - ¤³¤Î¹à¤ÎÎã¤Ï Fortran (f77 ¤È f95) ¥³¥ó¥Ñ¥¤¥é¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢É½¼¨¤µ¤ì¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó (-xparallel¡¢-Zlp ¤Ê¤É) ¤Ï¡¢C ¥³¥ó¥Ñ¥¤¥é¤Ç¤âÍøÍѤǤ­¤Þ¤¹¡£

´Ä¶­¤ÎÀßÄê

-Zlp ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë¡¢»ÈÍѤ¹¤ë¥Þ¥·¥ó¤ËÅëºÜ¤µ¤ì¤¿¥×¥í¥»¥Ã¥µ¤Î¿ô¤ò´Ä¶­ÊÑ¿ô PARALLEL ¤ËÀßÄꤷ¤Þ¤¹¡£

°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢psrinfo ¤È¤¤¤¦¥·¥¹¥Æ¥à¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£µÕ°úÍÑÉä¤ÎÆâÉô¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£

% setenv PARALLEL `/usr/sbin/psrinfo | wc -l`

¤³¤Î¥³¥Þ¥ó¥É¤Ï¥·¥§¥ëµ¯Æ°¥Õ¥¡¥¤¥ë (.cshrc ¤Þ¤¿¤Ï .profile) ¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¥ë¡¼¥×¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤ÎÀ¸À®

¥ë¡¼¥×¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼«Æ°Åª¤Ë¥³¡¼¥É¤òÊÂÎ󲽤·¡¢ºÇŬ²½¤¹¤ë¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó (-xparallel ¤È -xO4) ¤ò»È¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤ä¥ë¡¼¥×¥ì¥Ý¡¼¥ÈÍѤ˥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤Ë¤Ï¡¢ -Zlp ¥ª¥×¥·¥ç¥ó¤òÄɲä·¤Þ¤¹¡£¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢Sun WorkShop ¤Ï¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤¬½èÍý¤¹¤ë¤¿¤á¤Î¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£

¤³¤ì¤é 3 ¤Ä¤Î¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤Î»ÈÍÑÎã¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£

% f77 -xO4 -xparallel -Zlp source_file


Ãí - ¤¤¤º¤ì¤ÎÎã¤â FORTRAN 77¡¢Fortran 95¡¢¤ª¤è¤Ó C ¥×¥í¥°¥é¥à¤ËŬÍѤµ¤ì¤Þ¤¹¡£

¥ë¡¼¥×¤Î³Îǧ¤ª¤è¤ÓÊÂÎ󲽤˻ÈÍѤǤ­¤ëÊØÍø¤Ê¥ª¥×¥·¥ç¥ó¤¬¤Û¤«¤Ë¤â¿¿ô¤¢¤ê¤Þ¤¹¡£É½ 7-1¤Ë¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤ò¼¨¤·¤Þ¤¹¡£

ɽ 7-1   ¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó
¥ª¥×¥·¥ç¥ó ¸ú²Ì
-o program ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë̾¤ò program ¤ËÊѹ¹¤·¤Þ¤¹¡£
-xexplicitpar DOALL ¥×¥é¥°¥Þ¤ÎÉÕ¤¤¤¿¥ë¡¼¥×¤òÊÂÎ󲽤·¤Þ¤¹¡£
-xloopinfo stderr ¤Ë¥Ò¥ó¥È¤ò½ÐÎϤ·¤Þ¤¹¡£


¤½¤Î¾¤Î¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó

¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ç¤Ï¡¢³Æ¼ï¤Î¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¼«Æ°ÊÂÎó²½ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢Ä̾ï¤Ï -xparallel ¤ª¤è¤Ó -x04 ¤È¤¤¤¦¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£¥ë¡¼¥×¥Ä¡¼¥ë¤È¥ë¡¼¥×¥ì¥Ý¡¼¥ÈÍѤΥ³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤Ë¤Ï¡¢ -Zlp¤òÄɲä·¤Þ¤¹¡£

% f77 -x04 -xparallel -Zlp source_file

-xO3 ¤Þ¤¿¤Ï -xO4 ¤È -xparallel ¤ÏÊ»ÍѤǤ­¤Þ¤¹¡£-xO3¡¢-xO4 ¤Î¤¤¤º¤ì¤â»ØÄꤻ¤º¡¢-xparallel ¤Î¤ß»ØÄꤹ¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï -xO3 ¤ò»ÈÍѤ·¤Þ¤¹¡£É½ 7-2 ¤Ë¤Ï¡¢ÆÃÄê¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤ÎºÇŬ²½¥ì¥Ù¥ë¥ª¥×¥·¥ç¥ó¤ÎÄɲÃÊýË¡¤ò¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£

ɽ 7-2   ºÇŬ²½¥ì¥Ù¥ë¥ª¥×¥·¥ç¥ó¤È°ÅÌÛ»ØÄê
ÆþÎÏ »ØÄꤵ¤ì¤ë¥ª¥×¥·¥ç¥ó
-xparallel -xparallel -xO3
-xparallel -Zlp -xparallel -xO3 -Zlp
-xexplicitpar -xexplicitpar -xO3
-xexplicitpar -Zlp -xexplicitpar -xO3 -Zlp
-Zlp -xdepend -xO3 -Zlp


¤³¤ì°Ê³°¤Ë¡¢-xexplicitpar ¤È -xloopinfo ¤È¤¤¤¦¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£

Fortran¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó -xexplicitpar ¤Ï¡¢ ¥×¥é¥°¥Þ DOALL ¤È¤È¤â¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¥½¡¼¥¹¥³¡¼¥ÉÃæ¤Ç¡¢¤¢¤ë¥ë¡¼¥×¤ÎÁ°¤Ë DOALL ¤òÁÞÆþ¤¹¤ë¤È¡¢ÊÂÎ󲽤Τ¿¤á¤ÎÌÀ¼¨Åª¤Ê¥Þ¡¼¥¯¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£-xexplicitpar ¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢¤½¤Î¥ë¡¼¥×¤¬ÊÂÎ󲽤µ¤ì¤Þ¤¹¡£

°Ê²¼¤Î¥³¡¼¥É¤Ï¡¢¥ë¡¼¥×¤ÎÊÂÎ󲽤òÌÀ¼¨Åª¤Ë¥Þ¡¼¥¯¤¹¤ëÊýË¡¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£

	subroutine adj(a,b,c,x,n)
	  real*8 a(n), b(n), c(-n:0), x
	    integer n
c$par DOALL
	do 19 i = 1, n*n
	  do 29 k = i, n*n
	    a(i) = a(i) + x*b(k)*c(i-k)
29	  continue
19	continue
	return
	end

-Zlp ¤òñÆȤǻÈÍѤ¹¤ë¤È¡¢-xdepend ¤È -xO3 ¤¬Äɲ䵤ì¤Þ¤¹¡£-xdepend ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤ËÂФ·¤Æ¥ë¡¼¥×¤ò¼±Ê̤¹¤ë¤È¤­¤ËɬÍפʥǡ¼¥¿°Í¸´Ø·¸¤Î²òÀϤò¼Â¹Ô¤¹¤ë¤è¤¦»Ø¼¨¤·¤Þ¤¹¡£-xparallel ¥ª¥×¥·¥ç¥ó¤Ë¤Ï -xdepend ¤â´Þ¤Þ¤ì¤Þ¤¹¤¬¡¢-xdepend ¤Ï -xparallel ¤Î°ÅÌÛ»ØÄê(¥È¥ê¥¬¡¼)¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£

-xloopinfo ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¡¢¥ë¡¼¥×¤Ë´Ø¤¹¤ë¥Ò¥ó¥È¤ò stderr (¥Õ¥¡¥¤¥ëµ­½Ò»Ò 2 ¤Î UNIX ɸ½à¥¨¥é¡¼¥Õ¥¡¥¤¥ë)¤Ë½ÐÎϤ·¤Þ¤¹¡£¤³¤Î¥Ò¥ó¥È¤Ë¤Ï¡¢¥ë¡¼¥Á¥ó̾¡¢¥ë¡¼¥×¤Î³«»ÏÃÏÅÀ¤ò¼¨¤¹¹ÔÈֹ桢¥ë¡¼¥×¤ÎÊÂÎ󲽤Î̵ͭ¡¢ÊÂÎ󲽤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¤½¤ÎÍýͳ¤Ê¤É¤¬¼¨¤µ¤ì¤Þ¤¹¡£

°Ê²¼¤ÎÎã¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë gamteb.F ¤Î¥ë¡¼¥×¤Ë´Ø¤¹¤ë¥Ò¥ó¥È¤ò¥Õ¥¡¥¤¥ë gamtab.loopinfo ¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤Æ¤¤¤Þ¤¹¡£

% f77 -xO3 -parallel -xloopinfo -Zlp gamteb.F 2> gamteb.loopinfo

-Zlp ¤È -xloopinfo ¤ÎºÇÂç¤Î°ã¤¤¤Ï¡¢¥ë¡¼¥×¤Ë´Ø¤¹¤ë¥³¥ó¥Ñ¥¤¥é¥Ò¥ó¥È¤ò½ÐÎϤ¹¤ë¤³¤È¤Ë²Ã¤¨¤Æ¡¢-Zlp¤Ë¤è¤Ã¤Æ¼Â¹Ô»þ¤Ë¥¿¥¤¥ß¥ó¥°¤Ë´Ø¤¹¤ëÅý·×¾ðÊó¤òµ­Ï¿¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£¤³¤Î¤¿¤á¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤È¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¡¢-Zlp ¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥×¥í¥°¥é¥à¤À¤±¤òÂоݤȤ·¤Æ²òÀϤò¹Ô¤¤¤Þ¤¹¡£

¥×¥í¥°¥é¥à¤Î¼Â¹Ô

-Zlp¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¸å¡¢¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î·ë²Ì¡¢¥ë¡¼¥×¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë program.looptimes ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¥ë¡¼¥×¥Ä¡¼¥ë¤È¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¡¢·×¬µ¡¹½ÉÕ¤­¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤È¥ë¡¼¥×¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Î 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤¹¡£

¥ë¡¼¥×¥Ä¡¼¥ë¤Îµ¯Æ°

Æɤ߹þ¤à¥×¥í¥°¥é¥à (¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë) ¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£

% looptool program &

¥Õ¥¡¥¤¥ë»ØÄê¤Ê¤·¤Ë¥ë¡¼¥×¥Ä¡¼¥ë¤òµ¯Æ°¤·¤¿¾ì¹ç¡¢¡Ö¥Õ¥¡¥¤¥ë¤ò³«¤¯¡×¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤¬³«¤­¡¢¸¡¾Ú¤¹¤ë¥Õ¥¡¥¤¥ë¤ÎÁªÂò¤òÍ׵ᤵ¤ì¤Þ¤¹¡£

% looptool &

¥ë¡¼¥×¥Ä¡¼¥ë¤Ï¡¢¥×¥í¥°¥é¥à¤Ë´ØÏ¢¤¹¤ë¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡£¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥ë¡¼¥×¤Ë´Ø¤¹¤ë¾ðÊ󤬵­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ä̾¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Ë¤Ï program.looptimes ¤È¤¤¤¦·Á¼°¤Î̾Á°¤¬ÉÕ¤±¤é¤ì¡¢¥×¥í¥°¥é¥à¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤ì¤é¤ì¤Þ¤¹¡£

¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Æ¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤¬½êÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ì¤Ð (Àµ¾ï¤Ê¾õÂÖ) ¡¢Ãµ¤¹¾ì½ê¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£

% looptool program &

¥³¥Þ¥ó¥É¹Ô¤Ç¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¤È¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¤½¤Î¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Þ¤¹¡£

% looptool program program.looptimes &

¥³¥Þ¥ó¥É¹Ô¥ª¥×¥·¥ç¥ó -p ¤ò»ØÄꤹ¤ë¤È¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï -p ¤Ç¼¨¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Æ¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£

% looptool -p timing_file_directory program &

´Ä¶­ÊÑ¿ô LVPATH ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥Ä¡¼¥ë¤Ï LVPATH ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Æ¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£

% setenv LVPATH timing_file_directory
% looptool program &

¥ë¡¼¥×¥Ä¡¼¥ë¤Î»ÈÍÑ

¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Ë¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¥³¥ó¥Ñ¥¤¥é¤ËÅϤµ¤ì¤¿½ç½ø¤Ë½¾¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤Ë¤¢¤ë³Æ¥ë¡¼¥×¤Î³Æ¼Â¹Ô»þ´Ö¤¬ËÀ¥°¥é¥Õ¤È¤·¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£

¿Þ 7-1¤Ë¤Ï¡¢¥ë¡¼¥×¥Ä¡¼¥ë¥¦¥£¥ó¥É¥¦¤Î¹½À®Í×ÁǤò¼¨¤·¤Þ¤¹¡£


¿Þ 7-1   ¡Ö¥ë¡¼¥×¥Ä¡¼¥ë¡×¥¦¥£¥ó¥É¥¦

¥Õ¥¡¥¤¥ë¤ò³«¤¯

¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤È¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤ò³«¤¯¤Ë¤Ï¡¢¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Î¡Ö¥Õ¥¡¥¤¥ë¡×¥á¥Ë¥å¡¼¤Î¡Ö³«¤¯¡×¥³¥Þ¥ó¥É¤òÁªÂò¤·¤Þ¤¹¡£

°Ê²¼¤Î 2 ¤Ä¤ÎÊýË¡¤Ç¡¢³«¤¯¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£

  1. ³«¤¯¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÆþÎϤ¹¤ë¡£

  2. ¥Õ¥¡¥¤¥ë¥Á¥å¡¼¥¶¤òµ¯Æ°¤¹¤ë¡£

¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤òÆþÎϤ·¤¿¸å¤Ï¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤¬Ê̤Υǥ£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¾ì¹ç¤ä¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î̾Á°¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï½ü¤­¤Þ¤¹¡£

¥Õ¥¡¥¤¥ë¤ò³«¤¯ÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢Sun WorkShop ¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤Î¡Ö¥×¥í¥°¥é¥àÃæ¤Î¥ë¡¼¥×¤ÎʬÀϡפò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

Á´¥ë¡¼¥×¤Ë´Ø¤¹¤ë¥ì¥Ý¡¼¥È¤ÎºîÀ®

¥×¥í¥°¥é¥àÃæ¤Ë¤¢¤ëÁ´¥ë¡¼¥×¤Ë´Ø¤¹¤ë¾ðÊó¤ò´Þ¤à¥¦¥£¥ó¥É¥¦ (¿Þ 7-2 »²¾È) ¤ò³«¤¯¤Ë¤Ï°Ê²¼¤ò¹Ô¤¤¤Þ¤¹¡£

¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Î¡Ö¥Õ¥¡¥¤¥ë¡×¥á¥Ë¥å¡¼¤«¤é¡Ö¥ì¥Ý¡¼¥È¤òºîÀ®¡×¤òÁªÂò¤·¤Þ¤¹¡£ (¿Þ 7-2 »²¾È)

¤³¤³¤ÇºîÀ®¤µ¤ì¤ë¥ì¥Ý¡¼¥È¤Ï¡¢¥ë¡¼¥×¥ì¥Ý¡¼¥È¤ÇºîÀ®¤µ¤ì¤ë¤â¤Î¤ÈƱ¤¸¤Ç¤¹¡£

¥ì¥Ý¡¼¥È¥¦¥£¥ó¥É¥¦¤Î¡Ö¥Ø¥ë¥×¡× ¥Ü¥¿¥ó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë´Ø¤¹¤ë¥Ò¥ó¥È¤ò´Þ¤à Sun WorkShop ¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤Î´ØÏ¢¹àÌܤ˥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


¿Þ 7-2   ¥ë¡¼¥×¥ì¥Ý¡¼¥È

¥ë¡¼¥×¥Ä¡¼¥ë¥°¥é¥Õ¤Î°õºþ

¥ë¡¼¥×¥Ä¡¼¥ë¤Î¥°¥é¥Õ¤ò°õºþ¤¹¤ë¤Ë¤Ï¡¢¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Î¡Ö¥Õ¥¡¥¤¥ë¡×¥á¥Ë¥å¡¼¤«¤é ¡Ö¥°¥é¥Õ¤ò°õºþ¡×¤òÁªÂò¤·¡¢ÁªÂò¤·¤Æ¤¤¤ë¥×¥ê¥ó¥¿Ì¾¤òÆþÎϤ·¤Þ¤¹¡£¥°¥é¥Õ¤ò¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢¥×¥ê¥ó¥¿Ì¾¤ÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë̾¤òÆþÎϤ·¤Þ¤¹¡£

°õºþ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢Sun WorkShop ¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

¥¨¥Ç¥£¥¿¤ÎÁªÂò

¥¨¥Ç¥£¥¿¤òÁªÂò¤¹¤ë¤Ë¤Ï¡¢¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤Î¡Ö¥Õ¥¡¥¤¥ë¡×¥á¥Ë¥å¡¼¤«¤é¡Ö¥ª¥×¥·¥ç¥ó¡×¥³¥Þ¥ó¥É¤òÁªÂò¤·¡¢¡Ö¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤Î¥ª¥×¥·¥ç¥ó¡×¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤Ç¥½¡¼¥¹¥³¡¼¥É¤ÎÊÔ½¸¤Ë»ÈÍѤ¹¤ë¥¨¥Ç¥£¥¿¤òÁªÂò¤·¤Þ¤¹¡£vi¡¢mule ¤Þ¤¿¤Ï xemacs ¤Î¥¨¥Ç¥£¥¿¤¬»ÈÍѲÄǽ¤Ç¤¹¡£


Ãí - vi ¤È xemacs ¤Ï¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê(Ä̾ï¤Ï /opt/SUNWspro/bin) ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹ (¥¨¥Ç¥£¥¿¤¬¤Þ¤À¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¸Â¤ê¤Þ¤¹) ¡£mule ¤Î¾ì¹ç¤Ï¡¢¥æ¡¼¥¶¡¼¼«¿È¤¬¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¤¤º¤ì¤Î¾ì¹ç¤â¡¢»ÈÍѤ¹¤ë¥¨¥Ç¥£¥¿¤Ï¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤¬¸¡½Ð¤Ç¤­¤ë¤è¤¦¤Ë¸¡º÷¥Ñ¥¹¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ºß¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢mule ¤ò¥·¥¹¥Æ¥à¾å¤Î /usr/local ¤ËÃÖ¤¯¾ì¹ç¡¢PATH ´Ä¶­ÊÑ¿ô¤Ë¤Ï¤³¤Î¥Ñ¥¹¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

¥¨¥Ç¥£¥¿¤ÎÁªÂò¤Î¾ÜºÙ¤Ï¡¢Sun WorkShop ¤Î¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤Î¡Ö¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ÎÁªÂò¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

¥½¡¼¥¹¥³¡¼¥É¤ÎÊÔ½¸¤È¥Ò¥ó¥È

¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¾å (¿Þ 7-1) ¤Ç¥ë¡¼¥×¤òÁªÂò¤¹¤ë¤È¡¢°Ê²¼¤Î 2 ¤Ä¤ÎÆ°ºî¤¬¹Ô¤ï¤ì¤Þ¤¹¡£

¿Þ 7-3 ¤Ë¤Ï¡¢¥ë¡¼¥×¤¬ÁªÂò¤µ¤ì¤¿¾õÂ֤Πxemacs ¥¨¥Ç¥£¥¿¥¦¥£¥ó¥É¥¦¤È¡¢¥³¥ó¥Ñ¥¤¥é¥Ò¥ó¥È¤ÎÀâÌÀ¤¬É½¼¨¤µ¤ì¤¿¥Ò¥ó¥È¥¦¥£¥ó¥É¥¦¤ò¼¨¤·¤Þ¤¹¡£


¿Þ 7-3   ¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤È¥Ò¥ó¥È¥¦¥£¥ó¥É¥¦


Ãí°Õ - ¥½¡¼¥¹¥³¡¼¥É¤òÊÔ½¸¤¹¤ë¤È¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤Çɽ¼¨¤µ¤ì¤ë¹ÔÈֹ椬¥½¡¼¥¹¤Î¹ÔÈÖ¹æ¤È°Û¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ÊÔ½¸ºÑ¤ß¤Î¥½¡¼¥¹¤ò¤¤¤Ã¤¿¤óÊݸ¤·¡¢¤³¤ì¤òºÆ¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤«¤éºÇ¿·¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¥ë¡¼¥×¥Ä¡¼¥ë¤òµ¯Æ°¤¹¤ë¤È¡¢¿·¤·¤¤¥ë¡¼¥×¾ðÊó¤¬É½¼¨¤µ¤ì¡¢¹ÔÈֹ椬°ìÃפ¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Îµ¯Æ°

¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Îµ¯Æ°»þ¤Ë¡¢¥×¥í¥°¥é¥à̾¤òÆþÎϤ·¤Þ¤¹¡£loopreport ¤Î¸å¤í¤Ë¸¡¾Ú¤·¤¿¤¤¥×¥í¥°¥é¥à̾ (¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë) ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£

% loopreport program

¥×¥í¥°¥é¥à̾¤ò»ØÄꤻ¤º¤Ë¥ë¡¼¥×¥ì¥Ý¡¼¥È¤òµ¯Æ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¤¿¤À¤·¡¢¥×¥í¥°¥é¥à̾¤ò»ØÄꤻ¤º¤Ë¥ë¡¼¥×¥ì¥Ý¡¼¥È¤òµ¯Æ°¤¹¤ë¾ì¹ç¡¢¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¸½ºß¤Îºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¤Æ¡¢a.out ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òõ¤·¤Þ¤¹¡£

% loopreport > a.out.loopreport

½ÐÎϤò¥Õ¥¡¥¤¥ë¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤¿¤ê¡¢¥Ñ¥¤¥×¤Ë¤è¤Ã¤Æ¤Û¤«¤Î¥×¥í¥°¥é¥à¤Ø¤È¼õ¤±ÅϤ¹¤³¤È¤â²Äǽ¤Ç¤¹¡£

% loopreport program > program.loopreport
% loopreport program | more

¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë

¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¥×¥í¥°¥é¥à¤Ë´ØÏ¢¤·¤¿¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤ò°ì½ï¤ËÆɤ߹þ¤ß¤Þ¤¹¡£¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Ï¡¢-zlp ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¾ì¹ç¤ËºîÀ®¤µ¤ì¡¢¥ë¡¼¥×¤Ë´Ø¤¹¤ë¾ðÊó¤ò´Þ¤ß¤Þ¤¹¡£Ä̾¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Ë¤Ï program.looptimes ¤È¤¤¤¦·Á¼°¤Î̾Á°¤¬ÉÕ¤±¤é¤ì¡¢¥×¥í¥°¥é¥à¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë¼ý¤á¤é¤ì¤Þ¤¹¡£

¤·¤«¤·¡¢ ¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤ò»ØÄꤹ¤ëÊýË¡¤â 4 ¼ïÎà¤Û¤ÉÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¡¢°Ê²¼¤Ë¼¨¤¹¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¥¿¥¤¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤òÁªÂò¤·¤Þ¤¹¡£

¿Þ 7-4 ¤Ë¡¢¥ë¡¼¥×¥ì¥Ý¡¼¥È¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£

¿Þ 7-4   ¥ë¡¼¥×¥ì¥Ý¡¼¥È¤ÎÎã

¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Î¥Õ¥£¡¼¥ë¥É

°Ê²¼¤ÎÀâÌÀ¤Ï¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤Î¡Ö¥ì¥Ý¡¼¥È¤ÎºîÀ®¡×½ÐÎϤª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Î½ÐÎϤˤ⤽¤Î¤Þ¤Þ¤¢¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£

¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ë¤Ï¡¢°Ê²¼¤Î¾ðÊ󤬴ޤޤì¤Æ¤¤¤Þ¤¹¡£

¾åµ­¤Î¥ë¡¼¥×Î㤬ÊÂÎó½èÍý¤Ç¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¡¢a(2) ¤ÎÃͤò´ð¤Ë b(1) ¤ÎÃͤòºÆ·×»»¤¹¤ëÈ¿Éü 1 ¤Ï¡¢a(2) ¤ÎºÆ·×»»¤ò½ª¤¨¤¿¤Ð¤«¤ê¤ÎÈ¿Éü 2 ¤Î¸å¤Ë¼Â¹Ô¤µ¤ì¤ë²ÄǽÀ­¤¬½Ð¤Æ¤­¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥ë¡¼¥×¤¬ÊÂÎó½èÍý¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤È¤Ï°Û¤Ê¤ê¡¢b(1) ¤ÎÃͤϡ¢¥ª¥ê¥¸¥Ê¥ë¤ÎÃͤǤϤʤ¯¡¢¿·¤·¤¤ a(2) ¤ÎÃͤˤè¤Ã¤Æ·è¤Þ¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¥³¥ó¥Ñ¥¤¥é¥Ò¥ó¥È

¥ë¡¼¥×¥Ä¡¼¥ë¤È¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¡¢ÆÃÄê¤Î¥ë¡¼¥×¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ºÇŬ²½¤Ë¤Ä¤¤¤Æ¤Î¥Ò¥ó¥È¡¢¤½¤·¤Æ¡¢¤Ê¤¼ÊÂÎ󲽤¬¹Ô¤ï¤ì¤Ê¤«¤Ã¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥Ò¥ó¥È¤òÄ󼨤·¤Þ¤¹¡£ºÇŬ²½¤Î´Ö¤Ë¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤¹¤ë¥Ò¥ó¥È¤Ï¡¢¤ï¤«¤ê¤Ë¤¯¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£¤³¤¦¤·¤¿¥Ò¥ó¥È¤ÏÁ´ÂΤÎʸ̮¤ÎÃæ¤ÇÍý²ò¤µ¤ì¤ë¤Ù¤­¤â¤Î¤Ç¤¢¤ê¡¢ÆÃÄê¤Î¥ë¡¼¥×¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¤ÎÀäÂÐŪ¤Ê»ö¼Â¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¥³¥ó¥Ñ¥¤¥é¤¬¥ë¡¼¥×¤ÎÊÂÎ󲽤ò´Þ¤á¤¿¤è¤ê°ìÁؤκÇŬ²½¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¡¢¥³¡¼¥É¤òÊÑ´¹¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Î½ÅÍפʻؿˤȤʤ뤳¤È¤â¾¯¤Ê¤¯¤¢¤ê¤Þ¤»¤ó¡£

ÊÂÎ󲽤ξå¤Ç»²¹Í¤Ë¤Ê¤ëÀâÌÀ¤È¥Ò¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ø Fortran ¥æ¡¼¥¶¡¼¥º¥¬¥¤¥É¡Ù¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

0. ¥Ò¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó¡£

¤³¤Î¥ë¡¼¥×¤ËŬÍѤµ¤ì¤ë¥Ò¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢¤½¤Î¾¤Î¥Ò¥ó¥È¤¬¤Þ¤Ã¤¿¤¯Å¬ÍѤµ¤ì¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤Ï¤Ê¤¯¡¢Ã±¤Ë¥³¥ó¥Ñ¥¤¥é¤«¤éƳ¤«¤ì¤ë¥Ò¥ó¥È¤¬¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

1. ¥ë¡¼¥×Ãæ¤Ë¼ê³¤­¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×Ãæ¤Ë¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤ÇÆ°ºî¤¹¤ë¤È°ÂÁ´¤Ç¤Ê¤¤¼ê³¤­¸Æ¤Ó½Ð¤·¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ÊÂÎ󲽤Ǥ­¤Þ¤»¤ó¡£¤³¤Î¤è¤¦¤Ê¥ë¡¼¥×¤òÊÂÎ󲽤¹¤ë¤È¡¢¥ë¡¼¥×¤ÎÊ£¿ô¤Î¥³¥Ô¡¼¤Ë¤è¤Ã¤Æ´Ø¿ô¸Æ¤Ó½Ð¤·¤¬Æ±»þ¤Ë¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¡¢¤³¤Î´Ø¿ô¤Ë¸ÇÍ­¤ÎÊÑ¿ô¤äÌá¤êÃͤ˰­±Æ¶Á¤òÍ¿¤¨¤¿¤ê¡¢´Ø¿ô¤ÎÌÜŪ¤ò̵¸ú¤Ë¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥ë¡¼¥×Ãæ¤Î¼ê³¤­¸Æ¤Ó½Ð¤·¤¬¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ç»ÈÍѤ·¤Æ¤â°ÂÁ´¤Ê¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥ë¡¼¥×ËÜÂΤÎÁ°¤Ë DOALL¥×¥é¥°¥Þ¤òÄɲ乤뤳¤È¤Ë¤è¤ê¡¢¤³¤Î¥ë¡¼¥×¤ò̵¾ò·ï¤ËÊÂÎ󲽤¹¤ë¤è¤¦»Ø¼¨¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢foo ¤¬¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ç»ÈÍѤ·¤Æ¤â°ÂÁ´¤Ê´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¤¢¤ë¾ì¹ç¡¢c$par DOALL ¤òÁÞÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¶¯À©Åª¤ÊÊÂÎ󲽤ò»ØÄê¤Ç¤­¤Þ¤¹¡£

c$par DOALL
	 do 19 i = 1, n*n
		 	do 29 k = i, n*n
				a(i) = a(i) + x*b(k)*c(i-k)
				call foo()
 29			continue
 19	 continue

¥³¥ó¥Ñ¥¤¥é¤Ï -parallel ¤Þ¤¿¤Ï -explicitpar ¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Ë¸Â¤ê¡¢DOALL ¥×¥é¥°¥Þ¤ò²ò¼á¤·¤Þ¤¹¡£-autopar ¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢DOALL¥×¥é¥°¥Þ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£

2. ¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¥ë¡¼¥×¤ËÂФ·¤Æ 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀ¸À®¤·¤Þ¤·¤¿¡£

¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¤Ï¡¢¥ë¡¼¥×¤ÎÃæ¤ËÊÂÎ󲽤¹¤ë°ÕÌ£¤Î¤¢¤ëÍ×ÁǤ¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¡¢¥³¥ó¥Ñ¥¤¥é¤ÏȽÃǤǤ­¤Þ¤»¤ó¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Ã༡·Á¼°¤ÈÊÂÎó·Á¼°¤Î 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥ë¡¼¥×¤òÀ¸À®¤·¤Þ¤¹¡£¼Â¹Ô»þ¤Î¸¡ºº¤Ë¤è¤Ã¤Æ¡¢¤É¤Á¤é¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ÈÍѤ¹¤ë¤«¤ò·èÄꤷ¤Þ¤¹¡£¤³¤Î¼Â¹Ô»þ¸¡ºº¤Ï¡¢¥ë¡¼¥×¤Î·«¤êÊÖ¤·Ãͤò¸¡ºº¤·¤Æ¡¢¥ë¡¼¥×¤Î½èÍýÎ̤òȽÃǤ·¤Þ¤¹¡£

3. ÊÑ¿ô list ¤Ë¤è¤Ã¤Æ¤³¤Î¥ë¡¼¥×Æâ¤Ç¥Ç¡¼¥¿°Í¸À­¤¬È¯À¸¤¹¤ë

¥ë¡¼¥×Ãæ¤ÎÊÑ¿ô¤¬¡¢Á°²ó¤Î·«¤êÊÖ¤·¤Ë»ÈÍѤµ¤ì¤¿ÊÑ¿ô¤ÎÃͤˤè¤ë±Æ¶Á¤ò¼õ¤±¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£

do 99 i=1,n
	do 99 j = 1,m
		a[i, j+1] = a[i,j] + a[i,j-1]
99 continue

¤³¤ì¤Ï¡¢¤¢¤¯¤Þ¤ÇÀâÌÀ¤ÎÊص¹¾å¡¢°Õ¿ÞŪ¤Ë¹Í¤¨¤¿Îã¤Ë¤¹¤®¤Þ¤»¤ó¡£¤³¤Î¤è¤¦¤Êñ½ã¤Ê¥ë¡¼¥×¤Î¾ì¹ç¤Ï¡¢Ã±¤Ë¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤Ë¤è¤Ã¤Æ¡¢Æ⦤ȳ°Â¦¤Î¥ë¡¼¥×¤òÆþ¤ìÂؤ¨¤Æ¡¢Æ⦤Υ롼¥×¤òÊÂÎ󲽤Ǥ­¤Þ¤¹¤¬¡¢¤³¤ÎÎã¤Ï¡¢¡Ö¥ë¡¼¥×ÅÁÇťǡ¼¥¿°Í¸À­¡×¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¤Î°Í¸´Ø·¸¤Î³µÇ°¤ò¤ï¤«¤ê¤ä¤¹¤¯¼¨¤·¤¿¤â¤Î¤Ç¤â¤¢¤ê¤Þ¤¹¡£

¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥ë¡¼¥×ÅÁÇťǡ¼¥¿°Í¸À­¤Î¸¶°ø¤È¤Ê¤Ã¤Æ¤¤¤ëÊÑ¿ô¤Î̾Á°¤òÆÃÄê¤Ç¤­¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥×¥í¥°¥é¥à¤òÊѹ¹¤·¤Æ¡¢¤³¤Î¼ï¤Î°Í¸´Ø·¸¤ò¼è¤ê½ü¤¯ (¤Þ¤¿¤ÏºÇ¾®¸Â¤ËÍÞ¤¨¤ë) ¤³¤È¤Ë¤è¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤µ¤é¤ËÀѶËŪ¤ÊºÇŬ²½¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

4. ºÇŬ²½¤Î´Ö¤Ë¡¢¥ë¡¼¥×¤¬ÂçÉý¤ËÊÑ·Á¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¥³¥ó¥Ñ¥¤¥é¤¬¤³¤Î¥ë¡¼¥×¤òºÇŬ²½¤·¤¿·ë²Ì¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤È¥½¡¼¥¹¥³¡¼¥É¤ÎÂбþ¤¬¼è¤ì¤Ê¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¹ÔÈÖ¹æ¤ÎÀ°¹çÀ­¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¥ë¡¼¥×¤òÂçÉý¤ËÊѹ¹¤¹¤ë²ÄǽÀ­¤Î¤¢¤ëºÇŬ²½¤ÎÎã¤È¤·¤Æ¡¢¥ë¡¼¥×¤Îʬ»¶²½¡¢Í»¹ç¡¢¸ò´¹ (·"·ó¥È <Default ¼¨ Font>10¡¢·"·ó¥È <Default ¼¨ Font>11¡¢¤ª¤è¤Ó ·"·ó¥È <Default ¼¨ Font>12 ¤ò»²¾È) ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£

5. ¥ë¡¼¥×¤Ï¡¢ÊÂÎó²½Æ°ºî¤Ë¤è¤Ã¤Æ¸ú²Ì¤¬ÆÀ¤é¤ì¤ë¤«¤É¤¦¤«ÉÔÌÀ¤Ç¤¹¡£

¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥ë¡¼¥×¤¬ÊÂÎó²½Æ°ºî¤Ë¤è¤Ã¤Æ¸ú²Ì¤¬ÆÀ¤é¤ì¤ë¤«¤É¤¦¤«¤ò¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¤ÏȽÃǤǤ­¤Þ¤»¤ó¡£¤³¤Î¥Ò¥ó¥È¤¬É½¼¨¤µ¤ì¤¿¥ë¡¼¥×¤Ï¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¡¢¡ÖÊÂÎó¡×¤Î¥é¥Ù¥ë¤¬ÉÕ¤±¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤¬ 2 ¤Ä¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥ë¡¼¥×¤òÀ¸À® (·"·ó¥È <Default ¼¨ Font>2¤ò»²¾È) ¤·¡¢ÊÂÎó¥Ð¡¼¥¸¥ç¥ó¤ÈÃ༡¥Ð¡¼¥¸¥ç¥ó¤Î¤¤¤º¤ì¤ò»ÈÍѤ¹¤ë¤«¤Ï¼Â¹Ô»þ¤Ë·èÄꤹ¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£

¥³¥ó¥Ñ¥¤¥é¥Ò¥ó¥È¤Ï¡¢¥ë¡¼¥×¤ÎÊÂÎ󲽤Î̵ͭ¤ò¼¨¤¹¥Õ¥é¥°¤â´Þ¤á¡¢¤¹¤Ù¤Æ¥³¥ó¥Ñ¥¤¥ë»þ¤ËÀ¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¡ÖÊÂÎó¡×¤È¥é¥Ù¥ëÉÕ¤±¤µ¤ì¤¿¥ë¡¼¥×¤¬¼ÂºÝ¤ËÊÂÎóŪ¤Ë¼Â¹Ô¤µ¤ì¤ë¤«¤É¤¦¤«¤Ë¤Ä¤¤¤Æ³Î¾Ú¤Ï¤¢¤ê¤Þ¤»¤ó¡£

6. ¥ë¡¼¥×¤Ë¥æ¡¼¥¶¡¼¤¬ÁÞÆþ¤·¤¿ DOALL ¥×¥é¥°¥Þ¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡£

¤³¤Î¥ë¡¼¥×¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤ËÂФ¹¤ë DOALL ¥×¥é¥°¥Þ¤Î»Ø¼¨¤Ë¤è¤Ã¤ÆÊÂÎ󲽤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥Ò¥ó¥È¤Ï¡¢ÌÀ¼¨Åª¤ËÊÂÎ󲽤ò»ØÄꤷ¤¿¥ë¡¼¥×¤ò´Êñ¤Ë¼±Ê̤¹¤ë¾ì¹ç¤ËÍøÍѤǤ­¤Þ¤¹¡£

DOALL ¥×¥é¥°¥Þ¤Ï¡¢-parallel ¤Þ¤¿¤Ï -explicitpar ¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ë¸Â¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ê²ò¼á¤µ¤ì¤Þ¤¹¡£-autopar ¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ï DOALL ¥×¥é¥°¥Þ¤ò¤¹¤Ù¤Æ̵»ë¤·¤Þ¤¹¡£

7. ¥ë¡¼¥×Ãæ¤ËÊ£¿ô¤Î½Ð¸ý¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×¤ÎÃæ¤Ë¡¢Ä̾ï¤Î¥ë¡¼¥×¤Î½Ð¸ý°Ê³°¤Ë¡¢GOTO ¤ä¥ë¡¼¥×¤ò½ªÎ»¤¹¤ë¤½¤Î¾¤Îʬ´ô¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¥ë¡¼¥×¤Î¼Â¹Ô»þ¤ÎÆ°ºî¤¬Í½Â¬¤Ç¤­¤Ê¤¤¤¿¤á¡¢¥ë¡¼¥×¤ÎÊÂÎó²½¤Ï´í¸±¤ÈȽÃǤµ¤ì¤Þ¤¹¡£

8. ¥ë¡¼¥×Ãæ¤Ë¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ç°ÂÁ´¤Ç¤Ê¤¤ I/O ¤Þ¤¿¤Ï¾¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤¹¡£

¤³¤ì¤Ï¡¢¥Ò¥ó¥È 1 ¤Ë»÷¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥Ò¥ó¥È 8 ¤¬¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤ÇÆ°ºî¤¹¤ë¤È°ÂÁ´¤Ç¤Ê¤¤¡ÖÆþ½ÐÎϡפËŬÍѤµ¤ì¡¢¥Ò¥ó¥È 1 ¤Ï¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤ÇÆ°ºî¤¹¤ë¤È°ÂÁ´¤Ç¤Ê¤¤¡Ö´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¡×¤ËŬÍѤµ¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£

9. ¥ë¡¼¥×Ãæ¤ËÀ©¸æ¤¬µÕÊý¸þ¤Ë¿Ê¤à²Õ½ê¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×¤ÎÃæ¤Ë¡¢GOTO ¤ä¡¢µÕÊý¸þ¤Ëή¤ì¤¿¤ê¥ë¡¼¥×ËÜÂΤ«¤éÈ´¤±¤¿¤ê¤¹¤ë¤è¤¦¤ÊÀ©¸æ¥Õ¥í¡¼¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¥ë¡¼¥×¤ÎÆâÉô¤Ë¤¢¤ëʸ¤¬¡¢¤¹¤Ç¤Ë¼Â¹ÔºÑ¤ß¤Î¥³¡¼¥É¤ËÌá¤ë¥Õ¥í¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È²ò¼á¤·¤Þ¤¹¡£Ê£¿ô¤Î½Ð¸ý¤¬Â¸ºß¤¹¤ë¥ë¡¼¥×¤Î¾ì¹ç¤ÈƱÍͤˡ¢¤³¤Î¥ë¡¼¥×¤òÊÂÎ󲽤¹¤ë¤³¤È¤Ï°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£

µÕÊý¸þ¤ÎÀ©¸æ¥Õ¥í¡¼¤ò¼è¤ê½ü¤¯ (¤Þ¤¿¤ÏºÇ¾®¸Â¤ËÍÞ¤¨¤ë) ¤³¤È¤Ë¤è¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤è¤êÀѶËŪ¤ÊºÇŬ²½¤ò¼Â¸½¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

10. ¥ë¡¼¥×¤Ïʬ»¶¤·¤Æ¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×¤ÎÆâÍƤ¬¡¢²¿ÅÙ¤«·«¤êÊÖ¤¹¤¦¤Á¤Ëʬ»¶¤·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢¥ë¡¼¥×¤òÊÂÎ󲽤Ǥ­¤ë¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¥ë¡¼¥×ËÜÂΤ¬½ñ¤­´¹¤¨¤é¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î½ñ¤­´¹¤¨¤Ï¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤ÎÆâÉôɽ¸½¤Ç»ÈÍѤ¹¤ë¸À¸ì¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢¤â¤È¤Î¥½¡¼¥¹¥³¡¼¥É¤È½ñ¤­´¹¤¨¤¿¥³¡¼¥É¤òÂбþ¤µ¤»¤ë¤Î¤Ï¤­¤ï¤á¤Æº¤Æñ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢Ê¬»¶¤µ¤ì¤¿¥ë¡¼¥×¤Ë¤Ä¤¤¤Æ¤Î¥Ò¥ó¥È¤Ç¤Ï¡¢¼ÂºÝ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ë¤¢¤ë¹ÔÈÖ¹æ¤Ë¤Ï°ìÃפ·¤Ê¤¤¹ÔÈֹ椬¼¨¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

11. Ê£¿ô¤Î¥ë¡¼¥×¤¬Í»¹ç¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

ÊÂÎ󲽤θú²Ì¤ò¹â¤á¤ë¤è¤¦Â礭¤Ê¥ë¡¼¥×¤Ë¤¹¤ë¤¿¤áϢ³¤·¤¿ 2 ¤Ä¤Î¥ë¡¼¥×¤¬ 1 ¤Ä¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¾ì¹ç¤â¡¢¥½¡¼¥¹¤Î¹ÔÈֹ椬¸í¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

12. Ê£¿ô¤Î¥ë¡¼¥×¤¬¸ò´¹¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

ÆâÉô¥ë¡¼¥×¤È³°Éô¥ë¡¼¥×¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Æþ¤ìÂؤ¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ç¡¼¥¿¤Î°Í¸´Ø·¸¤òÆâÉô¥ë¡¼¥×¤«¤é²Äǽ¤Ê¸Â¤ê±ó¤¤°ÌÃÖ¤ËÃÖ¤­¡¢¤³¤ÎÆþ¤ì»Ò¥ë¡¼¥×¤òÊÂÎ󲽤¹¤ë¤¿¤á¤Î½èÃ֤Ȥ·¤Æ¹Ô¤¦¤â¤Î¤Ç¤¹¡£¿¼¤¤¥ì¥Ù¥ë¤ÇÆþ¤ì»Ò¤Ë¤·¤¿¥ë¡¼¥×¤Î¾ì¹ç¤Ï¡¢3 ¤Ä°Ê¾å¤Î¥ë¡¼¥×¤Ç¸ò´¹¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤È¥ë¡¼¥×¤Ø¤Î±Æ¶Á

¥³¥ó¥Ñ¥¤¥é¥Ò¥ó¥È¤ÎÀâÌÀ¤«¤é¤â¤ï¤«¤ë¤È¤ª¤ê¡¢ºÇŬ²½¥³¡¼¥É¤È¥½¡¼¥¹¥³¡¼¥É¤òÂбþ¤µ¤»¤ë¤Î¤ÏÆñ¤·¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤¬½ÐÎϤ¹¤ë¾ðÊ󤬡¢²Äǽ¤Ê¸Â¤ê¥½¡¼¥¹¥³¡¼¥É¤Ë¶á¤¤·Á¼°¤Çɽ¼¨¤µ¤ì¤ë¤Û¤¦¤¬Ë¾¤Þ¤·¤¤¤Î¤ÏÌÀ¤é¤«¤Ç¤¹¡£»ÄÇ°¤Ê¤¬¤é¡¢¥³¥ó¥Ñ¥¤¥é¥ª¥×¥Æ¥£¥Þ¥¤¥¶¤Ï¡¢¥×¥í¥°¥é¥à¤òÆâÉôɽ¸½¤Ë¤è¤Ã¤Æ¡ÖÆɤ߼è¤ë¡×¤¿¤á¡¢¤â¤È¤Î¥½¡¼¥¹¥³¡¼¥É¤ËÂбþ¤µ¤»¤è¤¦¤È¤·¤Æ¤â¡¢¤½¤ì¤Û¤É¸ú²Ì¤Ï¤¢¤ê¤Þ¤»¤ó¡£

¼¡¤Ë¡¢º®Íð¤Î¸¶°ø¤È¤Ê¤ê¤ä¤¹¤¤ºÇŬ²½¤Î¼êË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£

¥¤¥ó¥é¥¤¥ó²½

¥¤¥ó¥é¥¤¥ó²½¤È¤Ï¡¢ ºÇŬ²½¥ì¥Ù¥ë -O4 ¤Ë¸Â¤ê¡¢1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤ë´Ø¿ô¤À¤±¤Ë ŬÍѤµ¤ì¤ëºÇŬ²½¤Î 1 ¤Ä¤Ç¤¹¡£¤¹¤Ê¤ï¤Á¡¢¤¢¤ë¥Õ¥¡¥¤¥ë¤Ë 17 ¸Ä¤Î Fortran ´Ø¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢16 ¸Ä¤Î´Ø¿ô¤ò»Ä¤ê¤Î 1 ¤Ä¤Î´Ø¿ô¤ËŸ³«¤Ç¤­¡¢-O4 ¥ì¥Ù¥ë¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î 16 ¸Ä¤Î´Ø¿ô¤Î¥½¡¼¥¹¥³¡¼¥É¤ò 1 ¤Ä¤Î´Ø¿ô¤ÎËÜÂΤ˥³¥Ô¡¼¤·¤Þ¤¹¡£¤³¤ì°Ê¾å¤ÎºÇŬ²½¤òŬÍѤ¹¤ë¤È¡¢¥½¡¼¥¹¥³¡¼¥É¤Î¤É¤Î¹ÔÈֹ椬¤É¤ÎºÇŬ²½¤ÎÂоݤȤʤäƤ¤¤ë¤«¤¬ÆÃÄê¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¥³¥ó¥Ñ¥¤¥é¥Ò¥ó¥È¤ÎÀâÌÀ¤¬ÉÔÌÀ³Î¤È»×¤ï¤ì¤ë¾ì¹ç¤Ï¡¢-O3 -parallel -Zlp ¤òÉÕ¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤¬´Ø¿ô¤ò¥¤¥ó¥é¥¤¥ó²½¤¹¤ëÁ°¤ÎÃʳ¬¤Ç¡¢¥ë¡¼¥×¤Ë´Ø¤¹¤ë¥³¥ó¥Ñ¥¤¥é¤«¤é¤Î»ØŦ¤ò¤è¤ê¾Ü¤·¤¯³Îǧ¤Ç¤­¤Þ¤¹¡£

Æä˼ÂÂΤΤʤ¤¥ë¡¼¥× (¤¹¤Ê¤ï¤Á¥³¥ó¥Ñ¥¤¥é¤¬¡¢¼Âºß¤¹¤ë¤³¤È¤òÁ°Äó¤È¤¹¤ë¥ë¡¼¥×¤Ç¡¢¼ÂºÝ¤Î¥½¡¼¥¹¥³¡¼¥ÉÃæ¤Ë¤Ï¸ºß¤·¤Ê¤¤¤â¤Î) ¤Ï¡¢¥¤¥ó¥é¥¤¥ó²½¤ÎÂоݤȤʤäƤ¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×¤ÎÊÑ·Á : Ÿ³«¡¢µÍ¤á¹þ¤ß¡¢Ê¬³ä¡¢¤ª¤è¤ÓÆþ¤ìÂؤ¨

¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥ë¡¼¥×ËÜÂΤòÂ礭¤¯½ñ¤­´¹¤¨¤ë¤è¤¦¤Ê¥ë¡¼¥×¤ÎºÇŬ²½¤ò¿¿ô¼Â¹Ô¤·¤Þ¤¹¡£ ¶ñÂÎŪ¤Ë¤Ï¡¢¥ë¡¼¥×¤ÎºÇŬ²½¡¢Å¸³«¡¢µÍ¤á¹þ¤ß¡¢Ê¬³ä¡¢Æþ¤ìÂؤ¨¤Ê¤É¤ÎÁàºî¤¬¤¢¤ê¤Þ¤¹¡£

¥ë¡¼¥×¥Ä¡¼¥ë¤È¥ë¡¼¥×¥ì¥Ý¡¼¥È¤Ï¡¢²Äǽ¤Ê¸Â¤ê¡¢°ÕÌ£¤Î¤¢¤ë¥Ò¥ó¥È¤òÄ󶡤·¤è¤¦¤È¤·¤Þ¤¹¤¬¡¢ºÇŬ²½ºÑ¤ß¥³¡¼¥É¤È¥½¡¼¥¹¥³¡¼¥É¤òÂбþ¤µ¤»¤ë¾å¤Ç¤Îº¬ËÜŪ¤ÊÌäÂ꤬¤¢¤ë¤¿¤á¡¢¥Ò¥ó¥È¤ÎÆâÍƤ¬¸í²ò¤ò¾·¤¯¤³¤È¤â¤¢¤ê¤Þ¤¹¡£

Ã༡¥ë¡¼¥×¤ÎÆâÉô¤ËÆþ¤ì»Ò¤Ë¤·¤¿ÊÂÎó¥ë¡¼¥×

Ã༡¥ë¡¼¥×¤ÎÃæ¤ËÊÂÎó¥ë¡¼¥×¤¬Æþ¤ì»Ò¤Ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢³Æ¥ë¡¼¥×¤ò·«¤êÊÖ¤¹¤´¤È¤Ë»þ·×»þ´Ö¤ò»ÈÍѤ¹¤ë¤È¤¤¤¦¾ò·ï¤¬¤¢¤ë¤¿¤á¡¢¥ë¡¼¥×¥Ä¡¼¥ë¤ª¤è¤Ó¥ë¡¼¥×¥ì¥Ý¡¼¥È¤¬Êó¹ð¤¹¤ë¼Â¹Ô»þ´Ö¤Î¾ðÊ󤬸í²ò¤ò¾·¤¯¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ÆâÉô¥ë¡¼¥×¤¬ÊÂÎ󲽤µ¤ì¤Æ¤¤¤ë¤È¡¢¥ë¡¼¥×¤Î°ìÉô¤òÊÂÎóŪ¤Ë·«¤êÊÖ¤¹¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¡¢È¿Éü¤´¤È¤Î»þ·×»þ´Ö¤¬³ÎÊݤµ¤ì¤Þ¤¹¡£

¤³¤ì¤ËÂФ·¤Æ¡¢³°Éô¥ë¡¼¥×¤Ë¤Ï¡¢Æþ¤ì»Ò¤Ë¤·¤¿ÊÂÎó¥ë¡¼¥×Á´ÂΤμ¹Իþ´Ö¤·¤«³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó¡£¤¹¤Ê¤ï¤Á¡¢ÆâÉô¥ë¡¼¥×¤òÊÂÎóŪ¤Ë¥¤¥ó¥¹¥¿¥ó¥¹²½¤·¤¿¾ì¹ç¤ÎºÇ¤âŤ¤»þ´Ö¤ËÁêÅö¤·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ë·×¬ÊýË¡¤¬Æó½Å¤Ë¤Ê¤ë·ë²Ì¡¢ÆâÉô¥ë¡¼¥×¤ËÈæ¤Ù¡¢³°Éô¥ë¡¼¥×¤Î¾ÃÈñ»þ´Ö¤¬Ã»¤¯¤Ê¤ë¤È¤¤¤¦¡¢¡Ö³°Éô¥ë¡¼¥×¤ÎÊѧÀ­¡×¤È¤¤¤¦ÌäÂê¤òÀ¸¤¸¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£


¥µ¥ó¡¦¥Þ¥¤¥¯¥í¥·¥¹¥Æ¥à¥º³ô¼°²ñ¼Ò
Copyright information. All rights reserved.
¥Û¡¼¥à   |   Ìܼ¡   |   Á°¥Ú¡¼¥¸¤Ø   |   ¼¡¥Ú¡¼¥¸¤Ø   |   º÷°ú