SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Facilitando a vida no
Android
Ivan Costa
Agenda
•
•
•
•

Intel HAXM
Intel C++ Compiler for Android
Intel GPA
Beacon Mountain
HAXM
• Intel® Hardware
Accelerated Execution
Manager
O que a Intel fez ?
• CPU Host x86
• Tecnologia Intel® VT
• Otimizou as imagens x86
para android

• Acelerou o Android
Emulator entre 5x-10x
• Executa as instruções
x86 nativamente

• Suporte ao OpenGL 2.0
O que a Intel fez ?
• Suporte ao MAC,
Windows
• E Linux (KVM)

• Suporte oficial pelo
SDK Manager (Extra)
A arquitetura do Intel® HAXM
E para usar ?
• Windows ou Mac
• Linux
• Adicionar no campo de
• Instalar o kvm
opções do emulador:
-qemu -m <mem> enable-kvm

• Ao executar o emulador
adicionar:
-qemu –m <N> -enable-kvm
Intel® C++
Compiler for
Android
Intel C++ Compiler for Android
• Compartilha a base do Intel C++ Compiler
13.0
• Melhor otimização para o Atom

• Compatível com Android NDK
• Compatível com o GCC

• Melhora de performace, em muitos casos,
apenas recompilando o código
• Instalação e configuração simples e rápida
Quando eu posso usar?
Ambiente de desenvolvimento Host

Ambiente de Desenvolvimento Target

Computer System

Devices com Android* OS

Qualquer sistema com processador Intel
ou um sistema compatível com o
processador Intel, que suporte os
requesitos de software

Qualquer sistema com processador intel

Software

Software

•Ubuntu* 10.04 or 11.04
•Android NDK r8e
•Intel C++ Compiler for Android OS

•Jelly Bean or Ice Cream Sandwich
Como eu posso obter uma cópia?
• Entre em: http://software.intel.com/ptbr/c-compiler-android
• E tenha um versão grátis do compilador
• É por tempo limitado
Intel® GPA
Intel® Graphics Performance
Analyzers
Intel ® GPA – System Analyzers
• Cpu host x86
• Perfis de perfomace e
energia.
• Gráficos real-time da
CPU, GPU e energia.

• Experimentos com o
OpenGL-ES*
Disponível em: intel.com/software/gpa
Começando a usar
1. Instalar o APK,
conectar com o PC
Host via adb

2. Rodar o Intel® GPA System
Analyzer
Na máquina de
desenvolvimento

3. Montar o seu profile
mais métricas ..
• Métrica baseada no
tempo de uso:
• Processador, Memória e
I/O.

• Métricas componetes
básicos
• Vertices, Primitivas,
Fragmentos e texturas
Algumas métricas ..
• Métricas dos
componetes da GPU
• USSE, TA, ISP, TSP

• OpenGL
• Qnt vertices (indexado)
• Qnt drawCalls
(indexado)
Algumas dicas…

17
Encontrando gargalos
• Faz-se experimentos
com o pipeline da
GPU
• É a forma mais fácil
de se encontrar
gargalos.
Beacon Mountain
Beacon Mountain v0.6.1
• Ambiente de desenvolvimento NDK em
ARM* e Intel® Atom™ Devices
• Ferramentas para Design,
desenvolvimento e debug
• Notificações de Update
Grátis e de fácil instalação:
intel.com/software/BeaconMountain
Beacon Mountain v0.6.1
• Ferramentas Intel x86

 Intel® Hardware
Accelerated Execution
Manager
 Intel® GPA System
Analyzer
 Intel® IPP
 Intel® TBB
 Intel® Software
Manager

• Outras ferramentas
para ARM/x86

 Google* Android SDK
(ADT Bundle)
 Android NDK
 Eclipse* Integrated
Development
Environment
 Android Design
 Cygwin*
Take Away
• Beacon Mountain
• Ambiente android para desenvolvimento NDK em ARM e x86

• HAXM:
• Se sua cpu é x86 ganhe de 5x – 10x de velocidade.

• GPA:
• Ferramenta para encontrar gargalos.

• Intel C++ Compiler for Android:
• Compile uma vez para melhorar seu binário.
• Q/A
Ferramentas Intel Android

Weitere ähnliche Inhalte

Was ist angesagt?

Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Pesl introducao a programacao para android
Pesl   introducao a programacao para androidPesl   introducao a programacao para android
Pesl introducao a programacao para androidRegis Claus
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKRonildo Oliveira
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkReuel Lopes
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelCampus Party Brasil
 
O guia passo_a_passo
O guia passo_a_passoO guia passo_a_passo
O guia passo_a_passoESJEA
 
