SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Pixel Visual Core
デバイスドライバ解析
作成:2019.12.01

公開:2019.12.08 (Slideshare)

@Vengineer



Google Pixel シリーズ
https://developers.google.com/android/images
floral :"coral" for Pixel 4 XL, "flame" for Pixel 4
:"bonito" for Pixel 3a XL, "sargo" for Pixel 3a
wahoo :"crosshatch" for Pixel 3 XL, "blueline" for Pixel 3
:"taimen" for Pixel 2 XL, "walleye" for Pixel 2
:"marlin" for Pixel XL, "sailfish" for Pixel
Google Pixel 2 / 3 : Pixel Visual Core
2017年10月発売のGoogle Pixel 2 / 2 XL に初めて搭載された Pixel Visual
Core (ASICとして)は、翌年2018年発売の Pixel 3 / 3 XLにも搭載されている。な
お、Pixel 3a (2019年5月発売)には搭載されていない。
Pixel Visual Coreは、FabはTSMC 28nm(下記のHotchip 2018の資料に明記)
で、開発にはIntelが関わっている。
Hotchip 2018 : Pixel Visual Core: Google's Fully Programmable Image,
Vision, and AI Processor For Mobile Devices
Google worked with Intel on a custom A.I. chip for its Pixel phones
The Real Mystery of Intel's Monette Hill
Intel And HCL Collaborating For New Coprocessor With Enhanced Image Processing.
The Pixel 2’s custom camera SoC uses Intel technology
Pixel 2側のデバイスドライバ名は、mnh (intel)
Pixel 2 側 (Snapdragon 835のCPUコアが動くという意味で)でのデバイスドライ
バ (Android 8.1) は、mnh (Monette-Hill Co-processor), Intel製
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-oreo-dr1/
drivers/misc/mnh/
mnh-sm-ion.c (このファイルのみ、Google製)には、下記のように、ホスト側から
Pixel Visual Coreで動作するKernel等をコピーしている
* mnh_ion_fw_copy - Copy data to ION buffer and flush cache
* Return 0 on success
* -ENOMEMif exceeding totoal buffer size
* mnh_ion_fw_copy must be called in slot incrementing order:
* 1. MNH_FW_SLOT_SBL, 2. MNH_FW_SLOT_KERNEL,
* 3. MNH_FW_SLOT_DTB, 4. MNH_FW_SLOT_RAMDISK
Pixel Visual Coreで、Headless Androidが動いている
Pixel Visual Coreの内部には、Arm Corex-A53が1個搭載されている。
このA53上で、Headless Androidが動いている。
Pixel 2 (Android 8.1) / Pixel Visual Core用の Headless Android
https://android.googlesource.com/kernel/arm64/+/refs/heads/android-easel-intel-linux-4.7-oreo-
dr1
Kernel Configの defconfig は、mnh_defconfig
CONFIG_ARCH_MNH=y
CONFIG_ANDROID=y
dts は、mnh.dts
model = "Monette Hill";
Headless Androidにも名前がある?
Pixel 2 :android-easel-intel-linux-4.7-oreo-dr1 (Android 8.1)
Pixel 3 :android-blue-intel-linux-4.7-pie-dr1-release(Android 9)
:android-amber-intel-linux-4.7-pie (Android 9)
https://android.googlesource.com/kernel/arm64/+refs
Pixel Visual Coreのデバイスドライバ名は、paintbox
CONFIG_PAINTBOX=y
CONFIG_PAINTBOX_DEBUG=y
CONFIG_PAINTBOX_TEST_SUPPORT=y
# CONFIG_PAINTBOX_IOMMU_ENABLED is not set
CONFIG_PAINTBOX_TEST_CMA=y
CONFIG_PAINTBOX_IOMMU=y
https://android.googlesource.com/kernel/arm64/+/refs/heads/android-easel-intel-linux-4.7-oreo-
dr1/drivers/misc/paintbox/
https://android.googlesource.com/kernel/arm64/+/refs/heads/android-easel-intel-linux-4.7-oreo-
dr1/include/uapi/paintbox.h
Pixel Visual Coreは、FPGA Prototypeされていた?
https://android.googlesource.com/kernel/arm64/+/refs/heads/android-amber-intel-linux-4
.7-android10/drivers/misc/paintbox/paintbox.c#547
val = readl(pb->reg_base + IPU_VERSION);
major = (val & IPU_VERSION_MAJOR_MASK) >> IPU_VERSION_MAJOR_SHIFT;
minor = (val & IPU_VERSION_MINOR_MASK) >> IPU_VERSION_MAJOR_SHIFT;
build = val & IPU_VERSION_INCR_MASK;
is_fpga = !!(val & IPU_VERSION_FPGA_BUILD_MASK);
Google Easel デバイスドライバ
Android/Easel coprocessor communication hardware access to the PCIe/EP
driver on the local side of the link (AP or Easel), used by the common and
link-partner-specific code.
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-oreo-dr1/driv
ers/misc <= Pixel 2側
https://android.googlesource.com/kernel/arm64/+/refs/heads/android-easel-intel-linux-4.7-oreo-dr1
/drivers/misc/ <= Pixel Visual Core側
google-easel-common.c, google-easel-common-shared.h, google-easel-common-private.h,
google-easel-common-hw.c, google-easel-common-dma.c
Android側からアクセスするときのライブラリ(HDR+ service)
:https://android.googlesource.com/platform/hardware/google/easel/
GOOGLE_EASEL
config GOOGLE_EASEL
tristate "Google Easel/Paintbox Coprocessor Support"
---help---
Say 'y' if platform has the Paintbox IPU on an Easel
coprocessor, aka MonetteHill.
config GOOGLE_EASEL_AP
bool "Local system is Application Processor / Android"
depends on GOOGLE_EASEL
---help---
Say 'y' if this kernel is for the AP/Android side of the link. Say
'n' if this kernel is for the Easel/MonetteHill side of the link.
defconfigファイル
Pixel 2:
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-oreo-dr1/arc
h/arm64/configs/wahoo_defconfig
Pixel 3:
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-crosshatch-4.9-pie-qpr1
/arch/arm64/configs/b1c1_defconfig
CONFIG_GOOGLE_EASEL=y
CONFIG_GOOGLE_EASEL_AP=y
Pixel Visual Core側
https://android.googlesource.com/kernel/arm64/+/refs/heads/android-easel-intel-linux-4.7-oreo-dr1
/arch/arm64/configs/mnh_defconfig
CONFIG_GOOGLE_EASEL=y
(CONFIG_GOOGLE_EASEL_APが設定されていない)
Pixel 4 : Pixel Neural Core & Pixel Visual Core
2019年10月発売の Pixel 4 には、Pixel Neural Coreが搭載されていると発表が
あった。その後、この Pixel Neural Coreは、Google Edge TPUをベースにしたも
のであると、Googleから発表があった。
Introducing the Next Generation of On-Device Vision Models: MobileNetV3 and
MobileNetEdgeTPU
Pixel 4に搭載されたASICには、Pixel Neural Core と Pixel Visual Core が同居
する形になっている。また、開発にはSamsungが関わっており、IFIXITのPixel 4
XL Teardownでは、Samsungの型番が付いたICが搭載されていることからFab
はSamsungと想定している。
Google Pixel 4 XL Teardown
ABC PCIeデバイスドライバ:abc-pcie (samsung)
IPUとTPUなど複数のデバイスを管理するために、mfd (Multi Function Device)
になっている?
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/mfd/abc-pcie.c
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/include/linux/mfd/abc-pcie.h
abc-pcie.c
abc-pcie-private.h
abc-pcie-fsys.c
abc-pcie-dma.c
abc-pcie-dma-uapi.c
デバイスドライバ:airbrush (samsung)
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/airbrush/
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/airbrush/airbrush-sm-ctrl.c#199
IPU :Max 680MHz
TPU :Max 789.6MHz
CPU :Max 933.12MHz (Arm Cortex-A53?)
DRAM :Max 3733MHz (LPDDR4-3733)
airbrush-cooling.{h,c}、airbrush-thermal.{h,c}、tmu 以外は、Samsung製
実は、airbrush は stub のみ
下記の関数で外部から各ops を設定している?
● ab_sm_register_pmu_ops
● ab_sm_unregister_pmu_ops
● ab_sm_register_clk_ops
● ab_sm_unregister_clk_ops
● ab_sm_register_dram_ops
● ab_sm_unregister_dram_ops
● ab_sm_register_mfd_ops
● ab_sm_unregister_mfd_ops
Arm Cortex-M0も?
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/airbrush/airbrush-M0-interrupt.c
int ab_interrupt_M0(int tar_dev)
{
printk("Interrupting M0n");
aon_config_write(SYSREG_AON + 0x037C, 0x4, 1);
aon_config_write(SYSREG_AON + 0x0380, 0x4, 1);
return 0;
}
EXPORT_SYMBOL(ab_interrupt_M0);
IPUデバイスドライバ:paintbox-ipu (google)
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/ipu/
IPUは、v2に
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/ipu/ipu-regs-v2-generated.h
IPU Adapter : paintbox-ipuを登録
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/ipu/ipu-adapter-ab-mfd.c
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/ipu/ipu-adapter.h
Firmware : Headless Androidじゃない?
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/drivers/misc/ipu/ipu-core-jqs.c#181
int ipu_core_jqs_load_firmware(struct paintbox_bus *bus)
{
int ret;
// …
dev_dbg(bus->parent_dev, "requesting firmware %sn", JQS_FIRMWARE_NAME);
ret = request_firmware(&bus->jqs.fw, JQS_FIRMWARE_NAME,
bus->parent_dev); // JQS_FIRMWARE_NAME "paintbox-jqs.fw"
// ...
}
bus->jqs.status = JQS_FW_STATUS_REQUESTED;
return 0;
}
defconigファイル:floral_defconfig
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/arch/arm64/configs/floral_defconfig
CONFIG_AIRBRUSH_SM=y
CONFIG_AIRBRUSH_SM_DEBUGFS=y
CONFIG_AIRBRUSH_DRAM=y
CONFIG_IPU=y
CONFIG_IPU_AB_MFD_ADAPTER=y
CONFIG_IPU_IOMMU=y
CONFIG_IPU_IOMMU_ENABLED=y
CONFIG_IPU_IOMMU_PAGE_TABLE_ON_AB=y
dtsファイル:airbrush部
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android10
-c2f2/arch/arm64/boot/dts/google/sm8150-floral-airbrush-trip-points.dtsi
IPU 4コア? :airbrush-ipu[0:3]
TPU 2コア? :airbrush-tpu[0:1]
あたしは、
ディープラーニング職人 ではありません
コンピュータエンジニア です




