ãã®èšäºã¯èŠåŽããŠããŸããæ°ãæåãããŸããŸãªã¢ãŒããã¯ãã£ã®ãœãããŠã§ã¢ãšã³ã·ã¹ãã ãæ§ç¯ãããšããããŒãã«ã€ããŠã¬ãã¥ãŒãæžãããã«äŸé ŒãããŸãããæåãç§ã¯çæ ç³»ã¯çç©åŠã§ã¯ãªããšãã粟ç¥ã§æçµ¶ããåè«ãèšã£ããããã¯ãã¯ãããžãŒã§ãããããŸãããããã¯ãã£ã±ããéã«ã€ããŠã§ãããããŠæã æ¿æ²»ã«ã€ããŠããããã圌ã¯èªåã®æå¿ããã¶ãã«éããå±±ã®ããã«èãã座ã£ãŠãæåéã1æ¥ã§ãã¹ãŠãæžããŸãããè±èªã§ããã®åŸãã¬ãã¥ãŒã¯äžåœèªã«ç¿»èš³ãããå ¬éãããŸããã ãéäžã翻蚳è ã¯ããã¹ããå€§å¹ ã«æ¹åããããã€ãã®è峿·±ãèãã远å ããŸãããããããç§ã¯ããã®ããã¹ããHabrã®èŽè¡ã«ãšã£ãŠè峿·±ããå°æ¥ãããåç §ããã®ã«ã圹ç«ã€ãããããªããšå€æããŸããããããŠåœŒã¯ãè±èªã®åæãšäžåœèªã®ç¿»èš³ã§æŠè£ ãããã·ã¢èªçã®åœ«å»ãå§ããŸãããããã¯ç¹å®ã®è±èªã®çšèªãšã®åãéäºã§ããïŒSWãšã³ã·ã¹ãã ïŒ=ãœãããŠã§ã¢ãšã³ã·ã¹ãã ãæå¹åïŒ=ããã¢ãŒã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ïŒ=ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ïŒãããã§ãäžæçãªè±¡åœ¢æåããã®çµæããã·ã¢èªã®ããã¹ãã¯è±èªãšäžåœèªãåããããã®ãããæéãããããŸãã...ããã¯èµ·ãããŸãã
éå»40幎ãã50幎ã«ããã£ãŠãæ°ããããã»ããµãšãã€ã¯ãããã»ããµã®ã¢ãŒããã¯ãã£ãåžå Žã«æå ¥ããããã®å€ãã®åªåãèŠãããŸããããããã®ãã¡ãé·æçã«æåããããšã蚌æãããŠãããã®ã¯ã»ãšãã©ãããŸãããæããããããã2ã€ã®äŸã¯ããµãŒããŒãšPCçšã®x86ã¢ãŒããã¯ãã£ãšãæºåž¯é»è©±ãšãã€ã¯ãããã»ããµçšã®ARMã§ããæ®ãã¯å°ããªããããå ããïŒå ããïŒããé·ãååšããŸããã§ããããã¡ãããã³ã³ãã¥ãŒãã£ã³ã°ã¢ãŒããã¯ãã£å šäœã®æåã®éèŠãªèŠçŽ ã®1ã€ã¯ããã®ã»ã°ã¡ã³ãã§æãéèŠãªé¡§å®¢ã®ããŒãºãæºããèœåã§ãããµãŒããŒã®å Žåããã®èŠæ±ã¯ããã©ãŒãã³ã¹ã§ããã¢ãã€ã«ããã€ã¹ã®å Žåãäœæ¶è²»é»å/é·ãããããªãŒå¯¿åœã§ãããããããã1ã€ã®éèŠãªèŠçŽ ã¯ãè±å¯ãªãœãããŠã§ã¢ãšã³ã·ã¹ãã ã®ååšã§ããããã«ãããæ¢åã®ãœãããŠã§ã¢ãç§»æ€ããã ãã§ãªããæ°ãããœãããŠã§ã¢ã广çã«éçºã§ããŸããå¿ èŠãªãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ãéçºããå¿ èŠãããããããšã³ã·ã¹ãã ã®äœæã¯éåžžã«æéãšè²»çšã®ãããããã»ã¹ã§ãããããããã®æ¹æ³ã§ã®ã¿ãã¢ãŒããã¯ãã£ãã¿ãŒã²ããåžå Žã»ã°ã¡ã³ããå ããããšãã§ããŸãããã ãããšã³ã·ã¹ãã ãéçºããããšãããã¯èªç¶ã®é²åŸ¡ã¡ã«ããºã ãšããŠæ©èœããç«¶åããã¢ãŒããã¯ãã£ãåžå Žã«åå ¥ããã®ãé²ããŸãããã®èšäºã§ã¯ããµãŒããŒåžå Žã»ã°ã¡ã³ãã§ARMãšã³ã·ã¹ãã ãæ§ç¯ããã¿ã¹ã¯ã«é©çšãããçµéšããåŠãã éèŠãªæèšãèŠçŽããŸãããããããã®æ¹æ³ã§ã®ã¿ãã¢ãŒããã¯ãã£ãã¿ãŒã²ããåžå Žã»ã°ã¡ã³ããå ããããšãã§ããŸãããã ãããšã³ã·ã¹ãã ãéçºããããšãããã¯èªç¶ã®é²åŸ¡ã¡ã«ããºã ãšããŠæ©èœããç«¶åããã¢ãŒããã¯ãã£ãåžå Žã«åå ¥ããã®ãé²ããŸãããã®èšäºã§ã¯ããµãŒããŒåžå Žã»ã°ã¡ã³ãã§ARMãšã³ã·ã¹ãã ãæ§ç¯ããã¿ã¹ã¯ã«é©çšãããçµéšããåŠãã éèŠãªæèšãèŠçŽããŸãããããããã®æ¹æ³ã§ã®ã¿ãã¢ãŒããã¯ãã£ãã¿ãŒã²ããåžå Žã»ã°ã¡ã³ããå ããããšãã§ããŸãããã ãããšã³ã·ã¹ãã ãéçºããããšãããã¯èªç¶ã®é²åŸ¡ã¡ã«ããºã ãšããŠæ©èœããç«¶åããã¢ãŒããã¯ãã£ãåžå Žã«åå ¥ããã®ãé²ããŸãããã®èšäºã§ã¯ããµãŒããŒåžå Žã»ã°ã¡ã³ãã§ARMãšã³ã·ã¹ãã ãæ§ç¯ããã¿ã¹ã¯ã«é©çšãããçµéšããåŠãã éèŠãªæèšãèŠçŽããŸãã
仿¥ã®ææŠ
仿¥ãç§ãã¡ã¯ãã€ã¯ããšã¬ã¯ããªãã¯åžå Žã§æãè峿·±ãææãç®ã®åœããã«ããŠããŸãã5幎åãšã¯ç°ãªããIntelãäŒæ¥åžå Žã®95ïŒ ãæ¯é ããŠãããšãã仿¥ã§ã¯ãããŸã§ä»¥äžã«å€ãã®ã¢ãŒããã¯ãã£ã®é©æ°ããããŸããã€ã³ãã«ãšçå£ã«ç«¶åããRyzenã·ãªãŒãºãããã«ã€ããŠæåã«èšåããŸãã ããã ãããã®é©æ°ã¯ã¢ãŒããã¯ãã£ã®é©æ°ã§ã¯ãããŸãããAMDããã»ããµã¯éçºãããx86ãšã³ã·ã¹ãã ã䜿çšããŸãããããã®å©ç¹ã¯ãå¹ççãªå®è£ ã«ãããŸããä»ã®ã€ãããŒã·ã§ã³ã¯ãæ°ãããœãããŠã§ã¢ãšã³ã·ã¹ãã ãæ§ç¯ããå¿ èŠããããããããè峿·±ããã®ã§ãã
NVidiaã«ãã£ãŠéæããäž»å°ãããã人工ç¥èœé©åœãã¯ããµãŒããŒåžå Žã®å±æã«é©åœããããããŸããã圌女ã¯ãŸã£ããæ°ããã»ã°ã¡ã³ããäœæãããã®äœæè ã«ãã£ãŠã»ãŒç¬å çã«ç®¡çãããŠããŸãããããã¯ãCUDA䞊åããã°ã©ãã³ã°ãã©ãããã©ãŒã ã«åºã¥ã㊠ããŸãã CUDAïŒ2007å¹Žã«æåã«å°å ¥ãããïŒã¯ããšã³ã·ã¹ãã ãæ§ç¯ããè峿·±ãäŸã®1ã€ã§ããããã«ã€ããŠã¯ãåŸã§è©³ãã説æããŸããæ¬¡ã«ãIntelã¯ã人工ç¥èœã®åéã§ç«¶äºããããã«ãç¬èªã®GPUïŒäžéšã¯Genã°ã©ãã£ãã¯ã·ã¹ãã ã«åºã¥ãïŒãå°å ¥ããããšããŠããŸã ã Intelãããã°ã©ãã³ã°ç°å¢ãäœæããããã®OneAPIããŒã«ããããå°å ¥ ..ãããã¯ãã¢ã¯ã»ã©ã¬ãŒã¿ïŒGPUãAIãFPGAãªã©ïŒãããã°ã©ãã³ã°ããããã®æ®éçãªæ¹æ³ã®éå¿çãªæŠå¿µã§ããããã«ãIntelã¯OneAPIã«ãªãŒãã³ãœãŒã¹ã䜿çšããŠãããããã¯ããŒãºããœãŒã¹ã¢ãã«ãããã€ã³ã¿ãŒãã§ã€ã¹ãé åçã§ããData Parallel C ++ã¯ãOneAPIã®æŠå¿µã«ãããŠäžå¿çãªåœ¹å²ãæãã ãŸããããã¯ãCYCLæšæºã«åºã¥ãC ++æ¡åŒµæ©èœã®ã»ããã§ãããã®è峿·±ã詊ã¿ãæåãããã©ããã¯ãå°æ¥ã®C ++æšæºã«ãããã®æ¡åŒµæ©èœãå«ãŸãããã©ããã«ããã£ãŠããããã«æãããŸãããŸããIntelã®GPUã®å¹æçãªå®è£ ããããææ°ã®äŸã¯ãARMã¢ãŒããã¯ãã£ã®æµžé ã§ãã人工ç¥èœãã¯ã©ãŠãã髿§èœã³ã³ãã¥ãŒãã£ã³ã°ã®åéã«ã ARMã¢ãŒããã¯ãã£ã¯ãäœé»ååžå Žã§ã®æåã§ç¥ãããŠãããéèŠãªãœãããŠã§ã¢ãšã³ã·ã¹ãã ãåããŠããŸãããããã£ãŠãããé«ãåžå Žã»ã°ã¡ã³ãã«æµžéããããšãã詊ã¿ã¯èªç¶ã«èŠããŸããããã¯ç§ãã¡ã«ãšã£ãŠæãè峿·±ãã±ãŒã¹ã§ãããããŸããŸãªèгç¹ããããè©³çŽ°ã«æ€èšããŸãã
æè¡ ããã§ç޹ä»ãã
æè¡çèæ¯ ã çµæž
AMDããIntelãžã®ç«¶äºã®æ¿åã¯ãããã»ããµã®å·šäººã®éã§é倧ãªãäŸ¡æ ŒæŠäºããåŒãèµ·ãããŸãããããã«ããããããã¥ãŒãµãŒã®åçã¯åæžãããŸããããšã³ããŠãŒã¶ãŒã®çæŽ»ã¯æ¥œã«ãªããŸããããã©ãããã人工ç¥èœã®åéã§ã¯ãåžå Žãžã®äŸ¡æ Œã決å®ããNVidiaã®åªäœæ§ãèŠãããŸãããããŠããã§ãæ¶è²»è ã¯ããç©æ¥µçã«ä»£æ¿ã·ã¹ãã ãæ¢ããŠããŸãã
æ¿æ²»
å°æ¿åŠçç·åŒµã®é«ãŸãã«é¢é£ããŠãäžåœãšãã·ã¢ã¯100ïŒ ç¬ç«ãããšã³ã·ã¹ãã ã®éçºã®ããã®ã³ãŒã¹ãèšå®ããŸããããã ããããã¯ããŒããŠã§ã¢ã®ç¬ç«æ§ä»¥äžã®ãã®ãæå³ããŸãããœãããŠã§ã¢ãåæ§ã«éèŠãªåœ¹å²ãæãããŸããå€ãã®ã¢ããªã±ãŒã·ã§ã³ã¯ãçã®ç¬ç«æ§ã®ããã«ç§»è¡ãŸãã¯äº€æããå¿ èŠããããŸããäžã®åçã¯ãã·ã¢ã®ç¶æ³ã瀺ããŠããŸãã
æ¿æ²»çèŠå ã«ããããœãããŠã§ã¢ã®ã®ã£ãããåããããã®ãªãœãŒã¹ãšããããã®åãçµã¿ã«å¯Ÿããé·æçãªãµããŒãã«å¯Ÿãã匷ãéèŠãçãŸããŸãã ARMãšã³ã·ã¹ãã ã®äœæã®èåŸã«ã¯ããã€ãã®åŒ·åãªåããããŸããããããéåžžã«æ·±å»ãªåé¡ããããŸãããããã®ããã€ããæããããŠãã ããã
å žåçãªåææ®µéã®é¶èãšåµã®åé¡
ããã€ãã®åçšã¯ããŒãºããœãŒã¹ã¢ããªã±ãŒã·ã§ã³ã¯ãéèŠãªã»ã°ã¡ã³ãã®äºå®äžã®æšæºã«ãªãã€ã€ãããŸããããšãã°ãSAP-Hanaã Oracle for databaseã VMWareä»®æ³åãªã©ã«ãéåžžãéçºè ã¯ãååãªåžå Žã·ã§ã¢ãæããªãã¢ãŒããã¯ãã£ã§è£œåãç§»æ€ããã³ä¿å®ããããšã«é¢å¿ããããŸãããäžæ¹ããšã³ããŠãŒã¶ãŒã¯ããœãããŠã§ã¢ããµããŒãããŠããªãããŒããŠã§ã¢ãè³Œå ¥ããŸããããã®æªåŸªç°ãæã¡åãã«ã¯ããã€ãã®æ¹æ³ããããŸãã 1ã€ç®ã¯ãç§»æ€ã®ããã«ãœãããŠã§ã¢äŒç€Ÿã«ïŒå·šé¡ã®ïŒãéãæ¯æãããšã§ãã 2ã€ç®ã¯ã補åãåžå Žãã远ãåºãããç®çã®ç§»æ€ã匷å¶ããç«¶äºåã®ãããœãªã¥ãŒã·ã§ã³ãäœæããããšã§ãã 3ã€ç®ã¯ã倧æã«ã¹ã¿ã éçºè ã®1人ã«åœŒããããã·ã¥ããããã説åŸããããšã§ãããã ããã©ã¡ãã®ã«ãŒããç°¡åã§ãå®äŸ¡ã§ããããŸããã
ã¬ã¬ã·ãŒãœãããŠã§ã¢
ãµãŒããŒåžå Žã®ã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã¯ãäž»èŠãªx86ã¢ãŒããã¯ãã£çšã«äœå幎ã«ãããã£ãŠäœæããã³æé©åãããŠããŸãããæç€ºçãŸãã¯æé»çã«ãå€§èŠæš¡ãªäžŠååŠçãããã·ã³ã°ã«ã¹ã¬ããã®ããã©ãŒãã³ã¹ã«éç¹ã眮ãããŸããããããã£ãŠããœãŒã¹ã³ãŒããå©çšå¯èœãªå Žåã§ããARMãµãŒããŒã§æ£åžžã«å®è¡ããã«ã¯ãå€§å¹ ãªããçŽããšæé©åãå¿ èŠã«ãªãå ŽåããããŸãã
å°å¹³ç·äžã«ã¯å€ãã®åé¡ãããããããã解決ããã«ã¯ç ç©¶ããå¿ èŠããããŸã
éå»ããã®æèš
ããŸããŸãªã¢ãŒããã¯ãã£ãšãœãããŠã§ã¢ãšã³ã·ã¹ãã ã®æŽå²ã¯ã圌ãã«ãšã£ãŠããªãè峿·±ããããã¯ã§ãããæå°éã®ã«ãã¬ããžã§ããããã®èšäºã®éãå€§å¹ ã«è¶ ããŠããŸãïŒããã€ãã®è«æã«ã¯ååã§ãïŒããããã£ãŠãçŸåšã®ç¶æ³ãããã²ãŒãããã®ã«åœ¹ç«ã€å¯èœæ§ã®ããããã€ãã®æ³šç®ãã¹ãã±ãŒã¹ã«ã€ããŠèª¬æããŸãã
åæã®
é ãIntelãæåã®8ããã8080ããã»ããµã70幎代åã°ã«ãªãªãŒã¹ãããšã ãç«¶åä»ç€Ÿã®Motorola6800ãŸã㯠ZilogZ80ã«æ¯ã¹ãŠã¢ãŒããã¯ãã£äžã®å©ç¹ã¯ã»ãšãã©ãããŸããã§ãã ã..ãããã§ããIntelã¯ãããŒããŠã§ã¢ã®å®£äŒã«ããããœãããŠã§ã¢ã®éèŠæ§ãæåã«èªèããŸããã圌女ã¯ãŸãããœãããŠã§ã¢éçºã®ã¹ããŒãã¢ãããç°¡çŽ åãããã³ã³ã¹ãåæžã®ããã«ç¬èªã®ã³ã³ãã€ã©ãŒãæåã«å°å ¥ããŸãããããã¯ãIntelã«éèŠãªç«¶äºäžã®åªäœæ§ããããããæ©ãæ®µéã§æåãããããã®ããŒã«ã§ããã Intelã¯åŸã«ç·åœ¢ä»£æ°VTuneçšã®MKLã å°å ¥ããŸãã ããã°ã©ã ã®æé©åããx86ãšã³ã·ã¹ãã ã®åœ¢æã«éèŠãªåœ¹å²ãæãããŠããä»ã®å€ãã®ããŒã«ãããã«ãIntelã¯ããŒã«ã®äºææ§ãä¿èšŒããŠããŸãããã®åŸãIntelã¯ãããŒããŠã§ã¢ã®åäœãå¶åŸ¡ããOSã®éèŠæ§ãèªèããŸããããã€ã¯ããœããïŒWintelïŒãšã®é£æºã¯ãçŽ30幎éãPCåžå Žã§æ¯é çãªå¢åã«ãªããŸããããã ãããµãŒããŒåžå Žã®çºå±ã«äŒŽããLinuxãšãªãŒãã³ãœãŒã¹å šè¬ãéåžžã«éèŠã«ãªã£ãŠããŸãããããã£ãŠãIntelã¯Linuxã«ãŒãã«ã®äž»ãªè²¢ç®è ã«ãªããäŸç¶ãšããŠ1äœã«ããŸãïŒ2äœã¯èª°ã ãšæããŸããïŒïŒãæãéèŠãªããšã¯ãIntelã¯åžžã«ãã©ãããã©ãŒã ã®ãã€ããªäºææ§ïŒåŸæ¹äºææ§ïŒãå³å®ããŠããŸãããåäžä»£ã®ã¢ãŒããã¯ãã£çšã«äœæããããã€ããªãåŸã®äžä»£ã§ããã«æ©èœãããšããäºå®ã¯ããããŠx86ãæ¯é çãªåã«ãªãããšãå¯èœã«ããŸããããšã³ã·ã¹ãã ã®æ§ç¯ã«ã¯æéãããããŸãããããã ãã®äŸ¡å€ã¯ãããŸãã
æ¥ã®åºã𿥿²¡
ããã¯ãéçºããããšã³ã·ã¹ãã ããã®äœæè ãšå¯ŸæŠããå¯äžã®åäŸã§ãã 2000幎代åé ã«ã¯ã Sun MicrosystemsãSPARCãµãŒãåžå Žã«ãããéèŠãªããããæã£ãŠããŸãããå瀟ã¯Javaãšã³ã·ã¹ãã ãéå§ããã³éçºããŸãã ããã ããåé¡ã¯ãJavaãã·ã³ãã³ã³ãã€ã©ã§ã¯ãªãã€ã³ã¿ããªã¿ã«åºã¥ããŠããããšã§ãããããã£ãŠãç¶æ³ã«ãã£ãŠSunãJavaãéãããšãäœåãªãããããšããããã¯çµããã®å§ãŸãã§ããã x86çšã®Javaã€ã³ã¿ãŒããªã¿ãŒãå®è£ ããããšã«ãããIntelã¯åŸã ã«SunããµãŒããŒåžå Žãã远ãåºããŸãããåŠã¶ã¹ãæèšã¯ãè§£éãããèšèªïŒä»æ¥éåžžã«äººæ°ããããŸãïŒã¯å¹æçãªåžå Žã·ã§ã¢ã®æè·è ã§ã¯ãªããšããããšã§ãã
äœé»ååžå Žã§ã®ARMã®æå
ã¯ãŒã¯ã¹ããŒã·ã§ã³ã¢ãŒããã¯ãã£ã¯ã2000幎代åé 以æ¥ãæºåž¯é»è©±ãã¿ãã¬ããã®åžå ŽããªãŒãããŠããŸããããã®åªäœæ§ã®æ§è³ªã¯ãPCããµãŒããŒã®x86ãšã¯å€§ããç°ãªããŸãã ARMã¯ãªãŒãã³ã³ãã¥ããã£ã§ããã©ã€ã»ã³ã¹ã¯æ¯èŒçå®äŸ¡ã§ããããã倿°ã®ãã¬ãŒã€ãŒãã²ãŒã ã«åå ããããã®åææ¡ä»¶ãäœæãããŸãããŸãããªãŒãã³ãªAndroidãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãããåå ¥ã®éå£ãããã«è»œæžãããŸãããŸããäž»èŠãªãã¬ãŒã€ãŒïŒSamsungãQualcommãHuaweiãªã©ïŒããšã³ã·ã¹ãã ãäœæããããã®ç£æ¥åçã®å¿ èŠæ§ãèªèãããšãã«ã圹å²ãæãããŸãããããã«ãããéåžžã«çæéã§æ§ç¯ããããšãå¯èœã«ãªããŸããã
ã¢ãã€ã«åžå Žã«äŸµå ¥ããã€ã³ãã«ã®è©Šã¿
2007幎é ãIntelïŒãŸãã¯å°ãåïŒã¯æºåž¯é»è©±ãšã¿ãã¬ããåžå Žã®å¯èœæ§ãèªèãããããåŸæããããšããŸããããã®ãããžã§ã¯ãã¯ãAtomã¢ãŒããã¯ãã£ïŒäœæ¶è²»é»åã®x86ïŒãšARMããx86ïŒHoudiniïŒãžã®ãã€ããªå€æã«åºã¥ããŠããŸãã ããã®ã¡ã«ããºã ã¯ãæ¢åã®ãœãããŠã§ã¢ãšã³ã·ã¹ãã ãæŽ»çšããŸããã¢ããªã±ãŒã·ã§ã³ã¯ãèšé²çãªéãã§Intelããã€ã¹äžã§èµ·åãããŸããããããã2ã€ã®äºå®ãIntelãšå¯ŸæŠããŸããã 1ã€ç®ã¯ãé»åæ¶è²»ã®èгç¹ããARMã«è¿œãã€ãããšãã§ããªãããšã§ãã 2ã€ç®ã¯ãRISCããããè€éãªCISCåœä»€ã»ãããžã® ãã€ããªå€æã®è€éãã§ãã ..ããã®å€æã«ã¯ãäžéšã®ã¯ã©ã¹ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯åãå ¥ããããªãå¯èœæ§ã®ãã倧ããªãªãŒããŒããããå«ãŸããŸãããã®ããã«ããã€ããªæŸéã¯åžå Žåå ¥ããŒã«ãšèŠãªãããšãã§ããŸãããé·æçãªè§£æ±ºçãšããŠã¯ã»ãšãã©åœ¹ç«ã¡ãŸããã
ãšã³ã·ã¹ãã CUDA
AIã»ã°ã¡ã³ãã§ã®Nvidiaã®æåã¯åŠå®ã§ããŸããããç¬èªã®CUDAãšã³ã·ã¹ãã ã®éçºã¯äŸç¶ãšããŠç§ã®çåãæèµ·ããŸããããšãã°ã髿§èœã³ã³ãã¥ãŒãã£ã³ã°ã®åéã§ã¯ãCUDAã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®å²åã¯ãŸã äœãã§ãããã®çç±ã¯ããã®ãããªã¢ããªã±ãŒã·ã§ã³ã®ç§»æ€ãšä¿å®ã«é«ãã³ã¹ãããããããã§ããäžéšã®éçºè ã¯ïŒNVidiaãšã³ãžãã¢ã®å€å€§ãªæ¯æŽãåããŠïŒã³ãŒããç§»æ€ããŸãããããµããŒãã®ã³ã¹ãã®ããã«åŸã§ããããæŸæ£ããŸãããããã©ãããã人工ç¥èœã®åéã§ã¯ãNidiaã®ç«å Žã¯éåžžã«åŒ·ãã§ãããã ããç ç©¶è ã¯äž»ã«é«ã¬ãã«ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãïŒ TensorFlowã PyTorchãªã©ïŒãCUDAã§çŽæ¥ããã°ã©ãã³ã°ããªãã§ãã ãããããã«ãããããœãããŠã§ã¢ããŒãã¹ãã«é©åãªã¬ãã«ã®æœè±¡åãéžæããããšããããŒããŠã§ã¢ã®é²æ©ã«ãšã£ãŠéåžžã«éèŠã§ãããšããçµè«ã«è³ããŸãã
ããã¯ã»ãã¥ã»ã¶ã»ãã¥ãŒãã£ãŒ
ããã§ã¯ãéå»ã®æèšãæŠåšã«ãç§ãã¡ã®ä»äºã«æ»ããŸãããã
æ¥çã¢ã©ã€ã¢ã³ã¹
ã¢ãã€ã«ãšã¯å¯Ÿç §çã«ããµãŒããŒã»ã°ã¡ã³ãã®ARMãšã³ã·ã¹ãã ã®æå€§ã®åé¡ã¯ãããããŸã éåžžã«æçåãããŠããããšã§ããåªåã調æŽããããã«ãããçš®ã®é åã®äžå¿ãå¿ èŠã§ãããµãŒããŒåžå Žã«ããããã¹ãŠã®ARMãã³ããŒã®ã·ã§ã¢ãçŽ1ïŒ ã§ããããšãèãããšããã®ææºã¯éåžžã«èªç¶ãªããšã®ããã«æãããŸãã圌ãã¯åã«ç«¶äºããçç±ããããŸãããå ±åã§ãšã³ã·ã¹ãã ãæ§ç¯ããã¿ã¹ã¯ã¯ããããã®éã®å·®å¥åãããåªå ãããã¹ãã§ãããã®ãããªåçãäœãããã«å€ãã®è©Šã¿ããªãããŠããŸããã ãªãŒãã³ã°ãªãŒã³ã³ã³ãã¥ãŒãã£ã³ã°ã³ã³ãœãŒã·ã¢ã
ã«ã€ããŠèšåããããšãã§ã ãŸãïŒopenGCC-ããã°ã©ããŒããã£ãšé¢šå€ãããªååãèããã®ã¯é£ããã§ãïŒããããŠAPCITå ã®ARM Advanced TechnologyCommitteeã®äžã§ã®æè¿ã®åãçµã¿ ãããã¯è¯ãã¹ã¿ãŒããããããŸããããã©ã¡ããå°å ã®åçã§ãã Open GCCã¯äžåœã®çµç¹ã§ãããAPKITã¯ãã·ã¢ã®çµç¹ã§ããæ¥çã¯ãè€æ°ã®ç®çã«åœ¹ç«ã€ããšãã§ããã°ããŒãã«ã¢ã©ã€ã¢ã³ã¹ã®å¿ èŠæ§ãæç€ºããŠããŸãïŒ
åæãšèŠå¶åœå±ãžã®åœ±é¿
ãŸãããœãããŠã§ã¢ãç°ãªããã³ããŒã®ãã©ãããã©ãŒã éã§ç§»æ€å¯èœã§ããããšãä¿èšŒããããã«ãARMãã³ããŒèªäœã®éã§äœããã®åæãå¿ èŠã§ãã第äºã«ãåœéããã³åœå ã®åºæºæ©é¢ãšååããæ©äŒãæäŸããŸãã第äžã«ãæ°ããARMãšã³ã·ã¹ãã ãæ¢åã®ãšã³ã·ã¹ãã ã®å®è¡å¯èœãªä»£æ¿ææ®µãšããŠæ©èœã§ãããšãã匷åãªã·ã°ãã«ãæ¿åºã瀟äŒã«éä¿¡ããŸãããã®äºå®ã¯å®å šã«ã¯å®çŸãããŠããŸãããã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã³ã¢ããªã±ãŒã·ã§ã³ã®ãµãã©ã€ã€ãšã®é£æº
çµéšãããããããã«ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ãœãããŠã§ã¢ãšã³ã·ã¹ãã ã®æ§ç¯ã«ãããŠäžå¿çãªåœ¹å²ãæãããŸãããŸããããŒããŠã§ã¢ãã³ããŒã«ãã£ãŠéçºãããOSã¯ãæŽå²çã«ããŸãæåããŠããªãããšã«æ°ä»ããããããŸããïŒAppleãé€ãïŒããããã£ãŠãOSãã³ããŒãšååããããšã¯æŠç¥çã«éåžžã«éèŠã§ããããã¯çŸåšéšåçã«çºçããŠããŸããææ°ããŒãžã§ã³ã®Linuxã«ãŒãã«ãã³ã³ãã€ã©ãããã³glibcã«è¡šç€ºãããããããã¢ããããŒãã«ãããããŸããŸãªã¯ãŒã¯ããŒãã§ARMã·ã¹ãã ã®ããã©ãŒãã³ã¹ãåäžããŸãããããããããã®åãçµã¿ã¯äŸç¶ãšããŠéåžžã«çްååãããŠãããåãã³ããŒãç¬èªã«ãããè¡ã£ãŠãããéåžžã¯ããªãé·ãæéãããããŸããã¢ã©ã€ã¢ã³ã¹ã¯ããããã®åãçµã¿ãåæãããã¢ããããŒãã®æ¡çšãä¿é²ããã®ã«åœ¹ç«ã¡ãŸãã
ãŸããã¢ãŒããã¯ãã£ã®é²æ©ã®æ©ã段éã§é¶èãšåµã®åé¡ã解決ããããšã¯éåžžã«é£ããå ŽåãããããšãããããŸããããã®ææºã¯ããœãããŠã§ã¢ãã³ããŒãšã®äº€æžã«ãããŠè¿œå ã®ã¬ãã¬ããžãæäŸããããŒããŠã§ã¢ã¡ãŒã«ãŒéã§æ©æããã¢ãŒã·ã§ã³ã®è² æ ãåæ ããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸãã
ãœãããŠã§ã¢é åžã·ã¹ãã ããã§ã®
3çªç®ã®éèŠãªãã€ã³ãã¯ãœãããŠã§ã¢é åžã§ããçŸåšãARMãµãŒããŒãœãããŠã§ã¢ã¯éåžžãœãŒã¹ããæ§ç¯ãããŠãããæéãšããŒããŠã§ã¢ãªãœãŒã¹ãå¿ èŠã§ãã x86ã®å Žåãé åžã«äœ¿çšããã䟿å©ãªRPMããŒã¹ã®ã¹ããŒã ããããŸãããã®ãããªããšãè¡ãã«ã¯ãISVããã³ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã³ããŒãšã®å€ãã®äœæ¥ãå¿ èŠã«ãªããŸãããããŠãåçã¯ãã®æ¹åãå©ããã®ã«éåžžã«åœ¹ç«ã€ããšãã§ããŸãã
广çãªããŒã«ã®äœæ
ãããŸã§ããœãããŠã§ã¢ããŒã«ã¯ãšã³ã·ã¹ãã éçºã®ããã®ä¿¡é Œã§ããããŒã«ã§ããããšã蚌æãããŠããŸãããããã£ãŠãããããžã®æ³šæã¯ä»æ¥éåžžã«éèŠã§ããæè¯ã®äŸã®1ã€ã¯ã以äžã«ç€ºãããã«ããœãããŠã§ã¢éçºè ãšã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã1ã€ã®çµç¹ã«çµ±åããIntelCorporationã§ããèµ€ã¯éèŠãªçžäºäœçšã瀺ããç·ã¯å®æçãé»è²ã¯æ£çºçã§ããããšã瀺ããŸãã
ããã«ãããããŒã«éçºè éã®ç·å¯ãªã³ã©ãã¬ãŒã·ã§ã³ãä¿èšŒãããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ïŒAEïŒã¯æ¥çã§æé«ã®ããŒã«ã䜿çšã§ããŸããåãã¯ãŒã¯ããŒããå®è¡ããŠããAEã¯ãäºãã«ç¥èãå ±æããããŒããŠã§ã¢ã¢ãŒããã¯ãã«çµ±åããããã£ãŒãããã¯ãæäŸããŸããçãçãããããã¹ãŠãè峿·±ãçŸè±¡ã«ã€ãªãããŸããããã®ãããªçµç¹ã§åããšã³ãžãã¢ã¯ã補åã ãã§ãªãããšã³ã·ã¹ãã å šäœã®å šäœåã«ã€ããŠãèãå§ããŸããããããã¯ãçžäºäŸåæ§ããšã³ã·ã¹ãã å šäœãžã®åœ±é¿ãèæ ®ã«å ¥ããŠã
ãŸããããã®ãããªçµç¹ãäœãããã«ã¯ããã¹ãŠã®é¢ä¿è ãã³ãã¥ãã±ãŒã·ã§ã³ã«äœ¿çšã§ããäžçš®ã®ãå ±éèšèªããå¿ èŠã§ããããæç¹ã§ ãTMAMãã€ã¯ãã¢ãŒããã¯ãã£åææ¹æ³ã¯ãã®ããã«ãªããŸããã
TMAMã¯ããã€ã¯ãã¢ãŒããã¯ãã£ã€ãã³ããåéãè§£éãããã³äœ¿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®ãããã¡ã€ã«ãšæé©åãè¡ãæ¹æ³ãæäŸããŸãã
ãã®æ¹æ³ã®æãéèŠãªå©ç¹ã¯ãããŒããŠã§ã¢ã§äœãèµ·ãã£ãŠãããã客芳çã«ææ¡ããããŒããŠã§ã¢ãšãœãããŠã§ã¢ã®äž¡æ¹ãæ¹åã§ããããšã§ãããããããããããã£ãšéèŠãªããšã¯ãããã¯å¹æçãªããŒããŠã§ã¢ããã¢ãŒã·ã§ã³çµç¹ãæ§ç¯ããããã®ãŠããŒã¯ãªææ®µã§ãã
çµè«
ãµãŒããŒåžå Žã§ARMãšã³ã·ã¹ãã ãæ§ç¯ããããšã¯ãçµæžçãæ¿æ²»çãæè¡çãªèгç¹ããææã«èŠããŸãããã ããããã¯ãæ¯é çãªx86ã¢ãŒããã¯ãã£ãšã®æ¿ããç«¶äºãèæ¯ã«è¡ãããŠããŸããããã«ãé«åºŠãªã¢ãŒããã¯ãã£ã®åæã®åé¡ã¯ãŸã 解決ãããŠããŸããããã ããå°æ¥çã«ã¯ãARMããµãŒããŒåžå Žã§æ·±å»ãªåã«ãªãå¯èœæ§ããããšæããŸããã°ããŒãã«ãªç£æ¥åçãšå¹æçãªçæ ç³»æ§ç¯çµç¹ã®åµèšã¯éåžžã«æãŸããããã§ãã
ãµãŒããŒåžå Žã§ARMãšã³ã·ã¹ãã ãæ§ç¯ããããšã¯ãçµæžçãæ¿æ²»çãæè¡çãªèгç¹ããææã«èŠããŸãããã ããããã¯ãæ¯é çãªx86ã¢ãŒããã¯ãã£ãšã®æ¿ããç«¶äºãèæ¯ã«è¡ãããŠããŸããããã«ãé«åºŠãªã¢ãŒããã¯ãã£ã®åæã®åé¡ã¯ãŸã 解決ãããŠããŸããããã ããå°æ¥çã«ã¯ãARMããµãŒããŒåžå Žã§æ·±å»ãªåã«ãªãå¯èœæ§ããããšæããŸããã°ããŒãã«ãªç£æ¥åçãšå¹æçãªçæ ç³»æ§ç¯çµç¹ã®åµèšã¯éåžžã«æãŸããããã§ãã
ãã·ã¢ã¯ãå€ãã®èгç¹ããARMãšã³ã·ã¹ãã ãæ§ç¯ããããã®æãææãªåéã®1ã€ãšèŠãªãããŠããŸããæ å ±ã®ç¬ç«ã«å¯Ÿããæ¿åºã®åãçµã¿ã¯ããã®ã€ãã·ã¢ãããé·æçã«æ¯æŽããŸãããã ããARMãšã³ã·ã¹ãã ã®å¯èœæ§ã¯ãæ¿åºã¬ãã«ã§ã¯ãŸã å®å šã«ã¯å®çŸãããŠããŸãããç§ãã¡ã®å£°ãèãããã«ã¯ãçå£ãªåãçµã¿ãå¿ èŠã§ãããã1ã€ã®çç±ã¯ãæ¯èŒç倧ããªåžå Žãšããã©ã€ããŒããšãããªãã¯ã®äž¡æ¹ã®ã«ã¹ã¿ã ãã©ã³ãã®å€æ§æ§ã§ããããšãã°ããªãœãŒã¹ãæœåºãã巚人ïŒGazpromãLukoilãRosneftïŒã倧æéè¡ïŒSberbankãVTBãAlphaïŒãã¢ãã€ã«ãµãŒãã¹ãããã€ããŒïŒMTCãMegafonãBeelineãTele2ïŒã«ååãä»ããããšãã§ããŸããã»ãã¥ãªãã£ãšäŸ¡æ Œèšå®ã®äž¡æ¹ã®èгç¹ãããæ¢åã®ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒx86ãIBMãOracleïŒã«ä»£ãããã®ã®å¿ èŠæ§ã«å¯Ÿããèªèãé«ãŸã£ãŠããŸãã
ãããŠæåŸã«ãªããŸãããã人çè³æºããã·ã¢ã«ã¯ãçæ ç³»ã®åé¡ã解決ããçµéšãããããããã®çšèªã§èããããã°ã©ããŒãããããããŸãã