Cronograma

Atividade 1

  • Revisão bibliográfica e estudo sobre aplicações para GPUs.
  • Período - 09.08 a 11.08
  • Detalhes - Concluído. Os artigos estudados mostram a viabilidade de nossas futuras implementações, características da linguagem de programação e problemas encontrados (por exemplo, questões de precisão).
  • Referências:
  • BREITBART, J. Case studies on gpu usage and data structure design. 2008. Dissertação (Mestrado em Ciência da Computação) — Universität Kassel.
  • CHONG, J. et al. Data-parallel large vocabulary continuous speech recognition on graphics processors. In: ANNUAL WORKSHOP ON EMERGING APPLICATIONS AND MANY CORE ARCHITECTURE (EAMA), 1., 2008. Proceedings. . . [S.l.: s.n.], 2008. p.23–35.
  • GOLDBERG, D. What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv., New York, NY, USA, v.23, n.1, p.5–48, 1991.
  • GULATI, K.; KHATRI, S. P.. Towards acceleration of fault simulation using graphics processing units. In: DAC ’08: PROCEEDINGS OF THE 45TH ANNUAL CONFERENCE ON DESIGN AUTOMATION, 2008, New York, NY, USA. Anais. . . ACM, 2008. p.822–827.
  • MANAVSKI, S. A.; VALLE, G. Cuda compatible gpu cards as efficient hardware accelerators for smith-waterman sequence alignment. BMC Bioinformatics, v.9, n.2, p.–10, 2008.
  • MANAVSKI, S. A. Cuda compatible gpu as an efficient hardware accelerator for aes cryptography. Signal Processing and Communications, 2007. ICSPC 2007. IEEE International Conference on, p.65–68, Nov. 2007.
  • MICHALAKES, J.; VACHHARAJANI, M. Gpu acceleration of numerical weather prediction. Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on, p.1–7, 2008.
  • SCHATZ, M. et al. High-throughput sequence alignment using graphics processing units. BMC Bioinformatics, v.8, n.1, 2007.

Atividade 2

  • Estudo sobre as características das GPUs atuais.
  • Período - 09.08 a 01.09
  • Detalhes - Próximo à conclusão. Faltam apenas informações referentes a placas gráficas da empresa AMD. Informações não somente sobre placas gráficas NVIDIA são importantes, pois podem apontar portabilidade de código entre diferentes plataformas, além de estender os resultados a serem obtidos.
  • Referências:
  • BARKER, K. J. et al. Entering the petaflop era: the architecture and performance of roadrunner. In: ACM/IEEE CONFERENCE ON SUPERCOMPUTING, 2008., 2008, Piscataway, NJ, USA. Proceedings. . . IEEE Press, 2008. p.1–11.
  • CRAWFORD, C. H. et al. Accelerating computing with the cell broadband engine processor. In: COMPUTING FRONTIERS, 2008., 2008, New York, NY, USA. Proceedings. . . ACM, 2008. p.3–12.
  • GSCHWIND, M. et al. Synergistic processing in cell’s multicore architecture. Micro, IEEE, v.26, n.2, p.10–24, March-April 2006.
  • GSCHWIND, M. et al. An open source environment for cell broadband engine system software. COMPUTER, p.37–47, 2007.
  • Nvidia compute unified device architecture (cuda) programming guide 2.0 beta2. [S.l.]: NVIDIA Corporation, 2008.
  • Nvidia geforce gtx 200 gpu architectural overview. [S.l.]: NVIDIA Corporation, 2008.
  • PHAM, D. et al. The design and implementation of a first-generation cell processor. Solid-State Circuits Conference, 2005. Digest of Technical Papers. ISSCC. 2005 IEEE International, p.184–592, Feb. 2005.
  • SEILER, L. et al. Larrabee: a many-core x86 architecture for visual computing. ACM Transactions on Graphics-TOG, v.27, n.3, p.18–18, 2008.