ありがとうございました
@Vengineer
ソースコード解析職人
Google Edge TPU Device Driver:apex
https://github.com/torvalds/linux/tree/master/drivers/staging/gasket
https://github.com/torvalds/linux/blob/master/drivers/staging/gasket/Kconfig
gasket および Apex は、Moduleとして生成される
config STAGING_GASKET_FRAMEWORK
tristate "Gasket framework"
depends on PCI && (X86_64 || ARM64)
config STAGING_APEX_DRIVER
tristate "Apex Driver"
depends on STAGING_GASKET_FRAMEWORK

Más contenido relacionado

La actualidad más candente

AWS EC2 F1とXilinx SDAccel
AWS EC2 F1とXilinx SDAccelAWS EC2 F1とXilinx SDAccel
AWS EC2 F1とXilinx SDAccelMr. Vengineer
 
Maxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングNVIDIA Japan
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門NVIDIA Japan
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Yoshifumi Kawai
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しようUnityTechnologiesJapan002
 
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオンWebアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン虎の穴 開発室
 
.NET 5 勉強会 ~.NET Framework から .NET へ~
.NET 5 勉強会 ~.NET Framework から .NET へ~.NET 5 勉強会 ~.NET Framework から .NET へ~
.NET 5 勉強会 ~.NET Framework から .NET へ~Fujio Kojima
 
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめC#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめNVIDIA Japan
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterPreferred Networks
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法Yoshifumi Kawai
 
