Processamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo
|
|
- Anderson Arruda Eger
- 5 Há anos
- Visualizações:
Transcrição
1 Processamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo André J. Bianchi 21/10/ / 33
2 1 Introdução 2 Metodologia 3 Arduino 4 GPU 5 Android 6 Conclusão 2 / 33
3 Proposta de pesquisa x(t) f s = 1 T ADC f s = 1 T x(n) y(n) y(t) DSP DAC Objetivo: Avaliação do desempenho de diferentes dispositivos computacionais para processamento de áudio em tempo real. 3 / 33
4 Metodologia desenvolvida Passos preliminares: Identificação de modelos computacionais. Escolha de dispositivos. Escolha de algoritmos de processamento em tempo real. Métricas e métodos para avaliação de desempenho. Experimentação: Entrada, saída e agendamento. Testes e resultados. Análise. 4 / 33
5 Identificação de modelos computacionais de interesse Critérios gerais: Baixo custo e alta disponibilidade. Licenças de uso. Expressão computacional. Critérios musicais : Entrada e saída de áudio. Sensores. Mobilidade. 5 / 33
6 Escolha de modelos computacionais e dispositivos Microcontroladores: Arduino. Processadores paralelos: Placas GPU. Dispositivos móveis: Sistema operacional Android. 6 / 33
7 Escolha de algoritmos de processamento em tempo real Transformada Rápida de Fourier (FFT): { Ek + e 2πi N k O k se k < N 2 X (k) = E k N + e 2πi N (k N 2 ) O 2 k N se k N 2 2 Convolução no domínio do tempo: w = x h w r = N 1 m=0 x m h r m W k = X k H k. Síntese aditiva: y(n) = K ( ) 2πfk n r k (n) sin, n 0. R k=1 Phase Vocoder: FFT + Síntese aditiva. 7 / 33
8 Métricas e métodos para avaliação de desempenho Parâmetros determinantes da complexidade computacional: Tamanho do bloco (período em amostras). Parâmetros específicos de cada algoritmo. Métricas de avaliação: Tempo de processamento de um bloco de amostras. Instância máxima viável em tempo real. 8 / 33
9 Introduc a o Metodologia Arduino GPU Android Conclusa o Arduino Microcontrolador Atmel AVR ATmega328P: CPU RISC, 16 MHz, 8 bits. 2 KB SRAM. Portas digitais com ADC e PWM. 9 / 33
10 Entrada e saída de áudio e agendamento (ATMega328P) Características gerais: ADC de 8 e 10 bits, até 80 KHz. PWM com 8 ou 16 bits. Agendamento por interrupção. Configurações dos testes: Entrada e saída de 8 bits. Frequência de operação: Hz. 10 / 33
11 Convolução no Arduino Tempo de sintese (ms) Tempo de sintese (ms) Convolucao no dominio do tempo (mult/div) Ordem do filtro Convolucao no dominio do tempo (bit-shifting var.) Ordem do filtro Tempo de sintese (ms) bloco de 32 amostras bloco de 64 amostras bloco de 128 amostras bloco de 256 amostras Convolucao no dominio do tempo (bit-shifting const.) Ordem do filtro 11 / 33
12 Síntese aditiva no Arduino bloco de 32 amostras bloco de 64 amostras bloco de 128 amostras Sintese Aditiva em Arduino (usando um loop) 5 Sintese Aditiva em Arduino (using inline code) 5 Tempo de sintese (ms) Numero de osciladores Tempo de sintese (ms) Numero de osciladores 12 / 33
13 FFT no Arduino (a 1953 Hz) FFT no Arduino (R=1953 Hz) Tempo de analise (ms) Tamanho do bloco de amostras fft usando sin() fft com consulta a tabela periodo teorico do ciclo DSP 13 / 33
14 Processamento de áudio em tempo real em Arduino Pontos importantes a serem observados: Configuração de relógios e pré-escalonadores. Escolha dos tipos (byte, unsigned long, int, float, etc). Uso de laços e condicionais. Consulta a variáveis e vetores. Restrição das instâncias dos algoritmos. 14 / 33
15 GPU: Graphics Processing Unit 15 / 33
16 Entrada, saída e agendamento na GPU Host GPU Host memory GPU memory INPUT Pd memcpy(dptr, hptr, n, hosttodevice) GPU cores Host memory Pd INPUT INPUT GPU memory INPUT GPU cores Time Host memory Pd Pd INPUT Host memory INPUT run_kernel(dptr, n) memcpy(hptr, dptr, n, devicetohost) Host memory OUTPUT Pd OUTPUT GPU memory XXXXXX GPU cores GPU memory OUTPUT GPU cores GPU memory OUTPUT GPU cores Entrada, saída e agendamento: Pure Data. Medição dos tempos de: Transferência de memória. Execução do programa. Total de ida e volta. 16 / 33
17 Modelos de placa e implementações GF100GL GTX275 GTX400 CUDA cores Memória RAM (MB) Banda de memória (GB/s) Implementações paralelas: Convolução. FFT (da API). Phase Vocoder (FFT + Síntese Aditiva). 17 / 33
18 Convolução na GPU 10 Tempo de convolucao - todas as placas 8 Duracao (s) ,37 0,74 1,48 2,97 Periodo do bloco (s) GTX275 GTX470 GF100GL restricao de tempo real 18 / 33
19 FFT na GPU 3 Tempo de roundtrip da FFT - GTX Duracao (s) ,37 0,74 1,48 2,97 Periodo do bloco (s) hospedeiro para dispositivo tempo de kernel dispositivo para hospedeiro roundtrip restricao de tempo real 3 Tempo de roundtrip da FFT - GTX470 3 Tempo de roundtrip da FFT - GF100GL Duracao (s) Duracao (s) ,37 0,74 1,48 2,97 Periodo do bloco (s) ,37 0,74 1,48 2,97 Periodo do bloco (s) 19 / 33
20 Síntese aditiva do Phase Vocoder na GPU 30 Tempo de sintese do PV - GTX Duracao (s) ,37 0,74 1,48 2,97 Periodo do bloco (s) 1. interpolacao cubica 2. interpolacao linear 3. consulta truncada 4. funcao seno 5. interpolacao de textura sem calculo restricao de tempo real Duracao (s) Tempo de sintese do PV - GTX470 Duracao (s) Tempo de sintese do PV - GF100GL ,37 0,74 1,48 2,97 Periodo do bloco (s)... 0,37 0,74 1,48 2,97 Periodo do bloco (s) 20 / 33
21 Processamento de áudio em tempo real em GPU Algumas conclusões: Modelos não profissionais podem valer a pena. Tempo de transferência e da FFT são similares. Cuidado com o uso de operações da GPU. 21 / 33
22 Processamento em tempo real em Android Kernel do Linux. Entrada de áudio: microfone, chamada, arquivo, rede, etc. Saída de áudio: 8 e 16 bits. Agendamento da API. 22 / 33
23 Aplicativo para Android e testes Cenário dos testes: Chamado com instruções. Envio dos resultados por aparelhos testados. 14 algoritmos em 2 fases. 23 / 33
24 FFT no Android (API 2) 180 Tempo de execucao da rotina DSP - Algoritmo FFT - API 2 (blocos maiores) Duration (ms) GT-I8150B XT320 LG-P698f (2) MK16i GT-P1000L MB860 Block size LG-P500h (1) GT-S5360L LG-P698f (1) GT-I9000B GT-S5360B Blade LG-P500h (2) Lenovo A750 GT-S5830i GT-I8530 R800i DSP period 24 / 33
25 FFT no Android (API 4) 180 Tempo de execucao da rotina DSP - Algoritmo FFT - API 4 (blocos maiores) Duration (ms) MZ607 Nexus 7 (1) GT-S7562 GT-I8190L GT-I9000B Nexus 4 Galaxy Nexus MB526 Transformer TF101 GT-I9300 (2) Block size GT-I9300 (3) LG-P990 ST25a Transformer Prime TF201 Nexus 7 (2) GT-I9300 (1) LT26i NB0026 DSP period 25 / 33
26 Convolução no Android (API 2) 250 Valor medio do tamanho maximo de bloco para convolucao em tempo real - API 2 Numero de amostras R800i GT-I8530 GT-S5830i Lenovo A750 LG-P500h (2) Blade GT-S5360B GT-I9000B LG-P698f (1) GT-S5360L LG-P500h (1) MB860 GT-P1000L MK16i LG-P698f (2) XT320 GT-I8150B 26 / 33
27 Convolução no Android (API 4) 250 Valor medio do tamanho maximo de bloco para convolucao em tempo real - API Numero de amostras NB0026 LT26i GT-I9300 (1) Nexus 7 (2) Transformer Prime TF201 ST25a LG-P990 GT-I9300 (3) GT-I9300 (2) Transformer TF101 MB526 Galaxy Nexus Nexus 4 GT-I9000B GT-I8190L GT-S7562 Nexus 7 (1) MZ / 33
28 Síntese aditiva no Android (API 2) 140 Valor medio do numero maximo de osciladores na Sintese Aditiva - API Numero de osciladores MB860 GT-P1000L MK16i LG-P698f (2) XT320 GT-I8150B Lenovo A750 LG-P500h (2) Blade GT-S5360B GT-I9000B LG-P698f (1) GT-S5360L LG-P500h (1) R800i GT-I8530 GT-S5830i Funcao sin() da API consulta truncada consulta c/ interpolacao linear consulta c/ interpolacao cubica 28 / 33
29 Síntese aditiva no Android (API 4) 140 Valor medio do numero maximo de osciladores na Sintese Aditiva - API Numero de osciladores Nexus 4 GT-I9000B GT-I8190L GT-S7562 Nexus 7 (1) MZ607 ST25a LG-P990 GT-I9300 (3) GT-I9300 (2) Transformer TF101 MB526 Galaxy Nexus NB0026 LT26i GT-I9300 (1) Nexus 7 (2) Transformer Prime TF201 Funcao sin() da API consulta truncada consulta c/ interpolacao linear consulta c/ interpolacao cubica 29 / 33
30 Processamento de áudio em tempo real em Android Pontos importantes a serem observados: Heterogeneidade de capacidade computacional. Versão da API influencia o desempenho. 30 / 33
31 Considerações finais A metodologia apresentada pode ser usada para avaliação de qualquer dispositivo computacional. Foram estudados modelos com possibilidades e restrições distintas. Foram evidenciadas as características e o desempenhode cada um para o processamento de áudio em tempo real. 31 / 33
32 Publicações e apresentações em congressos 2012: 2013: Bianchi (2012). Processamento de áudio em tempo real em sistemas Android. Terceiro Workshop em Música Ubíqua. Bianchi e Queiroz (2012a). Measuring the performance of realtime DSP using pure data and gpu. Proceedings of the International Computer Music Conference 2012, pp Bianchi e Queiroz (2012b). On the performance of real-time DSP on Android devices. Proceedings of the 9th Sound and Music Computing Conference, pp Bianchi e Queiroz (2013). Real time digital audio processing using Arduino. Proceedings of the Sound and Music Computing Conference 2013, pp Carvalho Jr, Rosan, Bianchi e Queiroz (2013). FFT benchmark on Android devices: Java versus JNI. Proceedings of the 14th Brazilian Symposium on Computer Music. (a ser publicado) 32 / 33
33 Fim! Obrigado pela atenção! Contato: Grupo de Computação Musical do IME/USP: Esta apresentação: 33 / 33
Estudos de caso sobre processamento de áudio em tempo real em plataformas computacionais de alta disponibilidade e baixo custo
Estudos de caso sobre processamento de áudio em tempo real em plataformas computacionais de alta disponibilidade e baixo custo André J. Bianchi 8/5/213 Processamento de áudio em tempo real Algoritmos Arduino
Leia maisProcessamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo
Processamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo André J. Bianchi 15/10/2013 Introdução Metodologia Arduino GPU Android Introdução Contexto e motivação
Leia maisProcessamento de áudio em tempo real utilizando dispositivos não convencionais:
Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto
Leia maisProcessamento digital de sinais em tempo real utilizando Arduino
Processamento digital de sinais em tempo real utilizando Arduino André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo
Leia maisProcessamento de áudio em tempo real em sistemas Android
Processamento de áudio em tempo real em sistemas Android André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo 4 de
Leia maisProcessamento de áudio digital em tempo real em dispositivos não convencionais.
Processamento de áudio digital em tempo real em. Estudos de caso:, e. Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo 21 de agosto de 2011 Objetivo
Leia maisINE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome
INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome Para paralelizar códigos de programas, tudo que necessitamos é de uma construção sintática denominada kernel. Seja o kernel: kernel void
Leia maisTécnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução
Leia maisENGENHARIA DE SISTEMAS MICROPROCESSADOS
ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução
Leia maisProcessamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo. André Jucovsky Bianchi
Processamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo. André Jucovsky Bianchi Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade
Leia maisProcessamento de áudio em tempo real em plataformas computacionais de alta disponibilidade e baixo custo. André Jucovsky Bianchi
i Processamento de áudio em tempo real em plataformas computacionais de alta disponibilidade e baixo custo. André Jucovsky Bianchi Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade
Leia maisIntrodução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial
Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial 1 Definição de microcontroladores É um circuito integrado que pode ser programado para realização
Leia maisFabrício Gomes Vilasbôas
Fabrício Gomes Vilasbôas Apresentação Placas Arquitetura Toolkit e Ferramentas de Debug Pensando em CUDA Programação CUDA Python Programação PyCUDA 1) Grids( padrão Globus) 2) Clusters ( padrão MPI) 3)
Leia maisIntrodução à robótica
Núcleo de Robótica e Sistemas Cibernéticos Ensino pesquisa e extensão em robótica educacional e cibernética. Introdução à robótica Objetivo da aula 7: Entender o funcionamento de um controlador ou processador
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (2.0) (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre
Leia maisPredição de Utilização de Recursos Computacionais Usando Séries Temporais
Predição de Utilização de Recursos Computacionais Usando Séries Temporais Aluno: Paulo Roberto Pereira da Silva Orientador: Paulo Romero Martins Maciel Coorientador: Jean Carlos Teixeira de Araujo de Garanhuns
Leia maisArquitetura do Microcontrolador Atmega 328
Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Arquitetura do Microcontrolador Atmega
Leia maisIntrodução a aquisição e processamento de sinais
TAPS Introdução a aquisição e processamento de sinais Prof. Theo Z. Pavan Departamento de Física - Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto-USP Roteiro Aquisição de sinais e frequência
Leia maisAplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center
Aplicações em CUDA Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Roteiro l Introdução l Eventos l Aspectos históricos l Operações atômicas l Introdução sobre
Leia maisMemory-level and Thread-level Parallelism Aware GPU Architecture Performance Analytical Model
Memory-level and Thread-level Parallelism Aware GPU Architecture Performance Analytical Model Sunpyo Hong Hyesoon Kim ECE School of Computer Science Georgia Institute of Technology April 6, 2011 Visão
Leia maisSistemas Embarcados:
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Microcontroladores DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sistemas Embarcados
Leia mais5 Unidades de Processamento Gráfico GPUs
5 Unidades de Processamento Gráfico GPUs As GPUs são processadores maciçamente paralelos, com múltiplos elementos de processamento, tipicamente utilizadas como aceleradores de computação. Elas fornecem
Leia maisImplementação de um escalonador de processos em GPU
Implementação de um escalonador de processos em GPU Guilherme Martins guilhermemartins@usp.br 6 de abril de 2017 Guilherme Martins (guilhermemartins@usp.br) Implementação de um escalonador de processos
Leia maisComputação Paralela (CUDA)
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Computação Paralela (CUDA) Hussama Ibrahim hussamaibrahim@ufam.edu.br Notas de Aula Baseado nas Notas de
Leia maisUm pouco de história. SketchPad Tese de Doutorado de Ivan Sutherland (MIT) Conceito de comunicação com o computador
Um pouco de história 1 SketchPad - 1963 Tese de Doutorado de Ivan Sutherland (MIT) Conceito de comunicação com o computador http://www.youtube.com/watch?v=bkm3cmrqk2o 2 1 Tecnologia de input 1963 Mouse
Leia maisArduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner
Arduino Single-board microcontroller Microcontrolador Placa CPU, Memória, Serial, I/O Conectores, Fonte, USB, LEDs IDE Compilador, Bibliotecas, Editor, Burner http://arduino.cc/en/reference/homepage Shields
Leia maisEncapsulando patches Pure Data com a libpd
Encapsulando patches Pure Data com a libpd Pedro Bruel Grupo de Computação Musical IME/USP pedro.bruel@gmail.com 22 de outubro de 2013 1 / 51 Estrutura 1 Pure Data 2 3 Encapsulando o Pd 4 5 2 / 51 A linguagem
Leia maisAlgoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3
Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 História da computação ENIAC (1946-1955) 5000 op/seg 30 toneladas; 18 mil válvulas; 140
Leia maisParadigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot
Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Universidade Estadual de Santa Cruz Cronograma Introdução Serial vs Processamento
Leia maisMétodos Matemáticos e Computacionais em Música
Métodos Matemáticos e Computacionais em Música Luiz Velho, Paulo Cesar Carvalho, Sergio Krakowski, Marcelo Cicconet IMPA Processamento de Sinais Sonoros Luiz Velho Som - Sinal 1 D Música e Som Musica
Leia maisCONCURSO DE ADMISSÃO AO CURSO DE FORMAÇÃO ENGENHARIA ELETRÔNICA CADERNO DE QUESTÕES
CONCURSO DE ADMISSÃO AO CURSO DE FORMAÇÃO EXÉRCITO BRASILEIRO ENGENHARIA ELETRÔNICA CADERNO DE QUESTÕES 2012 l a QUESTÃO Valor: 1,00 Um filtro digital é especificado pela seguinte equação: y[n] = 4n-1]
Leia maisSparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile?
Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Paula Prata João Muranho Instituto de Telecomunicações Departamento de Informática Universidade da Beira Interior Instituto
Leia maisMicrocontroladores e Interfaces
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial e Computadores Carlos Silva 2º Semestre de 2005/2006 Aula - A1 21 Fev 06 - M Sumário Objectivos da disciplina Programa de Microcontroladores
Leia maisParalelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA
Paralelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA Luis Henrique Alves Lourenço Grupo de Visão, Robótica e Imagens Universidade Federal do Paraná 7 de abril de 2011 Sumário 1 Introdução
Leia maisAula 05. Fundamentos de Hardware e Software. Prof. Dr. Dilermando Piva Jr.
05 Aula 05 Fundamentos de Hardware e Software Prof. Dr. Dilermando Piva Jr. Site Disciplina: http://fundti.blogspot.com.br/ Fundamentos de Hardware Sistemas de Computação Sistemas de Computação Computador
Leia maisTransformada de Fourier. Theo Pavan e Adilton Carneiro TAPS
Transformada de Fourier Theo Pavan e Adilton Carneiro TAPS Análise de Fourier Análise de Fourier - representação de funções por somas de senos e cossenos ou soma de exponenciais complexas Uma análise datada
Leia maisMicrocontroladores PROF. ME. HÉLIO ESPERIDIÃO
Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microprocessador É um circuito integrado que contém milhares, ou mesmo milhões, de transistores. Os transistores trabalham juntos para armazenar e manipular
Leia maisESTRUTURA E FUNCIONAMENTO DO COMPUTADOR
ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR Prof. Filippo Valiante Filho http://prof.valiante.info Estrutura do Computador Computador CPU (Central Processing Unit) Sistema de Armazenamento (Memórias) Sistema
Leia maisIntrodução a CUDA. Esteban Walter Gonzalez Clua. Medialab - Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center START
Introdução a CUDA START Esteban Walter Gonzalez Clua Medialab - Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center 1536 cores Dynamic Parallelism Hyper - Q Pipeline
Leia maisDETERMINAÇÃO DO GÊNERO DO LOCUTOR USANDO A TRANSFORMADA RÁPIDA DE FOURIER
Revista Ciências Exatas ISSN: 1516-893 Vol. 1 Nº. Ano 015 Natanael M. Gomes Universidade de Taubaté Marcio Abud Marcelino Universidade Estadual Paulista Universidade de Taubaté Francisco José Grandinetti
Leia maisi TIC 7/8 Funcionamento de um computador Informação 7 Unidade 1 A informação, o conhecimento e o mundo das tecnologias
i TIC 7/8 Informação 7 Funcionamento de um computador Unidade 1 A informação, o conhecimento e o mundo das tecnologias BIT Unidades de Informação BI NARY BIT DIG IT A unidade mínima de informação, com
Leia maisJônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011
Jônatas Lopes de Paiva jlp@ime.usp.br Instituto de Matemática e Estatística Universidade de São Paulo 06 de maio de 2011 Introdução String-matching O que é? Em que é utilizado Tipos GPU GPGPU String-matching
Leia maisSistemas Digitais: Introdução
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Digitais: Introdução DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Objetivo: Projetar Sistemas
Leia maisDesenvolvendo aplicações com LabVIEW FPGA. Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas
Desenvolvendo aplicações com LabVIEW FPGA Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas Agenda O que são FPGAs e por que eles são úteis? Programando FPGAs Hardware
Leia maisArduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner
Arduino Single-board microcontroller Microcontrolador Placa CPU, Memória, Serial, I/O Conectores, Fonte, USB, LEDs IDE Compilador, Bibliotecas, Editor, Burner http://arduino.cc/en/reference/homepage Shields
Leia maisPCS 2039 Modelagem e Simulação de Sistemas Computacionais
UNIVERSIDADE DE SÃO PAULO ESCOLA POLITÉCNICA Departamento de Engenharia de Computação e Sistemas Digitais PCS 2039 Modelagem e Simulação de Sistemas Computacionais Graduação em Engenharia de Computação
Leia mais4.3 - DMA & Chipset. CEFET-RS Curso de Eletrônica. Profs. Roberta Nobre & Sandro Silva. e
CEFET-RS Curso de Eletrônica 4.3 - DMA & Chipset Profs. Roberta Nobre & Sandro Silva robertacnobre@gmail.com e sandro@cefetrs.tche.br Unidade 04.3.1 DMA Dados podem ser transferidos entre dispositivos
Leia maisRevisão Análise em frequência e amostragem de sinais. Hilton de Oliveira Mota
Revisão Análise em frequência e amostragem de sinais Hilton de Oliveira Mota Introdução Análise em frequência (análise espectral): Descrição de quais frequências compõem um sinal. Por quê? Senóides são
Leia maisConstrução de um protótipo de interface para microcomputador tipo PC para interligar duas placas mãe
Construção de um protótipo de interface para microcomputador tipo PC para interligar duas placas mãe Orientando: Cleverson dos Santos Orientador: Antonio Carlos Tavares Blumenau, Julho/2002 Roteiro da
Leia maisComputadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.
O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.
Leia maisJadsonlee da Silva Sá
Introdução aos Sistemas Microcontrolados Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa Introdução aos Sistemas Microcontrolados Assembly, C, java,... Circuito Reset
Leia maisPlataformas de Proto-pação e Computadores miniaturizados. Computação Aplicada à Comunicação e Arte
Plataformas de Proto-pação e Computadores miniaturizados Computação Aplicada à Comunicação e Arte Plataformas de Proto-pagem Arduino Raspberry Pi BeagleBoard Arduino plataforma de proto-pagem eletrônica
Leia maisComputação científica utilizando placas gráficas
Brasília, dezembro de 2008 Universidade de Brasília - Faculdade do Gama Sumário Introdução Sumário Introdução Arquitetura da GPU Sumário Introdução Arquitetura da GPU Modelo de programação Sumário Introdução
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura
Leia maisParalelização Eficiente para o Algoritmo Binário de Exponenciação Modular
Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Pedro Carlos da Silva Lara Fábio Borges de Oliveira Renato Portugal Laboratório Nacional de Computação Científica Índice 1 Introdução
Leia maisMultiplexação FDM. Amplamente utilizada de forma conjunta às modulações AM, FM, QAM, PSK Usada na comunicação de sinais analógicos e digitais
Multiplexação FDM Multiplexação por Divisão de Frequência A multiplexação não é em si uma técnica de modulação de sinais, mas é frequentemente utilizada de forma complementar Possibilita o envio simultâneo
Leia maisOrganização de Computadores I
Organização de Computadores I Aula 2 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte2.pdf Organização de Computadores I Aula 2 1/29 Tópicos de Computação. de um Sistema de Computação..
Leia maisHardware Central de Cursos Professor Pimentel
Hardware Central de Cursos Professor Pimentel Geral Quem perguntou? X X X 1 --- 2, 3, 4, 5 O que é?... é bastante utilizado, principalmente na área de computação, e se aplica à unidade central de processamento,
Leia maisMicrocontroladores e Microprocessadores
Microcontroladores e Microprocessadores Prof. Alison Lins Microcontrolador Agenda - Histórico da Evolução da Eletrônica - Microprocessadores - Memórias - Microcontroladores - Microcontrolador x Microprocessador
Leia maisIntrodução ao CUDA. Material elaborado por Davi Conte.
Introdução ao CUDA Material elaborado por Davi Conte. O objetivo deste material é que o aluno possa iniciar seus conhecimentos em programação paralela, entendendo a diferença da execução de forma sequencial
Leia maisBiblioteca para comunicação ciente de localização geográfica entre dispositivos móveis
Biblioteca para comunicação ciente de localização geográfica entre dispositivos móveis Renato A. Santos & Tonny C. Cordeiro ravila.santos@gmail.com costa.tonny@gmail.com Departamento de Ciência da Computação
Leia mais3 Computação de Propósito Geral em Unidades de Processamento Gráfico
3 Computação de Propósito Geral em Unidades de Processamento Gráfico As Unidades de Processamento Gráfico (GPUs) foram originalmente desenvolvidas para o processamento de gráficos e eram difíceis de programar.
Leia maisGPU Computing. GeForce and Radeon OpenCL Test. OpenCL
GPU Computing GeForce and Radeon OpenCL Test Publicado em 15.jan.2010 em www.geeks3d.com - Tradução por Luiz Gustavo TURATTI http://www.geeks3d.com/20100115/gpu-computing-geforce-and-radeon-opencl-test-part-1/
Leia maisCircuitos Lógicos. Prof. Odilson Tadeu Valle
Introdução Circuitos Lógicos Prof. Odilson Tadeu Valle Instituto Federal de Santa Catarina IFSC Campus São José odilson@ifsc.edu.br 1/44 Sumário 1 Introdução 2 Analógico Versus Digital 3 Bits, Bytes e
Leia maisProcessamento Paralelo Utilizando GPU
Processamento Paralelo Utilizando GPU Universidade Estadual de Santa Cruz Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Evalero Orellana Cronograma Breve introdução sobre processamento paralelo
Leia maisEstudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei
Estudo sobre a Arquitetura AVR32 Bruno George de Moraes Gustavo Henrique Nihei Motivação Século XX - advento dos dispositivos portáteis Alto poder computacional Baixo consumo de energia Grande parte dos
Leia maisParalelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)
Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto
Leia maisArquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão
Arquitetura do 8051 Disciplina de Microcontroladores Prof. Ronnier Prof. Rubão Objetivo fim Entender as noções básicas de microprocessadores, microcontroladores e sistemas embarcados Estudar a arquitetura
Leia mais1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador
1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática
Leia maisSistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2
Leia maisInterrupções Externas
Interrupções Externas Dois acontecimentos podem gerar o pedido de interrupção: Transição 1 0 Nível 0 A fonte destes acontecimentos é aplicada a um dos pinos INT0 e INT1. Logo que se faça a activação das
Leia maisFundamentos de Informática Introdução aos Conceitos Básicos
Fundamentos de Informática Introdução aos Conceitos Básicos Professor: Luiz A. P. Neves neves@ufpr.br e lapneves@gmail.com 1 Roteiro Objetivos Conceitos Básicos Processamento de Dados Modalidade de Computadores
Leia maisEstrutura de um computador digital. Gustavo Queiroz Fernandes
Gustavo Queiroz Fernandes Atualizado em: 18/02/2019 Sumário Objetivos... 1 Pré-requisitos... 1 Recursos e Materiais... 1 Última Atualização... 1 1. Memória primária... 1 2. Memória secundária... 2 3. Unidade
Leia maisi) Filtragem ii) Amostragem e reconstituição cuja Transformada de Fourier (TF) é dada na Figura seguinte e que constitui a entrada de um SLIT S.
6ª Aula Prática de Sistemas e Sinais (LEIC Alameda) Sumário: i) Filtragem ii) Amostragem e reconstituição Exercícios Propostos Exercício 1: Considere o sinal x (t) cuja Transformada de Fourier (TF) é dada
Leia maisCapítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho
Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações Bit, Caractere, Byte e Palavra Conceito de Arquivos e Registros Medidas de desempenho http://www.ic.uff.br/~debora/fac! 1 2
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações Bit, Caractere, Byte e Palavra Conceito de Arquivos e Registros Medidas de desempenho 2
Leia maisPrograma Trainee 2012 Módulo 4 Microcontroladores AVR
Programa Trainee 2012 Módulo 4 Microcontroladores AVR Conteúdo 01 Arquitetura de microcontroladores AVR Mayara de Sousa Prof. Leandro Schwarz Tempo Estimado 2 h.a. Projeto de Placas de Circuito Impresso
Leia maisInstalação e Manutenção de Computadores Sandra Silva
Instalação e Manutenção de Computadores Sandra Silva 2010 Unicenter. Todos os direitos reservados Hardware vs software Hardware É a parte física do computador, ou seja, o conjunto de dispositivos responsáveis
Leia maisKIT DIDÁTICO PARA MICROCONTROLADORES ARM7 - FAMÍLIA LPC 214X
KIT DIDÁTICO PARA MICROCONTROLADORES ARM7 - FAMÍLIA LPC 214X Bruno Roussenq Bichels; Ghybson Gregh Martins Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - IF-SC Av. Mauro Ramos,
Leia maisAnatomia do Arduino Bootloader
Anatomia do Arduino Bootloader Fábio Olivé (fabio.olive@gmail.com) Tópicos A plataforma Arduino A família Atmel AVR ATmega Padronização da configuração e uso do ATmega Detalhando o ATmega328P Especificações
Leia maisComputação Musical - Introdução slides do curso Computação Musical
- Introdução slides do curso Departamento de Ciência da Computação Universidade Federal de São João Del Rei 2014/2 O que é computação musical? Denitivamente é computação. Relacionada e aplicada à música.
Leia maisComparação de eficiência entre OpenCL e CUDA
Aluno: Thiago de Gouveia Nunes Orientador: Prof. Marcel P. Jackowski GPGPU O que é GPGPU? É programação de propósito geral em GPUs. =D GPGPU Existem 2 linguagens populares no mercado para GPGPU, o CUDA
Leia maisProcessamento de Sinais 2005/6 Engenharia Aeroespacial (Aviónica)
Processamento de Sinais 2005/6 Engenharia Aeroespacial (Aviónica) João Pedro Gomes jpg@isr.ist.utl.pt 1 Apresentação da disciplina Motivação: Ideias-chave do processamento de sinal e aplicações Sistemas
Leia maisHierarquia de memória:
INE5645 Programação Paralela e Distribuída Aluno Modelo de Execução CUDA - A execução do programa controlado pela CPU pode lançar kernels, que são trechos de código executados em paralelo por múltiplas
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Computadores vetoriais Fontes dos slides: Livro Patterson e Hennessy, Quantitative Approach e site do curso EE 7722, GPU Microarchitecture do Prof. David Koppelman Graphical
Leia maisOrganização de Computadores II
Universidade Estácio de Sá Curso de Informática Organização de Computadores II Entrada e Saída Prof. Gabriel P. Silva 24.11.2004 Comunicação com o Processador A comunicação dos periféricos com o processador
Leia maisEXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO
EXPERIÊNCIA 4: IMPLEMENTAÇÃO DE UM CRONÔMETRO Autores: Prof. Dr. André Riyuiti Hirakawa, Prof. Dr. Carlos Eduardo Cugnasca e Prof. Dr. Paulo Sérgio Cugnasca Versão 1.0-05/2005 1. OBJETIVO Esta experiência
Leia maisClusterização K-Means Paralelo Aplicado na Classificação de Alvos em Imagens de Alta Resolução
Clusterização K-Means Paralelo Aplicado na Classificação de Alvos em Imagens de Alta Resolução Luís Paulo Manfré Ribeiro luis.ribeiro@inpe.br Instituto Nacional de Pesquisas Espaciais - INPE São José dos
Leia maisTIPO DE COMPUTADORES VALE A PENA CONHECER SMARTPHONES
TIPO DE COMPUTADORES DESKTOPS 1 - NOTEBOOKS 2 - NETBOOKS VALE A PENA CONHECER SMARTPHONES 1 VALE A PENA CONHECER TABLETS VALE A PENA CONHECER TABLETS E/OU NETBOOKS 2 SISTEMA COMPUTACIONAL COMPLETO PEOPLEWARE
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA GISELE TAM GRR PHASE VOCODER
UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA GISELE TAM GRR20102167 PHASE VOCODER Trabalho realizado para a disciplina de Processamento Digital de Sinais 2 para
Leia maisCurso Arduino ESP8266. Aula #1 - Introdução
Curso Arduino ESP8266 Aula #1 Introdução O que é o ESP8266? Microcontrolador 32 bits para desenvolvimento de hardware Programação Comando AT Programação LUA C/C++ (Compatível com Arduino IDE) Portas de
Leia maisAluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
Leia maisSistemas Digitais EDUARDO ELIAS ALVES PEREIRA
Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA Sistemas Digitais Agenda Arduino Tipos, detalhes; Esquema elétrico. IDEs Eagle; ATMel Studio; Arduino Studio; Circuits IO (Simulador). Arduino Arduino MEGA2560
Leia maisExercícios para Processamento Digital de Sinal - Folha
Exercícios para Processamento Digital de Sinal - Folha 1 Interpolação Exercício 1 Suponha que uma sinusóide de frequência angular π/4 foi aplicada na entrada de um bloco expansor que aumenta a frequência
Leia maisTransformada de Fourier: fundamentos matemáticos, implementação e aplicações musicais
Transformada de Fourier: fundamentos matemáticos, implementação e aplicações musicais MAC 0337 Computação Musical Jorge H. Neyra-Araoz IME USP 22/11/2007 Resumo Série de Fourier para funções periódicas
Leia maisCelso L. Mendes LAC /INPE
Arquiteturas para Processamento de Alto Desempenho (PAD) Aula 9 Celso L. Mendes LAC /INPE Email: celso.mendes@inpe.br Aula 9 (3/5): E. Aceleradores Estrutura Planejada i. Estruturas mais Populares ii.
Leia maisSistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle
Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle Elaine de Mattos Silva1 José Paulo Vilela Soares da Cunha1 Orlando Bernardo Filho2 1 Departamento
Leia maisMC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos
MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos Aula 1: Introdução à programação paralela e ao ambiente de programação CUDA Profs.: Daniel Alfaro e Silvana Rossetto
Leia mais