Atividade 3

  • Comparação de desempenho entre sistemas operacionais de 32 e 64 bits sobre arqtuitetura de processador de 64 bits.
  • Período - 10.08 a 11.08
  • Detalhes - Cancelada. Após instalações do Windows XP 32 e 64 bits, percebeu-se diversas dificuldades e problemas com a segunda versão, com questões como drivers. Além disso, foi escolhido o Windows Server 2008 64 bits como sistema operacional para a implementação e execução dos benchmarks em ambiente Windows. Essa escolha deve-se a descoberta do funcionamento de CUDA neste ambiente, pois os drivers são os mesmos utilizados no Windows Vista 64 bits.

Atividade 4

  • Instalação de GPU em computador.
  • Período - 11.08 a 01.09
  • Detalhes - Concluída. Após encomenda de computador específico, todos os componentes foram instalados. Os sistemas operacionais Windows Server 2008 e Ubuntu 8.10 funcionam corretamente na máquina. Detalhes da instalação no Ubuntu 8.10 podem ser encontradas aquiusa.png.
  • Configurações da máquina:
    • Intel Core 2 Duo E8500 (3,16 GHz, FSB 1333 MHz, 6 MB Cache)
    • MSI P7N SLI Platinum (LGA 775) Chipset: NVIDIA nForce 750i SLI
    • OCZ Reaper HPC Edition 4GB (2048MB x 2) DDR2 1066 MHz
    • Seagate 250 GB SATA 2(7200 RPM, 16 MB Cache) ST3250410AS
    • ZALMAN 850W Dual Heatpipe Cooled ATX12V 2.2 / ZM850-HP
    • Cooler Master Cavalier 3 (Black)
    • Sony NEC Optiarc 20x AD-7200S SATA (Preto)
    • XFX GeForce GTX 280 1024MB DDR3 XXX (GX-280N-ZDDU) (670 MHz, 1024MB DDR3@2500MHz)

Atividade 5

  • Configuração do Windows e ambiente de programação Visual Studio.
  • Período - 01.09 a 02.09
  • Detalhes - Concluída. As configurações para execução de código CUDA no Windows Server 2008 64b já estão corretas, como podem ser vistas aquiusa.png, além da integração entre CUDA e o Visual Studio 2008.

Atividade 6

  • Implementação de alterações e testes com a primeira aplicação a ser acelerada.
  • Período - 02.09 a 03.09
  • Detalhes - Cancelada. Apesar do código continuar disponível, a paralelização em GPU do algoritmo Lattice-Boltzmann será tratada por outro aluno da Computação.

Atividade 7

  • Seleção de benchmarks de HPC.
  • Período - 03.09 a 04.09
  • Detalhes - Escolha de benchmarks para arquiteturas paralelas e clusters, para posterior execução com CUDA. Apenas alguns benchmarks serão selecionados nessa fase, para não esgotar todo o tempo do projeto em esforço de programação. Os benchmarks escolhidos serão primeiramente executados em sua forma original (ou o mais próximo disso) na máquina definida acima, para comparações futuras com a versão paralelizada com CUDA. Considera-se ainda a hipótese de executar benchmarks em cluster, para comparações futuras considerando os fatores custo e desempenho.

Atividade 8

  • Adaptação dos benchmarks para ambiente Windows + GPU.
  • Período - 03.09 a 03.10
  • Detalhes - Implementação das alterações nos benchmarks para o correto funcionamento dos mesmos no Windows Server 2008 em CUDA, com a ferramenta Visual Studio 2008. Além da verificação do correto funcionamento dos benchmarks, essa atividade envolve o estudo de possíveis formas de otimizar os algoritmos. Os resultados obtidos em desempenho nessa atividade serão utilizados na atividade 9.

Atividade 9

  • Avaliação e análise do desempenho dos benchmarks.
  • Período - 04.09 a 03.10
  • Detalhes - Comparação do desempenho obtido em diferentes ambientes e linguagens de programação envolvidos no projeto. Estudo dos resultados obtidos, apresentando conclusões sobre quais benchmarks obtiveram uma melhora no desempenho, e as razões para isto.

Last edited Nov 9, 2009 at 1:17 PM by Pilla, version 8

Comments

No comments yet.