Joomla possibilidades infinitas em CMS
Joomla   possibilidades infinitas em CMSJoomla   possibilidades infinitas em CMS
Joomla possibilidades infinitas em CMSFelipe Perin
 
Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?Marcelo Quinta
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKtdc-globalcode
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014Flávio Moringa
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
Desenvolvimento e otimização de jogos para gearvr usando Unreal Engine
Desenvolvimento e otimização de jogos para gearvr usando Unreal EngineDesenvolvimento e otimização de jogos para gearvr usando Unreal Engine
Desenvolvimento e otimização de jogos para gearvr usando Unreal EngineVinicius Vecchi
 

Was ist angesagt? (20)

Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Pesl introducao a programacao para android
Pesl   introducao a programacao para androidPesl   introducao a programacao para android
Pesl introducao a programacao para android
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDK
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdk
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
 
Android Studio
Android StudioAndroid Studio
Android Studio
 
O guia passo_a_passo
O guia passo_a_passoO guia passo_a_passo
O guia passo_a_passo
 
Joomla possibilidades infinitas em CMS
Joomla   possibilidades infinitas em CMSJoomla   possibilidades infinitas em CMS
Joomla possibilidades infinitas em CMS
 
WRVA 2015
WRVA 2015WRVA 2015
WRVA 2015
 
Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?
 
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDKTDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
TDC2016SP - Evoluindo aplicações mobile com o Google VR SDK
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014Workshop on Android Rom Creation - FISTA/ISCTE 2014
Workshop on Android Rom Creation - FISTA/ISCTE 2014
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Desenvolvimento e otimização de jogos para gearvr usando Unreal Engine
Desenvolvimento e otimização de jogos para gearvr usando Unreal EngineDesenvolvimento e otimização de jogos para gearvr usando Unreal Engine
Desenvolvimento e otimização de jogos para gearvr usando Unreal Engine
 

Andere mochten auch

APLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RN
APLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RNAPLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RN
APLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RNJohn Leno
 
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidDesenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidLucas Aquiles
 
Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010robsonoracle
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRicardo Longa
 

Andere mochten auch (8)

Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
APLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RN
APLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RNAPLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RN
APLICAÇÃO ANDROID PARA MONITORAR OS TRANSPORTES PÚBLICOS COLETIVOS DE MOSSORÓ/RN
 
Android
AndroidAndroid
Android
 
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidDesenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
 
Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010
 
Android
Android Android
Android
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Android, por onde começar?
Android, por onde começar?Android, por onde começar?
Android, por onde começar?
 

Ähnlich wie Ferramentas Intel Android

Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
Micro seminario ii prog mi
Micro seminario ii prog mi Micro seminario ii prog mi
Micro seminario ii prog mi CharneyBR
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon Web Services LATAM
 
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos""AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"Fabrício Pinheiro
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDatatdc-globalcode
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
AtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para ConsumerAtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para ConsumerRoberto Brandao
 
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 ASUS Brazil
 
Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Marcos Basilio
 
Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!Intel Software Brasil
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 

Ähnlich wie Ferramentas Intel Android (20)

Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Micro seminario ii prog mi
Micro seminario ii prog mi Micro seminario ii prog mi
Micro seminario ii prog mi
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenho
 
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos""AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
 
Amazon EC2 avançado
Amazon EC2 avançadoAmazon EC2 avançado
Amazon EC2 avançado
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
AtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para ConsumerAtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para Consumer
 
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009 Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
Apresentacao 2 - Convidado especial: Intel - SantaASUS 2009
 
Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)
 
Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
Node.js para embarcados
Node.js para embarcadosNode.js para embarcados
Node.js para embarcados
 
Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVR
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
AVR
AVRAVR
AVR
 
1984
19841984
1984
 

Mehr von Intel Software Brasil

Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™ Intel Software Brasil
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatIntel Software Brasil
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaIntel Software Brasil
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaIntel Software Brasil
 
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEGetting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEIntel Software Brasil
 
Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Intel Software Brasil
 
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaPrincipais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaIntel Software Brasil
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoIntel Software Brasil
 
Intel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Software Brasil
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoIntel Software Brasil
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoIntel Software Brasil
 
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...Intel Software Brasil
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Intel Software Brasil
 

Mehr von Intel Software Brasil (20)

Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKat
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento Multiplataforma
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataforma
 
Yocto - 7 masters
Yocto - 7 mastersYocto - 7 masters
Yocto - 7 masters
 
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEGetting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
 
Intel tools to optimize HPC systems
Intel tools to optimize HPC systemsIntel tools to optimize HPC systems
Intel tools to optimize HPC systems
 
Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...
 
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaPrincipais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralela
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorização
 
Notes on NUMA architecture
Notes on NUMA architectureNotes on NUMA architecture
Notes on NUMA architecture
 