DSPでディープラーニング
DSPでディープラーニングDSPでディープラーニング
DSPでディープラーニングMr. Vengineer
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告cch-robo
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」ManaMurakami1
 
【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選虎の穴 開発室
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動についてMr. Vengineer
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーションYoshifumi Kawai
 

La actualidad más candente (20)

20170518 eureka dli
20170518 eureka dli20170518 eureka dli
20170518 eureka dli
 
AWS EC2 F1とXilinx SDAccel
AWS EC2 F1とXilinx SDAccelAWS EC2 F1とXilinx SDAccel
AWS EC2 F1とXilinx SDAccel
 
Maxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミング
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
 
Webアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオンWebアプリケーション開発者のためのDockerハンズオン
Webアプリケーション開発者のためのDockerハンズオン
 
.NET 5 勉強会 ~.NET Framework から .NET へ~
.NET 5 勉強会 ~.NET Framework から .NET へ~.NET 5 勉強会 ~.NET Framework から .NET へ~
.NET 5 勉強会 ~.NET Framework から .NET へ~
 
C#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめC#, C/CLI と CUDAによる画像処理ことはじめ
C#, C/CLI と CUDAによる画像処理ことはじめ
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
 
DSPでディープラーニング
DSPでディープラーニングDSPでディープラーニング
DSPでディープラーニング
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
 
