å社GPU SDKæ¯è¼
çµã¿è¾¼ã¿GPUã販売ãã¦ããå社ã¯ãåã
ã®GPUã«å¯¾å¿ããSDKãåæ§ã«æä¾ãã¦ããããªãã¨ããããå社ã®çµé¨ãªã©ãè¦ãã¦èå³æ·±ãã
å¤ãã®SDKã¯NDAã§ä¿è·ããã¦ããã®ã§ãããã©ã¼ãã³ã¹ãå«ãã使ãåæã¬ãã¥ã¼ãæ¸ããªãã®ãå¾®å¦ã(å社ã®ãã¬ã¼ã³ãªã©å
¬éè³æã§æ¸ããã¦ããªããã®ã¯ãã£ã¡ã«ãæ¸ããªã - youtubeçã§æ¤ç´¢ããã¨å
¬å¼åç»ãç½®ãã¦ãããã¨ã¯ãããªãã«æãããã)
ä¸è¬çãªSDKæ§æ
åºæ¬çã«ãSDKã¯ä»¥ä¸ã®ã³ã³ãã¼ãã³ãã¨ããã¥ã¡ã³ãã§æ§æããããã¨ãå¤ãã
- ã·ã§ã¼ãã®ãªãã©ã¤ã³ã³ã³ãã¤ã©ãAndroid端æ«æ¬ä½ã«å èµããã¦ããã³ã³ãã¤ã©ã¨åæ§ã®ãã®ãWindowsã§åä½ãããããããã«CLIãä»ä¸ãããã®ãå¤ãã
- ãã¯ã¹ãã£ã®ã¨ã³ã³ã¼ã/å§ç¸®ãã¼ã«ãOpenGL ES2.0ã§æ¨æºåããã¦ãããã¯ã¹ãã£å§ç¸®ã¯ã¡ãã£ã¨æ®å¿µãªã¹ããã¯ãªã®ã§ãå社ã®GPUã¯ç¬èªã®ãã¯ã¹ãã£å§ç¸®ã¢ã«ã´ãªãºã ãæä¾ãã¦ããããããã®ããã®ãªãã©ã¤ã³å§ç¸®ãã¼ã«ãæä¾ãã¦ããããããæä¾ãã¦ããªãSDKã¯ç¡ãããã«ã¿ããããã¯ã¹ãã£ã®å§ç¸®ã¯ã¡ã¢ãªå¸¯åã®åæ¸ã«ç´çµãããããçµã¿è¾¼ã¿GPUã§ã¯é常ã«éè¦ãªãã®ã¨ãªãã
- APIã¨ãã¥ã¬ã¼ã¿ãGPUã§æä¾ãã¦ããOpenGL ESãªã©ã®APIãã¨ãã¥ã¬ã¼ã·ã§ã³ããããã®DLLé¡ãç¹ã«OpenGL 4.xæ代ãæ¥ãã¾ã§ã¯ãã¹ã¯ãããã§OpenGL ESã¯ä½¿ããªããåç¶ã ã£ãã®ã§ããããªãã«åå¨æ義ããã£ãã
- ããã©ã¼ãã³ã¹ã«ã¦ã³ã¿ã®åé/表示ãã¼ã«ãåã ã®GPUæé©åã§ã¯ä¸å¿çãã¼ã«ã«ãªããããµãã¼ãã®å¹ ã¯æ§ã ã
- ããã¥ã¡ã³ãã¼ã·ã§ã³
ãããã®æ ã«å½ã¦ã¯ã¾ããªããã¼ã«ã¯èå³æ·±ãããã¨ãã°ãAdrenoã¯å°ç¨ã®ã¢ã»ãããªããã£ãã¤ã¶ãæä¾ãã¦ãããAdrenoã¨Nvidiaã¯ããã«CPUå´ã®å°ç¨ã³ã³ãã¤ã©ãæä¾ãã¦ããã
IMGãQualcommãnVidiaãARMã®ããã¥ã¡ã³ãã¯ãããªãã®æé©åã¬ã¤ããå«ãã§ãã¦åèã«ãªãã®ã§ãªã¹ã¹ã¡ã¨è¨ãããæå
ã«å®æ©ããªãã£ãã¨ãã¦ãã²ã¨éãèªãã§ãããããOpenGL ESãªã²ã¼ã ã¨ã³ã¸ã³ããã¶ã¤ã³ããã¾ãã«ããããã®ããã¥ã¡ã³ãã§æ¨å¥¨ããã¦ããå®è¡ã¹ã¿ã¤ã«ã®å®è£
ãåæã«ãããã¨ãå¿
è¦ã«ãªãã(ä¾ãã°ã帯åãç¯ç´ããããã«èæ¯ãæå¾ã«æãã¨ãã£ããã¯ããã¯çã)
ãããªãã¯ã«SDKãæä¾ãã¦ããªããã³ã
BroadcomVideoCoreã¯Raspberry Piã®ãããªæåãªDesign winãæãã®ã«SDKãå
¬éããã¦ããªãããã¾ãç±å¿ã«VideoCoreåãã®æé©åãè¡ã人ã¯ããªããã ããããã
æ¥ç³»ã®ãã³ããSDKãæä¾ãã¦ããªããNintendo 3DSã§æåã«ãªã£ãDMPã¯OpenGL ES 2.0ã®ã³ã¢(SMAPH)ãæä¾ãã¦ãã¦SDKãåå¨ããããä¸è¬ã«ã¯æä¾ããã¦ããªã(ããããDesign winãç¡ãã®ã§ãä¸è¬éçºè
ãã³ã¼ããåä½ãããæ¹æ³ãç¡ã)ãDMPã¯ã»ãããæä¾ãã¦ããã®ã§ãããã§è§¦ããã¨ã¯ã§ããã
PC-FXGAã®è¡ãå¼ãTAKUMIãOpenGL ES 2.0ã®ã³ã¢ãæä¾ãã¦ãããããã®ã³ã¢ã®ãã¨ã¯å
¨ãç¥ããªãã
(ä»ã«ãè²ã
ãªConformant productsãæã: http://www.khronos.org/conformance/adopters/conformant-products#opengles )
ããããã¡ã¸ã£ã¼ãªGPUãã³ãã¯å
¨ã¦ä½ããã®å½¢ã§GPU SDKãæä¾ãã¦ããããã ãVivanteã¯GPUãã³ãã¨ãã¦ã¯SDKãå
¬éãã¦ããªãã®ã¨ãAndroidã§åä½ããè¯ãã½ãªã¥ã¼ã·ã§ã³ãåå¨ããªãã®ã§ãã³ãã¥ããã£ããã¯ãã¾ãè¯ããµãã¼ãããã¦ããªãã
- http://www.4gamer.net/games/999/G999904/20130823022/
- ï¼»CEDEC 2013ï¼½æ§è½ã¯ã¾ã¡ã¾ã¡ã§æåã大éããAndroidã¹ãã¼ããã©ã³åãã°ã©ãã£ãã¯ã¹ã¨ã³ã¸ã³éçºã«ç«ã¡ã¯ã ãã£ãé£é¢ - Vivanteã«é¢ãã¦ã¯è¨åãç¡ã
Vivante以å¤ã®SDKã¯ç²ä¹ã¤ããããããã¦ã³ãã¼ãã«ç»é²ãå¿
è¦ãªç©ãå¤ããæéãæãã価å¤ãããã¨æãã
Vivanteã¨IMG以å¤ã¯CPUã³ã¢ãæä¾ãã¦ããç¹ã¯èå³æ·±ããIMGã¯MIPSãè²·åããã®ã§å¥æ ã¨ãã¦ãç´ç²ãªGPU IPãã³ãã¯Vivante(ã¨ãSDKãå
¬éãã¦ããªãDMPãªã©)ãããã ããã
Intel
- http://software.intel.com/en-us/vcsource/tools/intel-gpa
- Intel graphics performance analyzer
Intelãã³ã³ã«æããã®ãã©ããã¨æãããä¸å¿x86 Androidã«å¯¾å¿ããã½ãªã¥ã¼ã·ã§ã³ãæä¾ãã¦ããã®ã§ãããã£ã¨ããIntelã¯å¼·åãªWindowsãã©ãããã©ã¼ã ãæä¾ãã¦ããããã§ããã¹ãå´ã§åä½ãããã¨ããæ¹æ³ã§ã©ãã«ã§ããªãã
ä¸é¨ã®Intelãããã»ããã¯PowerVRãæ¡ç¨ãã¦ãããããããã§ã¯IMGã®PowerVR SDKãAPIãã¬ã¼ã¹ãããã©ã¼ãã³ã¹ã«ã¦ã³ã¿ã®åå¾çãå«ãã¦ãã®ã¾ã¾ä½¿ç¨ã§ããã
CPUãã³ããããããã©ã¼ãã³ã¹è§£æã«é¢ããèå¯ãè¡ãå±ãã¦ãã¦ãããªãã«å質ã¯é«ãã
Intelã¯ä»å¾ãIris GPUãæ¼ãã¦ããã®ã§ããµãã¼ããæå¾
ã§ãããã¢ãã¤ã«å¸å ´ã§ã®Intelã®ç«ã¡ä½ç½®ã¯çµ¶å¦ãªã¨ããã ããã
IMG
- http://www.imgtec.com/powervr/insider/powervr-insider.asp
- http://www.imgtec.com/powervr/insider/powervr-sdk-docs.asp
- ããã¥ã¡ã³ã群(è¦ã¢ã«ã¦ã³ã)
PowerVRãæããIMGã¯å®æ度ã®é«ãSDKãæä¾ãã¦ãããç¡æ¹é 端æ«ã§ä½¿ç¨ã§ããå¼·åãªAPIãã¬ã¼ã¹(PVRTrace)ã¨ãã¥ã¼ã¢(PVRScopeãPVRTune)ããããæé©åã®ããã®ããã¥ã¡ã³ããå
å®ãã¦ããã
APIã¨ãã¥ã¬ã¼ã¿(PVRFrame)ã®å®æ度ãé«ããWin32/64çã«å ãã¦ãMacOSããµãã¼ããã¦ããã
ãªãã©ã¤ã³ã·ã§ã¼ãã³ã³ãã¤ã©ã¯åã
ã®IPãã¨ã«ç¨æããã¦ããããã ãæ®ã©å·®ã¯ãªã(åºæ¬çã«Series5/6ã®2æã«ãªããã)ã
PowerVRã«ã¯æ´å²ã¨ä¼çµ±ã®ããèªåã®ã¢ãã«/ãã¯ã¹ãã£ãã¤ããªãã©ã¼ããããæãããããããã«å¯¾ããã¨ã¯ã¹ãã¼ã¿ãæã£ã¦ããã
GUIãã¼ã«ã®ãã¼ã«ãããã¯Qtãæ¡ç¨ãã¦ããã
Qualcomm
- https://developer.qualcomm.com/mobile-development/mobile-technologies/gaming-graphics-optimization-adreno/tools-and-resources
- (ããã¥ã¡ã³ãã¯SDKå梱)
AdrenoãæããQualcommã¯AMDããIPãè²·ã£ã¦ããã ããã£ã¦ãSDKã®å質ããããªãã«é«ãã1ããã±ã¼ã¸ã®SDKã«ã¯ãDirectXãä»ã®éçºç°å¢ã®ãããªãµã³ãã«/ãã¼ã«ãã©ã¦ã¶ãä»ãã¦ããã
SDKã«ã¯p2pãARã®ããã®ã©ã¤ãã©ãªçãå«ã¾ãã¦ããã
APIã¨ãã¥ã¬ã¼ã¿ã¯OpenGL ES 3.0ããµãã¼ããã¦ãã¦ãGPUã¡ã¢ãªå¶éãªã©ã®ãããã°æ©è½ãæããã¾ããå®æ©åæ§ã®ã·ã§ã¼ããã¼ãµãçµ±åããã¦ããã®ã§ãã·ã§ã¼ãã®ã¨ã©ã¼ãã§ãã¯ãè¡ããã
Adrenoã¯(PowerVRã¨ä¸¦ãã§)ã¶ã»æé©åãé¢åãªGPUãªã®ã§ãããªãã«æ¦ãå¿
è¦ãæãããããè¦è¶ãã¦ã®SDKã®å
å®ã®ãããªæ°ããããã
Snapdragonåãã®clangãã¼ã¹ã³ã³ãã¤ã©ãβçãªããæä¾ãã¦ããã
ARM
- http://malideveloper.arm.com/
- http://malideveloper.arm.com/develop-for-mali/documentation/
- ããã¥ã¡ã³ã
çãURLã¯æ°åã®ç¾ãããARMã¯ç¬ç«ç³»GPU IPãã³ãFalanxãè²·åãã¦å¾ãMaliãåºè»¸ã«èªç¤¾ã®CPU IPãã¸ãã¹ãè£å®ãã¦ããã
SDKã«ãããªãã³ã¹ããæãã¦ããããã§ãå質ã¯é«ãã
ããã©ã¼ãã³ã¹ã¢ãã©ã¤ã¶ã®Mali Graphics Debuggerããã·ã§ã¼ãéçºç°å¢ã¯Eclipseãã¼ã¹ãCPUå´ã®ã¢ãã©ã¤ã¶ã¯å¥ããã±ã¼ã¸ã§æä¾ããã¦ãã(ARM DS-5)ããããã¡ã¤ãªã³ã°ã«ã¯.soã®injectãå¿
è¦ã
ããã¥ã¡ã³ãã解æã®å¿ææ°ããå¤å°ã®ã¢ã¼ããã¯ãã£èª¬æã¾ã§ã«ãã¼ããå
å®ã
nVidia
- https://developer.nvidia.com/tegra-resources
- http://docs.nvidia.com/tegra/index.html
- ããã¥ã¡ã³ã
Tegraã¯åºæ¬çã«Android以å¤ã®design winãç¡ãã®ã§ãAndroid development packä¸ã¤ã§äºè¶³ãããAndroid development packã¯ãVisual Studioã«å¯¾å¿ããã³ã³ãã¤ã©ããããã¬ãå«ãã§ããã®ã大ããªç¹å¾´ã§ãPCåãã®éçºç°å¢(Nsight)ãªã©ã§é·ããã¨çµ±åéçºç°å¢ããµãã¼ããã¦ããnVidiaãããçç¼ç¹ã«è¦ããã
nVidiaã¯Shieldã®ãããªã³ã³ããã¼ã©ä¸ä½åããã¤ã¹ã売ã£ã¦ããã®ã§ãã²ã¼ã éçºè
ã«ã¯ã³ã³ããã¼ã©ã®ãµãã¼ããæ¨å¥¨ãããªã©ç´°ããæ¦ç¥ãå£éè¦ããã
nVidiaã¯ã¢ãã¤ã«GPUãã³ãã®ä¸ã§å¯ä¸ãªãã©ã¤ã³ã³ã³ãã¤ã©ãæä¾ãã¦ããªãã
nVidiaã®ããã©ã¼ãã³ã¹ã¢ãã©ã¤ã¶(PerfHUD)ã¯ãAndroid 4.0以éã®ãã¼ããªãstockãã¡ã¼ã ã¦ã§ã¢ã§ãã®ã¾ã¾ä½¿ç¨ã§ãããã¾ããCPUãããã¡ã¤ã©ãã³ã³ãã¤ã©ãçµ±åãã¦ããã
Vivante
Vivanteã¯ãã³ãã¨ãã¦ã¯GPU SDKãç´æ¥æä¾ãã¦ããªãããã¼ãããã¾ãVivanteã®GPUã¯ããæå³"ã®ãªã®ãªGPU"ã§ãUnifiedã·ã§ã¼ãã¨è¨ãã¤ã¤ãã¯ã»ã«ã·ã§ã¼ã256å½ä»¤/ãã¼ããã¯ã¹ã·ã§ã¼ã256å½ä»¤ã§åºå®åå²ã¨ãã£ãç·ãããåç´åãå
ãã¢ã¼ããã¯ãã£ãªã®ã§(æè¿ã®IPã¯éããããããªã)ããå人çã«ã¯æ°ã«ãªãGPUã ãã©ãå¦ä½ããä»ã®ã¡ã¸ã£ã¼ãã¬ã¤ã¤ã«æ¯ã¹ãã¨ãã¾ãDesign winãç¡ãã
Vivanteã®SDKã¯ãFreescaleãi.MX6ã®GPU SDKã¨ãã¦é
å¸ãã¦ãã(Vivante_VDK-v1.4.5.zip)ãFreescaleã®ãã¦ã³ãã¼ãã§ã"vivante"ã§æ¤ç´¢ããã¨å
¥æã§ãããOpenGL ESãOpenCL(!)ã®APIã¨ãã¥ã¬ã¼ã¿ãå«ãã§ããããAPIã横æµãããã ãã§ãããã°ç¨ã®æ©è½çã¯ãã¾ãå
å®ãã¦ããªãã
ãªãã©ã¤ã³ã·ã§ã¼ãã³ã³ãã¤ã©ãã·ã§ã¼ãã®ã¨ãã£ã¿ãæãããã·ã§ã¼ãã®éç解ææ©è½(ã¡ã¢ãªæ¶è²»éç)ãåå¨ããªãã®ã§ãã·ã§ã¼ãé·æº¢ãã®æ¤åºãããã«ãã使ããªãã
ããã©ã¼ãã³ã¹ã¢ãã©ã¤ã¶(vAnalyzer)ã®ä½¿ç¨ã«ã¯ã«ã¼ãã«ãããã®é©ç¨ã¨åã³ã³ãã¤ã«ãå¿
è¦ãã«ã¼ãã«ãããã¯Freescaleããæä¾ããã¦ããã
ããã¥ã¡ã³ããæ®ã©ãªããFreescaleãå¹¾ã¤ãFAQãå
¬éãã¦ããç¨åº¦ã
ã¡ãªã¿ã«ãGUIãã¼ã«ã®ãã¼ã«ãããã¯wxWidgetsãã¾ãIntelã®VTuneãwxWidgetsã§ãããã
GPU SDKã®ä»å¾
Androidã®ãã©ãããã©ã¼ã ã¯ãããæªããå¤æ§æ§ãããã®ã§ãGPU SDKãçµ±åããããã®ããæ¹æ³ããªããªãç¡ããã¬ã³ããªã³ã°æ¹æ³ãã¨ã£ã¦ãå社ã®GPUã«2ã¤ã¨åããã®ãç¡ããã¿ã¤ã«ãã¼ã¹ã§ãããã¨ãããããå
±éç¹ãç¡ãã
âã®CEDECã®è¨äºã®ããã«ãGPUæ¯ã«ããã©ã¼ãã³ã¹ã®å¾åã¯ç°ãªããããããGPUæ¯ã«ç°ãªãã¬ã³ããªã³ã°ãã¯ããã¯ã使ç¨ããã¨QAã®ã³ã¹ããé«ããªã£ã¦ãã¾ãã®ã§ãã¨ãã§ã¯ãããã¬ã¼ã ã¬ã¼ãã®èª¿æ´ç¨åº¦ã«ãªã£ã¦ãã¾ãã
iOSã¯PowerVRãç¶ç¶ãã¦æ¡ç¨ãã¦ãã¦ãå社ã®ã²ã¼ã å°ç¨æ©ãä¸å®ã®GPUãæ¡ç¨ãã¦ããã®ã§éçºç°å¢ã«ãããªãã®GPU SDKãçµ±åããã¦ããã®ãæ®éã®ã¹ã¿ã¤ã«ã«ãªã£ã¦ããããã®ãã¤ã³ããAndroidã¨ä»ã®åç´çµ±åãã©ãããã©ã¼ã ã大ããåãã¦ããã
åã®å¼·ããã³ããnVidiaãARMã¯èªç¤¾ã®GPUåãã«æé©åããããã®æ¹æ³ãããªããªã¼ãã³ã«å
¬éãã¦ããããããã®ãã³ãã®GPU SDKã¯ããããããªããã«ãªãç¶ããã ããã
ããããVivanteãDMPãTakumiã®ãããªGPUå°æ¥ãã³ããããèªç¤¾GPU IPã«åããæé©åæ¯æ´ãç±å¿ã«æä¾ãã¹ãã ã¨æããã³ãã¥ããã£ãµãã¼ãã®ç¡ãGPUã¯ä»å¾SoCãã³ãããæ¬é ãããããã«ãªã£ã¦ããã®ã§ã¯ãªãã ãããããã¡ãããOpenSolarisããã¾ã大ããç¶æ³ãå¤ããªãã£ãããã«ããªã¼ãã³åãå
¨ã¦ãä¸åãããããã§ã¯ãªãããã
GPUå°æ¥ãã³ããçãæ®ãããã©ããã¯å¾®å¦ãªãã¤ã³ãã¨ããããç¾ç¶ãã¢ãã¤ã«CPUã³ã¢ã¯ARMã»ã¼ä¸æã¨ãªã£ã¦ããã®ã§ãCPUã¢ã¼ããã¯ãã£ãå¤ãç¶æ³ããã¯çãæ®ããããã¨ãè¨ããããããã§ããå¸å ´ã·ã§ã¢ãèããã¨CPU+GPUã®ä¸¡IPã確ä¿ã§ãããã³ããå¼·ãã®ã¯å¤ãããªãã ãããIMGã«Appleã®ãããªå¼·åãªDesign winããã以å¤ã¯ãã¡ã¸ã£ã¼ãã¬ã¤ã¤ã¯å
¨ã¦èªåã®CPUã³ã¢ãæã£ã¦ãããCPUã³ã¢ã«å¯¾ãã¦ãSDKãæä¾ããã¢ããã¼ã·ã§ã³ã¯ãããããä»å¾ã¯GPUã¨ã®çµ±åã¨ã³ã·ã¹ãã ãæ§æããSDKã¨ãã¦ç«ã¡ä½ç½®ãå¤åãã¦ããã ãããããããæå³ã§ã¯ãnVidiaã®ãããªone stopãªpackãæä¾ããæ¹åã«ä»ã®ãã³ããè¡ãã®ã§ã¯ãªããã¨æãã