Intel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Technologies for High Performance Computing
Intel Technologies for High Performance Computing
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenho
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/Vivo
 
Html5 fisl15
Html5 fisl15Html5 fisl15
Html5 fisl15
 
IoT FISL15
IoT FISL15IoT FISL15
IoT FISL15
 
IoT TDC Floripa 2014
IoT TDC Floripa 2014IoT TDC Floripa 2014
IoT TDC Floripa 2014
 
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
 
Html5 tdc floripa_2014
Html5 tdc floripa_2014Html5 tdc floripa_2014
Html5 tdc floripa_2014
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
 

Ferramentas Intel Android

  • 1. Facilitando a vida no Android Ivan Costa
  • 2. Agenda • • • • Intel HAXM Intel C++ Compiler for Android Intel GPA Beacon Mountain
  • 4. O que a Intel fez ? • CPU Host x86 • Tecnologia Intel® VT • Otimizou as imagens x86 para android • Acelerou o Android Emulator entre 5x-10x • Executa as instruções x86 nativamente • Suporte ao OpenGL 2.0
  • 5. O que a Intel fez ? • Suporte ao MAC, Windows • E Linux (KVM) • Suporte oficial pelo SDK Manager (Extra)
  • 6. A arquitetura do Intel® HAXM
  • 7. E para usar ? • Windows ou Mac • Linux • Adicionar no campo de • Instalar o kvm opções do emulador: -qemu -m <mem> enable-kvm • Ao executar o emulador adicionar: -qemu –m <N> -enable-kvm
  • 9. Intel C++ Compiler for Android • Compartilha a base do Intel C++ Compiler 13.0 • Melhor otimização para o Atom • Compatível com Android NDK • Compatível com o GCC • Melhora de performace, em muitos casos, apenas recompilando o código • Instalação e configuração simples e rápida
  • 10. Quando eu posso usar? Ambiente de desenvolvimento Host Ambiente de Desenvolvimento Target Computer System Devices com Android* OS Qualquer sistema com processador Intel ou um sistema compatível com o processador Intel, que suporte os requesitos de software Qualquer sistema com processador intel Software Software •Ubuntu* 10.04 or 11.04 •Android NDK r8e •Intel C++ Compiler for Android OS •Jelly Bean or Ice Cream Sandwich
  • 11. Como eu posso obter uma cópia? • Entre em: http://software.intel.com/ptbr/c-compiler-android • E tenha um versão grátis do compilador • É por tempo limitado
  • 12. Intel® GPA Intel® Graphics Performance Analyzers
  • 13. Intel ® GPA – System Analyzers • Cpu host x86 • Perfis de perfomace e energia. • Gráficos real-time da CPU, GPU e energia. • Experimentos com o OpenGL-ES* Disponível em: intel.com/software/gpa
  • 14. Começando a usar 1. Instalar o APK, conectar com o PC Host via adb 2. Rodar o Intel® GPA System Analyzer Na máquina de desenvolvimento 3. Montar o seu profile
  • 15. mais métricas .. • Métrica baseada no tempo de uso: • Processador, Memória e I/O. • Métricas componetes básicos • Vertices, Primitivas, Fragmentos e texturas
  • 16. Algumas métricas .. • Métricas dos componetes da GPU • USSE, TA, ISP, TSP • OpenGL • Qnt vertices (indexado) • Qnt drawCalls (indexado)
  • 18. Encontrando gargalos • Faz-se experimentos com o pipeline da GPU • É a forma mais fácil de se encontrar gargalos.
  • 20. Beacon Mountain v0.6.1 • Ambiente de desenvolvimento NDK em ARM* e Intel® Atom™ Devices • Ferramentas para Design, desenvolvimento e debug • Notificações de Update Grátis e de fácil instalação: intel.com/software/BeaconMountain
  • 21. Beacon Mountain v0.6.1 • Ferramentas Intel x86  Intel® Hardware Accelerated Execution Manager  Intel® GPA System Analyzer  Intel® IPP  Intel® TBB  Intel® Software Manager • Outras ferramentas para ARM/x86  Google* Android SDK (ADT Bundle)  Android NDK  Eclipse* Integrated Development Environment  Android Design  Cygwin*
  • 22. Take Away • Beacon Mountain • Ambiente android para desenvolvimento NDK em ARM e x86 • HAXM: • Se sua cpu é x86 ganhe de 5x – 10x de velocidade. • GPA: • Ferramenta para encontrar gargalos. • Intel C++ Compiler for Android: • Compile uma vez para melhorar seu binário.