【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動について
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
 

Similar a Pixel Visual Core device driver source code analysis

Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
2013.01.18 G*Workshop GGX 2012 Report
2013.01.18 G*Workshop GGX 2012 Report2013.01.18 G*Workshop GGX 2012 Report
2013.01.18 G*Workshop GGX 2012 ReportYu Sudo
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
Google I/O 2011 HowToADK
Google I/O 2011 HowToADKGoogle I/O 2011 HowToADK
Google I/O 2011 HowToADKMasahiro Hidaka
 
Pf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaPf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaandroid sola
 
FlashAir IoT Hubで計測値・イメージをアップロード!
FlashAir IoT Hubで計測値・イメージをアップロード!FlashAir IoT Hubで計測値・イメージをアップロード!
FlashAir IoT Hubで計測値・イメージをアップロード!FlashAirデベロッパーズ
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
Try Firefox OS
Try Firefox OSTry Firefox OS
Try Firefox OSdynamis
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
local launch small language model of AI.
local launch small language model of AI.local launch small language model of AI.
local launch small language model of AI.Takao Tetsuro
 
bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2 bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2 BeatCraft
 
KEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るKEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るandroid sola
 
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦Tetsuya Shiraishi
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門Katsumi Honda
 
Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathondynamis
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Mr. Vengineer
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識Minoru Naito
 
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティGoで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティyaegashi
 

Similar a Pixel Visual Core device driver source code analysis (20)

Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
2013.01.18 G*Workshop GGX 2012 Report
2013.01.18 G*Workshop GGX 2012 Report2013.01.18 G*Workshop GGX 2012 Report
2013.01.18 G*Workshop GGX 2012 Report
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
Google I/O 2011 HowToADK
Google I/O 2011 HowToADKGoogle I/O 2011 HowToADK
Google I/O 2011 HowToADK
 
Pf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaPf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsola
 
FlashAir IoT Hubで計測値・イメージをアップロード!
FlashAir IoT Hubで計測値・イメージをアップロード!FlashAir IoT Hubで計測値・イメージをアップロード!
FlashAir IoT Hubで計測値・イメージをアップロード!
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
Try Firefox OS
Try Firefox OSTry Firefox OS
Try Firefox OS
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
local launch small language model of AI.
local launch small language model of AI.local launch small language model of AI.
local launch small language model of AI.
 
bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2 bc10 (Android 2.2対応) について @Gadget1 R2
bc10 (Android 2.2対応) について @Gadget1 R2
 
KEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るKEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来る
 
Ide env
Ide envIde env
Ide env
 
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門
 
Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathon
 
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識
 
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティGoで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティ
 
ARCore
ARCoreARCore
ARCore
 

Más de Mr. Vengineer

XilinxのxsimでSoftware Driven Verification.pdf
XilinxのxsimでSoftware  Driven Verification.pdfXilinxのxsimでSoftware  Driven Verification.pdf
XilinxのxsimでSoftware Driven Verification.pdfMr. Vengineer
 
VerilatorとSystemCでSoftware Driven Verification
VerilatorとSystemCでSoftware Driven VerificationVerilatorとSystemCでSoftware Driven Verification
VerilatorとSystemCでSoftware Driven VerificationMr. Vengineer
 
Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析Mr. Vengineer
 
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & InferenceCloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & InferenceMr. Vengineer
 
TensorFlow Lite Delegateとは?
TensorFlow Lite Delegateとは?TensorFlow Lite Delegateとは?
TensorFlow Lite Delegateとは?Mr. Vengineer
 
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2 「エッジAIモダン計測制御の世界」オ...
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2  「エッジAIモダン計測制御の世界」オ...Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2  「エッジAIモダン計測制御の世界」オ...
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2 「エッジAIモダン計測制御の世界」オ...Mr. Vengineer
 
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」Mr. Vengineer
 
Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会Mr. Vengineer
 
Ultra96(UltraZed)実践勉強会
Ultra96(UltraZed)実践勉強会Ultra96(UltraZed)実践勉強会
Ultra96(UltraZed)実践勉強会Mr. Vengineer
 
Bridge TensorFlow to run on Intel nGraph backends (v0.4)
Bridge TensorFlow to run on Intel nGraph backends (v0.4)Bridge TensorFlow to run on Intel nGraph backends (v0.4)
Bridge TensorFlow to run on Intel nGraph backends (v0.4)Mr. Vengineer
 
