æåã«ãçšèªãšå®çŸ©ãèŠãŠã¿ãŸãããã ãããã£ãŠãFLOPSã¯ã1ç§ãããã®æµ®åå°æ°ç¹ãªãã©ã³ãïŒFPïŒã§å®è¡ãããèšç®æäœãŸãã¯åœä»€ã®æ°ã§ãã ããã§ã¯ããã³ã³ãã¥ãŒãã£ã³ã°ããšããèªã䜿çšãããŸããããã¯ããã€ã¯ãããã»ããµããã¡ã¢ãªããã®ããŒããªã©ããã®ãããªãªãã©ã³ããæã€ä»ã®åœä»€ãå®è¡ã§ããããã§ãã ãã®ãããªæäœã¯æçšãªèšç®è² è·ã䌎ããªããããèæ ®ãããŸããã
ç¹å®ã®ã·ã¹ãã çšã«å ¬éãããFLOPSå€ã¯ãããã°ã©ã ã§ã¯ãªããäž»ã«ã³ã³ãã¥ãŒã¿ãŒèªäœã®ç¹æ§ã§ãã çè«ãšå®çšã®2ã€ã®æ¹æ³ã§ååŸã§ããŸãã çè«çã«ã¯ãã·ã¹ãã å ã«ãã€ã¯ãããã»ããµãããã€ããããåããã»ããµã«å®è¡å¯èœãªæµ®åå°æ°ç¹ããã€ã¹ãããã€ããããããããŸãã ãããã¯ãã¹ãŠåæã«åäœãããµã€ã¯ã«ããšã«ãã€ãã©ã€ã³ã®æ¬¡ã®åœä»€ã§åäœãéå§ã§ããŸãã ãããã£ãŠããã®ã·ã¹ãã ã®çè«äžã®æ倧å€ãèšç®ããã«ã¯ãããããã¹ãŠã®éã«ããã»ããµåšæ³¢æ°ãæããã ãã§æžã¿ãŸãã1ç§ãããã®FPæäœã®æ°ãååŸããŸãã ãã¹ãŠãåçŽã§ããã圌ãã¯ã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒãæ§ç¯ããããã®å°æ¥ã®èšç»ã«ã€ããŠãã¹ã³ãã§çºè¡šããŠããããšãé€ããŠããã®ãããªæšå®å€ã䜿çšããŠããŸãã
å®éã®æž¬å®ã¯ãLinpackãã³ãããŒã¯ãèµ·åããããšã§ãã ãã³ãããŒã¯ã¯ããããªãã¯ã¹ã«ãããªãã¯ã¹ãæ°ååæããæŒç®ãå®è¡ãããã¹ãå®è¡æéã®å¹³åå€ãèšç®ããŸãã ã¢ã«ãŽãªãºã ã®å®è£ ã«ãããFPæäœã®æ°ã¯äºåã«ããã£ãŠããããã1ã€ã®å€ãå¥ã®å€ã§é€ç®ããããšã«ãããç®çã®FLOPSãååŸããŸãã ã€ã³ãã«MKLã©ã€ãã©ãªãŒïŒMath Kernel LibraryïŒã«ã¯ãç·åœ¢ä»£æ°åé¡ã解決ããããã®ã©ã€ãã©ãªãŒã®ããã±ãŒãžã§ããLAPACKããã±ãŒãžãå«ãŸããŠããŸãã ãã³ãããŒã¯ã¯ããã®ããã±ãŒãžã«åºã¥ããŠæ§ç¯ãããŠããŸãã ãã®æå¹æ§ã¯çè«çã«å¯èœãª90ïŒ ã®ã¬ãã«ã§ãããšèããããŠãããããã«ãããã³ãããŒã¯ããåç §æž¬å®ããšèŠãªãããšãã§ããŸãã å¥éãWindowsãLinuxãããã³MacOSçšã®Intel Optimized LINPACK Benchmarkã¯ããããããŠã³ããŒãã§ããŸããIntelParallel Studio XEãã€ã³ã¹ããŒã«ãããŠããå Žåã¯ãcomposerxe / mkl /ãã³ãããŒã¯ãã£ã¬ã¯ããªã§ååŸã§ããŸãã
æããã«ãé«æ§èœã¢ããªã±ãŒã·ã§ã³ã®éçºè ã¯ãFLOPSã¡ããªãã¯ã䜿çšããŠã¢ã«ãŽãªãºã ã®å®è£ ã®æå¹æ§ãè©äŸ¡ããããšèããŠããŸãããã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠã¯ãã§ã«æž¬å®ãããŠããŸãã 枬å®ãããFLOPSãšããªãã¡ã¬ã³ã¹ããšã®æ¯èŒã«ãããã¢ã«ãŽãªãºã ã®ããã©ãŒãã³ã¹ãçæ³ããã©ãã ãé¢ããŠããããããã³ãã®æ¹åã®çè«çå¯èœæ§ã¯ã©ããããããããããŸãã ãããè¡ãã«ã¯ãã¢ã«ãŽãªãºã ã®å®è¡ã«å¿ èŠãªFPæäœã®æå°æ°ãç¥ããããã°ã©ã ïŒãŸãã¯è©äŸ¡ãããã¢ã«ãŽãªãºã ãå®è¡ããããã°ã©ã ã®äžéšïŒã®å®è¡æéãæ£ç¢ºã«æž¬å®ããå¿ èŠããããŸãã ãã®ãããªçµæã¯ãã¡ã¢ãªãã¹ã®ç¹æ§ã®æž¬å®ãšãšãã«ãã¢ã«ãŽãªãºã ã®å®è£ ãããŒããŠã§ã¢ã·ã¹ãã ã®æ©èœã«äŸåããå Žæãšãå¶éèŠå ã§ããã¡ã¢ãªåž¯åå¹ ãããŒã¿è»¢éé 延ãã¢ã«ãŽãªãºã ããŸãã¯ã·ã¹ãã ããã©ãŒãã³ã¹ãç解ããããã«å¿ èŠã§ãã
ããã§ã¯ããåãã®ããã«ããã¹ãŠã®æªã®è©³çŽ°ãæãäžããŸãããã çè«ããã³ãããŒã¯ãããã°ã©ã ã®3ã€ã®FLOPSè©äŸ¡/枬å®å€ããããŸãã ã±ãŒã¹ããšã«FLOPSãèšç®ããæ©èœãæ€èšããŠãã ããã
ã·ã¹ãã ã®FLOPSã®çè«çè©äŸ¡
ããã»ããµã§ã®åææäœã®æ°ãã©ã®ããã«èšç®ãããããç解ããããã«ãIntel Sandy Bridgeããã»ããµã®ãã€ãã©ã€ã³ã«ããé äžåã®ãããã¯ããã€ã¹ãèŠãŠã¿ãŸãããã
ããã§ã¯ãã³ã³ãã¥ãŒãã£ã³ã°ããã€ã¹çšã«6ã€ã®ããŒããããã1ãµã€ã¯ã«ïŒãŸãã¯ããã»ããµãµã€ã¯ã«ïŒã§ããã£ã¹ãããã£ã«æ倧6ã€ã®ãã€ã¯ããªãã¬ãŒã·ã§ã³ïŒ3ã€ã®ã¡ã¢ãªæäœãš3ã€ã®ã³ã³ãã¥ãŒãã£ã³ã°æäœïŒãå²ãåœãŠãããšãã§ããŸãã x87 FPãŠããããšSSEãŸãã¯AVXã®äž¡æ¹ã§ã1ã€ã®ä¹ç®æŒç®ïŒ MUL ïŒãš1ã€ã®å ç®ïŒ ADD ïŒãåæã«å®è¡ã§ããŸãã 256ãããSIMDã¬ãžã¹ã¿ã®å¹ ãèãããšã次ã®çµæãåŸãããŸãã
8 MULïŒ32ãããïŒããã³8 ADDïŒ32ãããïŒïŒ 16 SP FLOP /ãµã€ã¯ã« ãã€ãŸãããµã€ã¯ã«ããšã«16ã®å粟床浮åå°æ°ç¹æŒç®ã
4 MULïŒ64ãããïŒããã³4 ADDïŒ64ãããïŒïŒ 8 DP FLOP /ãµã€ã¯ã« ãã€ãŸããµã€ã¯ã«ããšã«8ã€ã®å粟床浮åå°æ°ç¹æŒç®ã
1ãœã±ããXeon E3-1275ïŒ4ã³ã¢@ 3.574GHzïŒã®çè«äžã®ããŒã¯FLOPSã¯æ¬¡ã®ãšããã§ãã
16ïŒFLOP /ãµã€ã¯ã«ïŒ* 4 * 3.574ïŒGcycles /ç§ïŒ= 228 GFLOPS SP
8ïŒFLOP /ãµã€ã¯ã«ïŒ* 4 * 3.574ïŒGcycles /ç§ïŒ= 114 GFLOPS DP
Linpackãã³ãããŒã¯ãèµ·åãã
ãã³ãããŒã¯ã¯ã·ã¹ãã äžã®Intel MKLããã±ãŒãžããå®è¡ããã次ã®çµæãåŸãããŸãïŒç°¡åã«è¡šç€ºã§ããããã«ã«ãããããŠããŸãïŒã
ããã§ããã³ãããŒã¯ã§FPæäœãæ£ç¢ºã«èæ ®ãããæ¹æ³ãèšãå¿ èŠããããŸãã ãã§ã«è¿°ã¹ãããã«ããã®ãã¹ãã¯ãè¡åã®ä¹ç®ã«å¿ èŠãªMULããã³ADDæäœã®æ°ãäºåã«ãèªèãããŠããŸãã ç°¡ç¥åãããã¥ãŒïŒç·åœ¢æ¹çšåŒAx = bã®ã·ã¹ãã ã¯ããµã€ãºMxKã®å®æ°ïŒreal8ïŒã®å¯è¡åãä¹ç®ããããšã«ããïŒæ°ååïŒè§£ãããã¢ã«ãŽãªãºã ã®å®è£ ã«å¿ èŠãªå ç®ããã³ä¹ç®æŒç®ã®æ°ãèæ ®ãããŸãïŒå¯Ÿç§°è¡åã®å ŽåïŒNflop = 2 *ïŒM ^ 3ïŒ+ïŒM ^ 2ïŒã ã»ãšãã©ã®ãã³ãããŒã¯ãšåæ§ã«ãå粟床ã®æ°å€ã«å¯ŸããŠèšç®ãè¡ãããŸãã ã¢ã«ãŽãªãºã ã®å®è£ ã§å®éã«æµ®åå°æ°ç¹ã䜿çšããŠå®è¡ãããæäœã®æ°ããŠãŒã¶ãŒã¯æ°ã«ããŸãããããã以äžæšæž¬ããŸãã ããã¯ãã³ã³ãã¥ãŒãã£ã³ã°ãã©ãããã©ãŒã ã§æ倧ã®ã¢ã«ãŽãªãºã ããã©ãŒãã³ã¹ãéæããããã«ããããã¯ãžã®ãããªãã¯ã¹å解ãšå€æïŒå æ°å解ïŒãå®è¡ããããšããäºå®ã«ãããã®ã§ãã ã€ãŸããå®éã«ã¯ãäžå¿ èŠãªå€ææäœãã·ãããªã©ã®è£å©æäœãç¡èŠããŠãããããç©çFLOPSã®å€ãéå°è©äŸ¡ãããŠããããšãèŠããŠããå¿ èŠããããŸãã
FLOPSããã°ã©ã ã®è©äŸ¡
æ¯èŒå¯èœãªçµæãââ調ã¹ãããã«ãMKL Performance LibraryéçºããŒã ã®æ°åŠã®å°é家ã®å©ããåããã«ãé«æ§èœã¢ããªã±ãŒã·ã§ã³ãšããŠãæ¥æ倧工ã®è¡åä¹ç®ã®äŸã䜿çšããŸãã Cã§èšè¿°ãããè¡åä¹ç®ã®å®è£ äŸã¯ãIntel VTune Amplifier XEããã±ãŒãžã®Samplesãã£ã¬ã¯ããªã«ãããŸãã åŒNflop = 2 *ïŒM ^ 3ïŒã䜿çšããŠïŒåºæ¬çãªè¡åä¹ç®ã¢ã«ãŽãªãºã ã«åºã¥ããŠïŒFPæŒç®ãèšç®ãã察称è¡åM = 4096ã®ãµã€ãºã®ä¹ç®3ã¢ã«ãŽãªãºã ã®å Žåã®ä¹ç®æéã枬å®ããŸãã å¹ççãªã³ãŒããååŸããããã«ãã€ã³ãã«Â®Cã³ã³ãã€ã©ãŒã®æé©åãªãã·ã§ã³âO3 ïŒç©æ¥µçãªã«ãŒãæé©åïŒããã³âxavx ïŒAVXåœä»€ã䜿çšïŒã䜿çšããŠãAVXã¢ã¯ãã¥ãšãŒã¿ãŒã®ãã¯ãã«SIMDåœä»€ãçæããŸãã ã³ã³ãã€ã©ãŒã¯ããããªãã¯ã¹ä¹ç®ãµã€ã¯ã«ããã¯ãã«åãããŠãããã©ããã調ã¹ãã®ã«åœ¹ç«ã¡ãŸãã ãããè¡ãã«ã¯ã âvec-report3ãªãã·ã§ã³ãæå®ããŸã ã ã³ã³ãã€ã«çµæã«ã¯ããªããã£ãã€ã¶ãŒã¡ãã»ãŒãžã衚瀺ãããŸããmultiplier.cãã¡ã€ã«ã®å éšã«ãŒãã®æ¬æã®è¡ã®å察åŽã«ãLOOP WAS VECTORIZEDãã衚瀺ãããŸãã
念ã®ãããä¹ç®ãµã€ã¯ã«ã«å¯ŸããŠã³ã³ãã€ã©ãŒãçæããåœä»€ã確èªããŸãã
$ icl âg âO3 âxavx âS
ã¿ã°__ââtag_value_multiply3ã«ãã£ãŠãç®çã®ãµã€ã¯ã«ãæ¢ããŠããŸã-æ瀺ã¯æ£ããã§ãã
$ vi muliply3.s
ããã°ã©ã ã®çµæïŒã7ç§ïŒ
次ã®å€ãåŸãããŸãFLOPS = 2 * 4096 * 4096 * 4096/7 [s] = 19.6 GFLOPS
ãã¡ãããçµæã¯Linpackã§åŸããããã®ãšã¯å€§ããç°ãªããŸããããã¯ãèšäºã®èè ãšMKLã©ã€ãã©ãªã®éçºè ãšã®éã®è³æ Œã®ã®ã£ããã«ãã£ãŠã®ã¿èª¬æãããŸãã
ããŠãä»ãã¶ãŒãïŒ å®éãç§ã¯ãã®äžèŠéå±ã§é·å¹Žã®è©±é¡ã«ã€ããŠç 究ãå§ããããã«ã FLOPSã枬å®ããæ°ããæ¹æ³ã
FLOPSããã°ã©ã ã®æž¬å®
ç·åœ¢ä»£æ°ã«ã¯åé¡ãããããã®ãããªæšå®å€ãèŠã€ããããšèªäœãèªæãªæ°åŠçåé¡ã§ãããšããæå³ã§ãFPæŒç®ã®æ°ã§ãœãããŠã§ã¢å®è£ ãè©äŸ¡ããããšã¯éåžžã«å°é£ã§ãã ãããŠã圌ããèšãããã«ãç§ãã¡ã¯å°çããŸããã ããã°ã©ã ã®FLOPSã®èªã¿æ¹ å®éšçãå®éšçã®2ã€ã®æ¹æ³ããããŸããé£ãããæ£ç¢ºãªçµæãäžããããããŠç°¡åã§ããã倧ãŸããªèŠç©ãããæäŸããŸãã æåã®ã±ãŒã¹ã§ã¯ãåé¡ã®è§£æ±ºçã®åºæ¬çãªãœãããŠã§ã¢å®è£ ãåãããããã¢ã»ã³ãã©ãŒåœä»€ã«ã³ã³ãã€ã«ããããã»ããµãŒã·ãã¥ã¬ãŒã¿ãŒã§å®è¡ããŠãFPæäœã®æ°ãèšç®ããå¿ èŠããããŸãã ç°¡åã§ã¯ãããä¿¡é Œã§ããªãæ¹æ³ãæãã§ããããã«èãããŸãã ããã«ãã¿ã¹ã¯å®è¡ã®åå²ãå ¥åããŒã¿ã«äŸåããå Žåãè©äŸ¡ã®æ£ç¢ºæ§å šäœãããã«çåèŠãããŸãã
ç°¡åãªæ¹æ³ã®ã¢ã€ãã¢ã¯æ¬¡ã®ãšããã§ãã ããã»ããµã«å®äºããFPåœä»€ã®æ°ãå°ããªãã§ãã ããã ãã¡ãããããã»ããµãã€ãã©ã€ã³ã¯ãããèªèããŠããŸããã ãããã1ã€ãŸãã¯å¥ã®ã³ã³ãã¥ãŒãã£ã³ã°ãŠãããã§å®è¡ããããã€ã¯ãæäœã®æ°ãã«ãŠã³ãã§ããããã©ãŒãã³ã¹ã«ãŠã³ã¿ãŒïŒPMU-ããã§ã¯èå³æ·±ãïŒããããŸãã VTune Amplifier XEã¯ããã®ãããªã«ãŠã³ã¿ãŒã§åäœããŸãã
VTuneã«ã¯å€ãã®çµã¿èŸŒã¿ãããã¡ã€ã«ããããŸãããFLOPSã枬å®ããããã®ç¹å¥ãªãããã¡ã€ã«ã¯ãŸã ãããŸããã ãã ãã30ç§ä»¥å ã«ç¬èªã®ãŠãŒã¶ãŒãããã¡ã€ã«ãäœæããããšã劚ãããã®ã¯ãããŸããã VTuneã€ã³ã¿ãŒãã§ãŒã¹ã®åºæ¬çãªæäœã«ç ©ããããããšãªãïŒä»å±ã®å ¥éãã¥ãŒããªã¢ã«ã§åŠç¿ã§ããŸãïŒããããã¡ã€ã«ã®äœæãšããŒã¿ã®åéã®ããã»ã¹ãããã«èª¬æããŸãã
- æ°ãããããžã§ã¯ããäœæãã ãããªãã¯ã¹ã¢ããªã±ãŒã·ã§ã³ãã¿ãŒã²ããã¢ããªã±ãŒã·ã§ã³ãšããŠæå®ããŸãã
- Lightweight Hotspotsãããã¡ã€ã«ïŒHadware Event-based Samplingããã»ããµãŒã«ãŠã³ã¿ãŒãµã³ããªã³ã°ãã¯ãããžãŒã䜿çšïŒãéžæãããããã³ããŒããŠã«ã¹ã¿ã ãããã¡ã€ã«ãäœæããŸãã ãããMy FLOPS AnalysisãšåŒã³ãŸãã
- ãããã¡ã€ã«ãç·šéããããã«Sandy BridgeïŒEventsïŒããã»ããµã€ãã³ãã®æ°ããããã»ããµã«ãŠã³ã¿ãè¿œå ããŸãã ããå°ã詳ãã説æããŸãã ãã®ååã§ã¯ãå®è¡ããã€ã¹ïŒx87ãSSEãAVXïŒããã³æäœãå®è¡ãããããŒã¿ã®ã¿ã€ããæå·åãããŠããŸãã ããã»ããµãŒã®åãµã€ã¯ã«ã§ãã«ãŠã³ã¿ãŒã¯å®è¡ã«å²ãåœãŠãããèšç®æäœã®æ°ãåèšããŸãã 念ã®ãããFPã§å¯èœãªãã¹ãŠã®æäœã«ã«ãŠã³ã¿ãŒãè¿œå ããŸããã
- FP_COMP_OPS_EXEã SSE_PACKED_DOUBLE-å粟床ããŒã¿ãã¯ãã«ïŒPACKEDïŒïŒDOUBLEïŒ
- FP_COMP_OPS_EXEã SSE_PACKED_SINGLE-å粟床ããŒã¿ãã¯ãã«
- FP_COMP_OPS_EXEã SSE_SCALAR_DOUBLE-ã¹ã«ã©ãŒDP
- FP_COMP_OPS_EXEã SSE_ SCALAR _SINGLE-ã¹ã«ã©ãŒSP
- SIMD_FP_256.PACKED_DOUBLE-DP AVXããŒã¿ãã¯ãã«
- SIMD_FP_256.PACKED_SINGLE-AVXããŒã¿ãã¯ãã«SP
- FP_COMP_OPS_EXE.x87-ã¹ã«ã©ãŒããŒã¿x87
åæãå®è¡ããçµæãåŸ ã€ããšããã§ããŸããã çµæã§ã¯ãããŒããŠã§ã¢ã€ãã³ããã¥ãŒãã€ã³ãã«åãæ¿ãã multiply3é¢æ°ã§åéãããã€ãã³ãæ°34,648,000,000ãã³ããŒããŸãã
次ã«ãåŒã䜿çšããŠFLOPSå€ãåçŽã«èšç®ããŸãã ããŒã¿ã¯ãã¹ãŠã®ããã»ããµã«ã€ããŠåéãããŠãããããããã§ãããã®æ°ãä¹ç®ããå¿ èŠã¯ãããŸããã å粟床ããŒã¿æŒç®ã¯ã256ãããã¬ãžã¹ã¿å ã®4ã€ã®64ãããDPãªãã©ã³ãã§åæã«å®è¡ãããããã4åã«ããŸããããããå粟床ã®è€æ°ããŒã¿ã«8åããŸããæåŸã®åŒã§ã¯ãã³ããã»ããµãŒæŒç®x87ã¯ã¹ã«ã©ãŒå€ã§ã®ã¿å®è¡ãããŸãã ããã°ã©ã ãããã€ãã®ç°ãªãã¿ã€ãã®FPæäœãå®è¡ããå Žåããããã®æ°ã«ä¿æ°ãæããŠåèšããçµæã®FLOPSãååŸããŸãã
FLOPS = 4 * SIMD_FP_256.PACKED_DOUBLE /çµéæé
FLOPS = 8 * SIMD_FP_256.PACKED_SINGLE /çµéæé
FLOPS =ïŒFP_COMP_OPS_EXE.x87ïŒ/çµéæé
ããã°ã©ã ã§ã¯AVXåœä»€ã®ã¿ãå®è¡ããããããçµæã®å€ã¯1ã€ã®ã«ãŠã³ã¿ãŒSIMD_FP_256.PACKED_DOUBLEã®ã¿ã§ãã
ãããã®ã€ãã³ããã multiply3é¢æ°ã®ã«ãŒãã«å¯ŸããŠåéãããŠããããšã確èªããŸãïŒãœãŒã¹ãã¥ãŒã«åãæ¿ããŠïŒã
FLOPS = 4 * 34.6Gops / 7s = 19.7 GFlops
ãã®å€ã¯ãåã®æ®µèœã§èšç®ãããæšå®å€ãšäžèŽããŠããŸãã ãããã£ãŠãååãªç²ŸåºŠã§ãè©äŸ¡æ¹æ³ãšæž¬å®çµæãäžèŽããŠãããšèšããŸãã ãã ããäžèŽããªãå ŽåããããŸãã èªè ã«äžå®ã®é¢å¿ãããå Žåãç§ã¯åœŒããç 究ããããè€éã§æ£ç¢ºãªæ¹æ³ã䜿çšããæ¹æ³ãäŒããããšãã§ããŸãã ãããšåŒãæãã«ãããã°ã©ã ã§FLOPSã枬å®ããå¿ èŠãããå Žåãããªãã®äºäŸã«ã€ããŠæ¬åœã«èãããã§ãã
ãããã«
FLOPSã¯ãæµ®åå°æ°ç¹æŒç®ã«å¯Ÿããã·ã¹ãã èªäœã®æ倧èšç®èœåãç¹åŸŽä»ããã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã ããã©ãŒãã³ã¹ã®æž¬å®åäœã§ãã FLOPSã¯ããŸã ååšããªãã·ã¹ãã ã§ã¯çè«çãšå®£èšã§ãããã³ãããŒã¯ã䜿çšããŠæž¬å®ã§ããŸãã é«æ§èœããã°ã©ã ãç¹ã«ç·åœ¢åŸ®åæ¹çšåŒã·ã¹ãã ãœã«ããŒã®éçºè ã¯ãã¢ã«ãŽãªãºã ã®å®è¡ã«å¿ èŠãªFPæŒç®ã®çè«ç/çµéšçã«æ¢ç¥ã®æ°ãšæž¬å®ããããã¹ãå®è¡æéã䜿çšããŠèšç®ããããããã°ã©ã ã®FLOPSå€ãå«ãã¢ã«ãŽãªãºã ã®ããã©ãŒãã³ã¹ãè©äŸ¡ããŸãã ã¢ã«ãŽãªãºã ã®è€éããåå ã§ã¢ã«ãŽãªãºã ã®FPæäœã®æ°ãæšå®ã§ããªãå ŽåãIntelãã€ã¯ãããã»ããµã«çµã¿èŸŒãŸããããã©ãŒãã³ã¹ã«ãŠã³ã¿ãŒã䜿çšããŠæž¬å®ã§ããŸãã