Arquivo da Categoria: Tema de Capa

Artigos da secção “Tema de Capa”.

Introdução à Programação em CUDA

Nos últimos anos, as placas gráficas (GPU – Graphical Processing Unit) ganharam relevância no âmbito da computação paralela. De facto, os mais recentes modelos da NVidia e da AMD/ATI – dois dos maiores construtores de placas gráficas – têm na ordem do milhar de núcleos de processamento, “core” na designação anglo-saxónica. Exemplo disso é a GPU NVidia GTX 680 que tem 1536 núcleos, estando creditada com um desempenho máximo (teórico) de 3.1 TFLOPS em cálculo de vírgula flutuante com precisão simples, sendo que um TFLOPS corresponde a 1012 operações de vírgula flutuante por segundo.

Contudo, do ponto de vista de computação paralela, de pouco serve a existência de milhares de cores se o seu uso estiver limitado somente à produção e tratamento de gráficos. Foi pois a pensar na comunidade de computação paralela e no potencial mercado que essa representa, que a NVidia lançou em Novembro de 2006, a versão 1.0 da plataforma Compute Unified Device Architecture (CUDA). Embora limitado às GPU da NVidia, as sucessivas versões de CUDA tornaram possível o uso de GPU para o desenvolvimento e execução de computação paralela de larga escala. Em alguns cenários de computação – tratamento de imagens e video, processamento de dados, aplicações bioinformáticas, etc. – as GPU proporcionam velocidades de execução muito mais rápidas do que as alcançadas pelos processadores (CPU). Neste artigo introduzem-se os conceitos básicos de programação paralela para a plataforma CUDA.

Makefiles

Criação de Makefiles

Antes de começar, convém referir que neste artigo assumimos a utilização de um ambiente *nix com acesso a uma shell (bash neste caso) e com o GNU make e gcc instalados. Mais à frente no artigo, é utilizado também o utilitário sed, que implica conhecimento de expressões regulares (regex).

Há quem dispense o IDE a favor da linha de comandos e compile os seus programas manualmente, algo especialmente importante para os iniciados, uma vez que proporciona uma excelente oportunidade para compreender de forma relativamente aprofundada o processo de compilação. Para projectos simples, a compilação directa na linha de comandos é perfeitamente apropriada. No entanto, torna-se conveniente automatizar a compilação de projectos mais complexos, e uma das ferramentas criadas para isso mesmo é o make.

Continuar a ler

Desenvolvimento de Aplicações Web Ricas (RIA) com Ext JS 4 e Rails 3

O Ext JS é um framework escrito com a linguagem de scripts JavaScript focada para o desenvolvimento de RIA (Rich Internet Application) ou Aplicações de Internet com interfaces Ricas.

Originalmente foi criado por Jack Slocum e começou como uma extensão do Yahoo! User Interface. Teve o apoio da comunidade no desenvolvimento e na versão 2.0 começou a ter duas licenças: a paga e a open source.

A versão open source é distribuída através da licença GPLv3 (General Public Licence) ou também conhecida como licença GNU, ou seja, a licença open source é válida apenas se a sua aplicação também for licenciada sobre os termos da GNU.

Atualmente o framework está na versão 4.1 e é distribuído pela Sencha Inc, uma companhia localizada na Califórnia, Estados Unidos. Segundo dados da própria Sencha, a comunidade de desenvolvedores ao redor do mundo do Ext JS é superior a um milhão de pessoas!

Continuar a ler