Bridge TensorFlow to run on Intel nGraph backends (v0.5)
Bridge TensorFlow to run on Intel nGraph backends (v0.5)Bridge TensorFlow to run on Intel nGraph backends (v0.5)
Bridge TensorFlow to run on Intel nGraph backends (v0.5)Mr. Vengineer
 
TensorFlow local Python XLA client
TensorFlow local Python XLA clientTensorFlow local Python XLA client
TensorFlow local Python XLA clientMr. Vengineer
 
Tiramisu をちょっと、味見してみました。
Tiramisu をちょっと、味見してみました。Tiramisu をちょっと、味見してみました。
Tiramisu をちょっと、味見してみました。Mr. Vengineer
 
LeFlowを調べてみました
LeFlowを調べてみましたLeFlowを調べてみました
LeFlowを調べてみましたMr. Vengineer
 
Tensorflow dynamically loadable XLA plugin ソースコード解析
Tensorflow  dynamically loadable XLA plugin ソースコード解析Tensorflow  dynamically loadable XLA plugin ソースコード解析
Tensorflow dynamically loadable XLA plugin ソースコード解析Mr. Vengineer
 
Tensor comprehensions
Tensor comprehensionsTensor comprehensions
Tensor comprehensionsMr. Vengineer
 

Más de Mr. Vengineer (20)

XilinxのxsimでSoftware Driven Verification.pdf
XilinxのxsimでSoftware  Driven Verification.pdfXilinxのxsimでSoftware  Driven Verification.pdf
XilinxのxsimでSoftware Driven Verification.pdf
 
VerilatorとSystemCでSoftware Driven Verification
VerilatorとSystemCでSoftware Driven VerificationVerilatorとSystemCでSoftware Driven Verification
VerilatorとSystemCでSoftware Driven Verification
 
VerilatorとSystemC
VerilatorとSystemCVerilatorとSystemC
VerilatorとSystemC
 
TVM VTA (TSIM)
TVM VTA (TSIM) TVM VTA (TSIM)
TVM VTA (TSIM)
 
Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析
 
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & InferenceCloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & Inference
 
TensorFlow Lite Delegateとは?
TensorFlow Lite Delegateとは?TensorFlow Lite Delegateとは?
TensorFlow Lite Delegateとは?
 
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2 「エッジAIモダン計測制御の世界」オ...
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2  「エッジAIモダン計測制御の世界」オ...Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2  「エッジAIモダン計測制御の世界」オ...
Google Edge TPUで TensorFlow Liteを使った時に 何をやっているのかを妄想してみる 2 「エッジAIモダン計測制御の世界」オ...
 
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
 
Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会
 
Ultra96(UltraZed)実践勉強会
Ultra96(UltraZed)実践勉強会Ultra96(UltraZed)実践勉強会
Ultra96(UltraZed)実践勉強会
 
Bridge TensorFlow to run on Intel nGraph backends (v0.4)
Bridge TensorFlow to run on Intel nGraph backends (v0.4)Bridge TensorFlow to run on Intel nGraph backends (v0.4)
Bridge TensorFlow to run on Intel nGraph backends (v0.4)
 
Bridge TensorFlow to run on Intel nGraph backends (v0.5)
Bridge TensorFlow to run on Intel nGraph backends (v0.5)Bridge TensorFlow to run on Intel nGraph backends (v0.5)
Bridge TensorFlow to run on Intel nGraph backends (v0.5)
 
TensorFlow XLA RPC
TensorFlow XLA RPCTensorFlow XLA RPC
TensorFlow XLA RPC
 
TensorFlow local Python XLA client
TensorFlow local Python XLA clientTensorFlow local Python XLA client
TensorFlow local Python XLA client
 
Tiramisu をちょっと、味見してみました。
Tiramisu をちょっと、味見してみました。Tiramisu をちょっと、味見してみました。
Tiramisu をちょっと、味見してみました。
 
LeFlowを調べてみました
LeFlowを調べてみましたLeFlowを調べてみました
LeFlowを調べてみました
 
Tensorflow dynamically loadable XLA plugin ソースコード解析
Tensorflow  dynamically loadable XLA plugin ソースコード解析Tensorflow  dynamically loadable XLA plugin ソースコード解析
Tensorflow dynamically loadable XLA plugin ソースコード解析
 
Tiramisu概要
Tiramisu概要Tiramisu概要
Tiramisu概要
 
Tensor comprehensions
Tensor comprehensionsTensor comprehensions
Tensor comprehensions
 

Pixel Visual Core device driver source code analysis