Hinweis der Redaktion

  1. Descrição do problema do AVD ser lento.O emulador do Android  tem que emular as instruções ARM dentro da arquitetura x86 (isso consome muito processamento) E Executar estas instruções. Com isso temos que a virtualização da CPU no emulador, ou seja a CPU do emulador rodando como um software, Tornando o processo mais lento (bem lento). Somado ao fato que outros componente também tem que ser emulados, temos um problema.
  2. Acelerou o emulador do android de 5-10x executando as instruções x86 nativamente.Utilizando bibliotecas e as tecnologias de virtualização da Intel otimizou-se as imagens de x86, para trabalharem melhor com o HAXM  e rodarem mais rápido.O HAXM somente trabalha com imagens x86Suporte ao OpenGl 2.0.
  3. Oferece suporte de instalação a MAC, Windows e atravez do KVM, para linux também.Esta tecnologia tem suporte oficial pelo SDK Manager (MAC e Windows), na parte Extra, e é fácil de se instalar.O HAXM somente trabalha com imagens x86
  4. QEMU (the Quick EMUlator) é um emulador open source utilizado por vários outros projetos, que tem suporte a vários devices e perifericos.Uma vantagem de arquitetura do HAXM é o fato de ele executar nos dois lados do emulador. Dentro do alvo emulado (device android) e na máquina host. Isto permite que o emulador rode mais próximo da máquina hostIsto acontece ao se utilizar funções provenientes da tecnologia de virtualização da intel (intel VT)-processadore que suportem esta função &gt;2005-, o processador emulado utilizando o HAXM,  executa suas instruções no próprio processador do host.Vale resaltar que a interface entre o QEMU e o HAXM é independende de fornnecer, porem somente a Intel implementou esta interface. (não conheço outra tecnologia parecida)\O HAXM em conjunto com as imagen x86 foram testados, e hoje funcionam com perfeita sincronia.Estas vantagens n arquitetura faz, com que o HAXM seja até 10 vezes mais rápido que o emulador padrão com arm.Ganha-se mais velocidade na execução ao emular a GPU. (o HAXM não atua nisso).
  5. Intel C++ Composer XE 2013 - $699Otimizaçõesproprietárias que fazem a o bináriosermelhor que o do gccAtençãoespecialaocosumo de energiaE melhorutilização do processadorintruções sse2, sse3VetorizaçãoAuto-vetorização
  6. You need the ‘android:debuggable’ flag in you manifest set to ‘true’ to be able to analyse with GPA(Automatically set by ant and eclipse while building a debug version)
  7. Adb can be used over usb as well as over wifi (using tcp/ip)Instalação Ubuntu .. AdicionarSUBSYSTEM==&quot;usb&quot;,ATTRS{idVendor}==&quot;8087&quot;,MODE=&quot;0666&quot;,OWNER=&quot;root&quot;
  8. USSE (Universal Scalable Shader Engine), temos USSE Vertex Load e USSE Pixel Load -processando instruções de Vertices e pixel (frame) USSE Total Load Métricas secudárias são USSE Verices/Second,USS Cycles/Vertex e USS Cycles/Pixel.
  9. USSE (Universal Scalable Shader Engine), temos USSE Vertex Load e USSE Pixel Load -processando instruções de Vertices e pixel (frame) USSE Total Load Métricas secudárias são USSE Verices/Second,USS Cycles/Vertex e USS Cycles/Pixel.
  10. Analisa a perfomace do TSP.Caso TSP Load &gt;, (TA Load e/ou ISP Load). USSE Pixel Load for alto, temos que reduzir o fragment shander, que deve estar complexo. Texture Unit Load for alto, temos que reduzir a textura.
  11. 1x1 Scissor Rect. Neste modo, o processamento de pixel é desligado, do pipeline redering. Resultado Esperado: Aumento do frame rate.Caso contrário: A complexidade da geometria ou vertex shader, é o gargalo.Obs: Ao utilizar o Wireframe pode-se ter uma idéia da complexidade a complexidade da geometria.No caso da complexidade não ser o gargalo, então o vertex shander, é o gargalo.Disable Anpha Blending: Neste modo, iremos reduzir o número de transparência nos objetos, estamos reduzindo as operações de combinação.Disable Alpha Test: Neste modo, deliga-se o teste de descarte alpha test, assim teremos menos pixels sendo rederizados.Disable Z-Test: Neste modo, deliga-se o teste de descarte z-test, assim temos uma analise sobre as operações no Z-buffer.Resultado Esperado: Aumenta-rá a perfomace, pois não utilizará o Z-test no pipeline.OBS: Neste caso pode-se analisar, a redundância de geometrias primitivas. Analise das primitivas em si. Deste modo, temos uma ferramente para analisar o quanto as primitivas estão impactando na qualidade da imagem, e assim tomar uma decisão.