<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TecnoSapiens &#187; Software livre</title>
	<atom:link href="http://www.tecnosapiens.com.br/category/software-livre/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tecnosapiens.com.br</link>
	<description>De pedras lascadas a mentes afiadas</description>
	<lastBuildDate>Tue, 03 Aug 2010 18:21:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Rapidinha: CSS ou Tabelas HTML</title>
		<link>http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/</link>
		<comments>http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 02:06:32 +0000</pubDate>
		<dc:creator>Weslley</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Tecnologia de ponta]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[programação web]]></category>
		<category><![CDATA[tabela html]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=2203</guid>
		<description><![CDATA[O CSS (Cascading style sheets) fornece ao programador todo o controle do posicionamento de elementos em um documento HTML. Desde que o CSS tornou-se a uma tecnologia promissora, surgiu a pergunta: qual é melhor, o design usando CSS ou tabelas HTML ? Há alguns anos, o suporte à scripts CSS evoluia lentamente, enquanto as tabelas [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/' rel='bookmark' title='Permanent Link: Rapidinha: CpuFreq-Selector'>Rapidinha: CpuFreq-Selector</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4b903347bb118f717470fb592a2bdf0d&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2010%252F03%252Frapidinha-css-ou-tabelas-html%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Rapidinha%3A%20CSS%20ou%20Tabelas%20HTML%22%20%7D);"></div>
<p>O CSS (<em>Cascading style sheets</em>) fornece ao programador todo o controle do posicionamento de elementos em um documento HTML. Desde que o CSS tornou-se a uma tecnologia promissora, surgiu a pergunta: qual é melhor, o <em>design</em> usando CSS ou tabelas HTML ?</p>
<p><span id="more-2203"></span></p>
<ul>
<li>Há alguns anos, o suporte à scripts CSS evoluia lentamente,      enquanto as tabelas HTML eram plenamente suportadas por todos os      navegadores existentes. Hoje em dia, essa diferença diminuiu      significativamente;</li>
<li>As tabelas HTML são mais flexíveis quando a janela      do navegador é redimensionada, reescalando e quebrando seus elementos,      enquanto o CSS é mais preciso quanto ao posicionamento, porém bastante      inflexível;</li>
<li>As tabelas HTML são mais simples de serem      manuseadas do que as regras CSS;</li>
<li>O CSS evolui a cada dia, surgindo novas      funcionalidades com tal evolução;</li>
<li>Como dito anteriormente, o CSS é mais preciso do      que as tabelas HTML, permitindo que a sua página seja visualizada      exatamente da forma que o <em>web designer</em> desejar;</li>
<li>O uso de CSS pode deixar o código bem mais      organizado do que diversas tabelas aninhadas, facilitando a edição e      leitura do código.</li>
</ul>
<p>Assim, pesando os prós e contras de cada uma das técnicas, deve-se escolher qual delas é mais útil e adequada ao modo de trabalho do programador.</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/' rel='bookmark' title='Permanent Link: Rapidinha: CpuFreq-Selector'>Rapidinha: CpuFreq-Selector</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Editando gráficos gnuplot</title>
		<link>http://www.tecnosapiens.com.br/2009/09/editando-graficos-gnuplot/</link>
		<comments>http://www.tecnosapiens.com.br/2009/09/editando-graficos-gnuplot/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:56:55 +0000</pubDate>
		<dc:creator>Weslley</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[editar gráfico]]></category>
		<category><![CDATA[EPS]]></category>
		<category><![CDATA[gnuplot]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1862</guid>
		<description><![CDATA[Olá, pessoas! Esse artigo é dedicado aos usuários de gnuplot que necessitam dar aquela incrementada em seus gráficos, para facilitar a interpretação e chamar a atenção de quem os vê. O único pré-requisito para tal edição é exportar os gráficos para o forma Encapsulated Post Script, vulgo EPS. Passo 01: Exportar os gráficos para EPS [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/precisando-fazer-anotacoes-em-um-pdf-aqui-vai-uma-boa-dica/' rel='bookmark' title='Permanent Link: Precisando fazer anotações em um PDF? Aqui vai uma boa dica'>Precisando fazer anotações em um PDF? Aqui vai uma boa dica</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/09/criando-pdf-com-broffice/' rel='bookmark' title='Permanent Link: Criando PDF com BrOffice'>Criando PDF com BrOffice</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/10/nao-tem-adobe-reader-e-agora/' rel='bookmark' title='Permanent Link: Não tem Adobe Reader. E agora?'>Não tem Adobe Reader. E agora?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4b903347bb118f717470fb592a2bdf0d&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F09%252Feditando-graficos-gnuplot%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Editando%20gr%C3%A1ficos%20gnuplot%22%20%7D);"></div>
<p>Olá, pessoas!</p>
<p>Esse artigo é dedicado aos usuários de <em>gnuplot</em> que necessitam dar aquela incrementada em seus gráficos, para facilitar a interpretação e chamar a atenção de quem os vê. O único pré-requisito para tal edição é exportar os gráficos para o forma Encapsulated Post Script, vulgo EPS.</p>
<p><span id="more-1862"></span><strong>Passo 01: Exportar os gráficos para EPS</strong></p>
<p>Para exportar os gráficos para o formato EPS, basta colocar no fim de seu script Gnuplot as seguintes linhas:</p>
<p style="text-align: center;"><strong>set terminal postscript eps enhanced <em>20</em> <em>color dashed</em><br />
set output &#8220;<em>arquivo.eps</em>&#8221;<br />
replot</strong></p>
<p>Os termos na linha de comando que estão em itálico são opções da exportação, os quais podem ser trocados de acorodo com o desejado pelo usuário.</p>
<p><strong>Passo 02: Instalando um editor de gráficos vetoriais</strong></p>
<p>O formato EPS é um formato vetorial de imagens. Na prática, isso significa que a base da imagem não são os pixels, mas sim os pontos de curvaturas e cores da imagem, o que permite que você mude o tamanho, dê zoom na imagem sem perder resolução nem &#8220;serrilhar&#8221; a mesma. Um editor bem simples de usar e bastante potente é o <em>Inkscape Vector Graphics Editor</em>. Para instalá-lo, basta dar o comando:</p>
<p style="text-align: center;"><strong>sudo apt-get install inkscape</strong></p>
<p>ou então acessar a página do programa (<a href="http://www.inkscape.org/" target="_blank">http://www.inkscape.org/</a>) e baixar o pacote.</p>
<p><strong>Passo 03: Transformando o EPS para PDF</strong></p>
<p>Apesar de ser um ótimo editor de imagens, o Inkscape não consegue abrir figuras EPS, apenas salvar nesse formato. Sendo assim, é preciso transformar o arquivo para o formato PDF, o qual o Inkscape consegue abrir normalmente. Para isso, basta fazer:</p>
<p style="text-align: center;"><strong>epstopdf arquivo.eps</strong></p>
<p>e será gerado o<em> arquivo.pdf</em></p>
<p><strong>Passo 04: Editando o arquivo PDF</strong></p>
<p>Agora é só abrir o arquivo com o Inkscape. Abaixo tem um exemplo de como fica um gráfico aberto com o mesmo. Neste gráfico, a legenda do mesmo foi colocada alinhada verticalmente, para aproveitar melhor o espaço da figura.</p>
<div id="attachment_1864" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1864" title="Exemplo" src="http://www.tecnosapiens.com.br/home/wp-content/uploads/2009/09/Screenshot-300x210.png" alt="Exemplo de gráfico aberto com o Inkscape" width="300" height="210" /><p class="wp-caption-text">Exemplo de gráfico aberto com o Inkscape</p></div>
<p>Após abrir o arquivo, é necessário desagrupar as linhas do gráfico. Para isso, basta clicar com o botão direito em cima da imagem e clicar em &#8220;Ungroup&#8221; sempre que um bloco estiver agrupado, assim será possível a edição de cada elemento do gráfico.</p>
<p>O Inkscape tem muito mais opções de cores, linhas, espessuras, pontilhados, além de outros atributos. Com isso, você conseguirá deixar seus gráficos muito mais claros e atraentes aos olhos de quem o analisa.</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/precisando-fazer-anotacoes-em-um-pdf-aqui-vai-uma-boa-dica/' rel='bookmark' title='Permanent Link: Precisando fazer anotações em um PDF? Aqui vai uma boa dica'>Precisando fazer anotações em um PDF? Aqui vai uma boa dica</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/09/criando-pdf-com-broffice/' rel='bookmark' title='Permanent Link: Criando PDF com BrOffice'>Criando PDF com BrOffice</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/10/nao-tem-adobe-reader-e-agora/' rel='bookmark' title='Permanent Link: Não tem Adobe Reader. E agora?'>Não tem Adobe Reader. E agora?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/09/editando-graficos-gnuplot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acessando partições do Linux através do Windows</title>
		<link>http://www.tecnosapiens.com.br/2009/09/acessando-particoes-do-linux-atraves-do-windows/</link>
		<comments>http://www.tecnosapiens.com.br/2009/09/acessando-particoes-do-linux-atraves-do-windows/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 01:06:37 +0000</pubDate>
		<dc:creator>Raphael Carvalho</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[ext2]]></category>
		<category><![CDATA[ext3]]></category>
		<category><![CDATA[reiserfs]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1833</guid>
		<description><![CDATA[Para quem utiliza os dois sistemas operacionais na mesma máquina, é comum precisar de um arquivo que está em outra partição. No caso de estar no Linux e precisar de algo do Windows, o sistema possui ótimo suporte para partições FAT e até mesmo NTFS. Já o Windows, nada amigável com seus vizinhos, não tem [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/01/nota-rapida-pesquisando-o-conteudo-de-diversos-arquivos-linux/' rel='bookmark' title='Permanent Link: Nota rápida: pesquisando o conteúdo de diversos arquivos (linux)'>Nota rápida: pesquisando o conteúdo de diversos arquivos (linux)</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/09/instalando-openoffice-broffice-no-windows/' rel='bookmark' title='Permanent Link: Instalando OpenOffice (BrOffice) no Windows'>Instalando OpenOffice (BrOffice) no Windows</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/01/como-desabilitar-autorun-no-windows-xp/' rel='bookmark' title='Permanent Link: Como desabilitar autorun no Windows XP'>Como desabilitar autorun no Windows XP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=0c473b1b4ba3d0bd5c2f3a2dcafad533&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F09%252Facessando-particoes-do-linux-atraves-do-windows%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Acessando%20parti%C3%A7%C3%B5es%20do%20Linux%20atrav%C3%A9s%20do%20Windows%22%20%7D);"></div>
<p>Para quem utiliza os dois sistemas operacionais na mesma máquina, é comum precisar de um arquivo que está em outra partição. No caso de estar no Linux e precisar de algo do Windows, o sistema possui ótimo suporte para partições FAT e até mesmo NTFS. Já o Windows, nada amigável com seus vizinhos, não tem qualquer interesse em &#8220;enxergar&#8221; um sistema de arquivos como o EXT2, EXT3 e ReiserFS. Mas tudo pode ser remediado.</p>
<p style="text-align: center;"><img class="size-medium wp-image-1836 aligncenter" title="http://iq9.com/content/blog/mozy-ex2fs-truecrypt/d_drive.png" src="http://www.tecnosapiens.com.br/home/wp-content/uploads/2009/09/d_drive-245x300.png" alt="http://iq9.com/content/blog/mozy-ex2fs-truecrypt/d_drive.png" width="245" height="300" /></p>
<p style="text-align: center;"><em>Partição Ext2 no Windows</em></p>
<p><strong><span id="more-1833"></span>Ler partições EXT2 e EXT3 no Windows</strong></p>
<p>Para executar tal tarefa, basta instalar o Ext2 IFS, que promete (e cumpre) a missão de tornar possível a leitura e escrita neste sistema de arquivos a partir do Windows (NT4.0/2000/XP/2003/Vista). Após a instalação, a partição assumirá uma letra que você designar, logo você poderá acessar seus arquivos abrindo o Windows Explorer e selecionando, por exemplo, a partição H: . O Ext2 IFS é um driver que adiciona ao ambiente Windows a capacidade de gerenciar este sistema de arquivos. Para baixar esse driver:</p>
<p><a href="http://www.fs-driver.org/download/Ext2IFS_1_11a.exe" target="_blank">http://www.fs-driver.org/download/Ext2IFS_1_11a.exe</a></p>
<p><strong>Ler partições ReiserFS a partir do Windows</strong></p>
<p>Para quem faz uso do ReiserFS, há um software portátil para leitura e cópia dos dados. O software se chama YAReG, é super leve e simples, bom para quebrar aquele galho. Com ele você acessa os diretórios da partição, e tem a opção de copiar os dados para um outro local (por exemplo, uma partição NTFS, um pen drive, etc). Para baixá-lo:</p>
<p><a href="http://yareg.akucom.de/index.html#DOWNLOAD" target="_blank">http://yareg.akucom.de/index.html#DOWNLOAD</a></p>
<p>Bom pessoal, estes são os softwares que utilizo quando preciso acessar esses tipos de sistema de arquivos, há outros na internet, inclusive para XFS e outros, quem souber e quiser deixar aqui a dica para todos, fique à vontade!</p>
<p>Até a próxima!</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/01/nota-rapida-pesquisando-o-conteudo-de-diversos-arquivos-linux/' rel='bookmark' title='Permanent Link: Nota rápida: pesquisando o conteúdo de diversos arquivos (linux)'>Nota rápida: pesquisando o conteúdo de diversos arquivos (linux)</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/09/instalando-openoffice-broffice-no-windows/' rel='bookmark' title='Permanent Link: Instalando OpenOffice (BrOffice) no Windows'>Instalando OpenOffice (BrOffice) no Windows</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/01/como-desabilitar-autorun-no-windows-xp/' rel='bookmark' title='Permanent Link: Como desabilitar autorun no Windows XP'>Como desabilitar autorun no Windows XP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/09/acessando-particoes-do-linux-atraves-do-windows/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Computação Heterogênea</title>
		<link>http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/</link>
		<comments>http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 19:30:20 +0000</pubDate>
		<dc:creator>Weslley</dc:creator>
				<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Ciência]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Novidades]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Tecnologia de ponta]]></category>
		<category><![CDATA[Tecnologias do amanhã]]></category>
		<category><![CDATA[cell]]></category>
		<category><![CDATA[computação heterogênea]]></category>
		<category><![CDATA[hpc]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1679</guid>
		<description><![CDATA[Antes de qualquer outra palavra, gostaria de postar aqui um pedido de desculpas aos leitores, devido a diminuição considerável de novas postagens. Entretanto, os membros do time TS estão coincidentemente passando por períodos de mudanças e muito trabalho. Tentaremos, à medida do possível, voltar ao ritmo normal.  Bom, agora, com a cara de um cachorro [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/02/o-que-e-fisica-computacional/' rel='bookmark' title='Permanent Link: O que é Física Computacional ?'>O que é Física Computacional ?</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/02/usar-fortran-por-que/' rel='bookmark' title='Permanent Link: Usar Fortran ? Por quê ?'>Usar Fortran ? Por quê ?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4b903347bb118f717470fb592a2bdf0d&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F07%252Fcomputacao-heterogenea%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Computa%C3%A7%C3%A3o%20Heterog%C3%AAnea%22%20%7D);"></div>
<p>Antes de qualquer outra palavra, gostaria de postar aqui um pedido de desculpas aos leitores, devido a diminuição considerável de novas postagens. Entretanto, os membros do time TS estão coincidentemente passando por períodos de mudanças e muito trabalho. Tentaremos, à medida do possível, voltar ao ritmo normal.  Bom, agora, com a cara de um cachorro que quebrou o vaso da dona, eu volto a falar-lhes sobre as novas &#8220;aventuras&#8221; da computação de alto desempenho, COMPUTAÇÃO HETEROGÊNEA!</p>
<p>A computação de alto desempenho contemporânea vem tomando rumos não imaginados há alguns anos atrás. Enquanto os computadores mais rápidos do mundo alternavam entre arquiteturas complexas e um número grande de processadores comuns, novas máquinas bastante potentes vem juntando diversas arquiteturas e componentes para ganhar desempenho com baixo custo.</p>
<p><span id="more-1679"></span></p>
<p>O <a href="http://www.top500.org/system/9707" target="_blank">RoadRunner</a>, o supercomputador mais rápido atualmente, é composto por processadores PowerXCell 8i 3.2 Ghz, os quais integram os velhos conhecidos PowerPC com alguns processadores auxiliares dentro de um mesmo núcleo, e por processadores Opteron DC 1.8 GHz. Os processadores AMD são responsáveis pelo controle dos dados, e os Cell fazem a parte pesada dos cálculos, resultando assim em cerca de 1,1 PFlops de desempenho.</p>
<p>Já o <a href="http://www.top500.org/system/9883" target="_blank">TSUBAME</a> apresenta algo ainda mais inovador: mesclar processadores &#8220;comuns&#8221; AMD Opteron 2.4/2.6 GHz, Intel Xeon E5440 2.833 GHz com arquiteturas mais complexas, como o <a href="http://forum.pcvsconsole.com/viewthread.php?tid=12946" target="_blank">ClearSpeed CSX600</a>, processadores dedicados a operações matemáticas, além do uso de placas de vídeo nVidia GT200, auxiliando nos cálculos massivos com o CUDA.</p>
<p>Com a tecnologia de integração, fica mais fácil a integração de sistemas já existente para obter mais performance. Assim, se esta vertente da HPC (<em>High Performance Computing</em>) firmar-se como tendência mundial, veremos um número muito grande de sistemas contendo diversas tecnologias antes usadas separadamente, o que parece ser bom, pois o custo de tecnologias <em>Off-the-shelf</em> são menores que os produtos de ponta. Assim, teremos máquinas potentes em computadores pessoais, e não somente em grandes pólos.</p>
<p>See ya!</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/02/o-que-e-fisica-computacional/' rel='bookmark' title='Permanent Link: O que é Física Computacional ?'>O que é Física Computacional ?</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/02/usar-fortran-por-que/' rel='bookmark' title='Permanent Link: Usar Fortran ? Por quê ?'>Usar Fortran ? Por quê ?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rapidinha: Compilando um programa C++ com CUDA</title>
		<link>http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/</link>
		<comments>http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/#comments</comments>
		<pubDate>Wed, 27 May 2009 01:44:46 +0000</pubDate>
		<dc:creator>Weslley</dc:creator>
				<category><![CDATA[Arquivo TecnoSapiens]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Tecnologia de ponta]]></category>
		<category><![CDATA[Tecnologias do amanhã]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Compilação]]></category>
		<category><![CDATA[GPU]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1637</guid>
		<description><![CDATA[Em meus primeiros passos no aprendizado de programação em CUDA, tive um problema muito básico, mas que foi difícil encontrar a solução do mesmo: como compilar um programa escrito em C++ for CUDA ??? Vejamos um exemplo de código, o arquivo teste.cu //********************************************************************************************** cudaArray* cu_array; texture&#60;float, 2&#62; tex; // Allocate array cudaMallocArray(&#38;cu_array, cudaCreateChannelDesc&#60;float&#62;(), width, height); [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/' rel='bookmark' title='Permanent Link: Rapidinha: CpuFreq-Selector'>Rapidinha: CpuFreq-Selector</a></li>
<li><a href='http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/' rel='bookmark' title='Permanent Link: Rapidinha: CSS ou Tabelas HTML'>Rapidinha: CSS ou Tabelas HTML</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/' rel='bookmark' title='Permanent Link: Computação Heterogênea'>Computação Heterogênea</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4b903347bb118f717470fb592a2bdf0d&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F05%252Frapidinha-compilando-um-programa-c-com-cuda%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Rapidinha%3A%20Compilando%20um%20programa%20C%2B%2B%20com%20CUDA%22%20%7D);"></div>
<p>Em meus primeiros passos no aprendizado de programação em <a href="http://en.wikipedia.org/wiki/CUDA" target="_blank">CUDA</a>, tive um problema muito básico, mas que foi difícil encontrar a solução do mesmo: como compilar um programa escrito em <em><a href="http://pt.wikipedia.org/wiki/C%2B%2B" target="_blank"><em>C++</em></a></em> for CUDA ???</p>
<p><span id="more-1637"></span>Vejamos um exemplo de código, o arquivo <strong>teste.cu</strong></p>
<p>//**********************************************************************************************</p>
<p>cudaArray* cu_array;<br />
texture&lt;float, 2&gt; tex;</p>
<p>// Allocate array<br />
cudaMallocArray(&amp;cu_array, cudaCreateChannelDesc&lt;float&gt;(), width, height);</p>
<p>// Copy image data to array<br />
cudaMemcpy(cu_array, image, width*height, cudaMemcpyHostToDevice);</p>
<p>// Bind the array to the texture<br />
cudaBindTexture(tex, cu_array);</p>
<p>// Run kernel<br />
dim3 blockDim(16, 16, 1);<br />
dim3 gridDim(width / blockDim.x, height / blockDim.y, 1);<br />
kernel&lt;&lt;&lt; gridDim, blockDim, 0 &gt;&gt;&gt;(d_odata, width, height);<br />
cudaUnbindTexture(tex);</p>
<p>__global__ void kernel(float* odata, int height, int width)<br />
{<br />
unsigned int x = blockIdx.x*blockDim.x + threadIdx.x;<br />
unsigned int y = blockIdx.y*blockDim.y + threadIdx.y;<br />
float c = texfetch(tex, x, y);<br />
odata[y*width+x] = c;<br />
}<br />
//**********************************************************************************************</p>
<p>Para compilar este programa, primeiramente é necessário ter o compilador <em>nvcc</em> instalado, por meio das bibliotecas fornecidas pela <a href="http://www.nvidia.com/cuda" target="_blank">NVidia</a>.</p>
<p>Temos então a seguinte sequência de comandos:</p>
<p><strong>nvcc -cuda teste.cu</strong></p>
<p>Este comando irá gerar um código <a href="http://pt.wikipedia.org/wiki/C%2B%2B" target="_blank"><em>C++</em></a> a partir do arquivo <strong>teste.cu</strong>, guardando-o no arquivo <strong>teste.cu.cpp</strong>. Após isso, faz-se:</p>
<p><strong>nvcc teste.cu.cpp -o teste.exe</strong></p>
<p>E assim, teremos o executável tão desejado!</p>
<p>Espero que ajude!</p>
<p><em>See ya!</em></p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/' rel='bookmark' title='Permanent Link: Rapidinha: CpuFreq-Selector'>Rapidinha: CpuFreq-Selector</a></li>
<li><a href='http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/' rel='bookmark' title='Permanent Link: Rapidinha: CSS ou Tabelas HTML'>Rapidinha: CSS ou Tabelas HTML</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/' rel='bookmark' title='Permanent Link: Computação Heterogênea'>Computação Heterogênea</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rapidinha: CpuFreq-Selector</title>
		<link>http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/</link>
		<comments>http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 12:40:43 +0000</pubDate>
		<dc:creator>Weslley</dc:creator>
				<category><![CDATA[Ciência]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[cpufreq-selector]]></category>
		<category><![CDATA[desempenho]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1575</guid>
		<description><![CDATA[Buenas, caros leitores! Hoje venho aqui para uma nota rápida, porém bastante interessante. Você, usuário de distribuições Linux Debian-based (Ubuntu, Debian), sabe como configurar o desempenho de seu processador pelo sistema operacional ? Por padrão, os processadores vem configurados no modo de economia de energia. Porém, em alguns casos, como o meu, queremos extrair cada [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
<li><a href='http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/' rel='bookmark' title='Permanent Link: Rapidinha: CSS ou Tabelas HTML'>Rapidinha: CSS ou Tabelas HTML</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/' rel='bookmark' title='Permanent Link: Computação Heterogênea'>Computação Heterogênea</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4b903347bb118f717470fb592a2bdf0d&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F04%252Frapidinha-cpufreq-selector%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Rapidinha%3A%20CpuFreq-Selector%22%20%7D);"></div>
<p>Buenas, caros leitores!</p>
<p>Hoje venho aqui para uma nota rápida, porém bastante interessante. Você, usuário de distribuições Linux <em>Debian-based </em>(Ubuntu, Debian), sabe como configurar o desempenho de seu processador pelo sistema operacional ?</p>
<p><span id="more-1575"></span>Por padrão, os processadores vem configurados no modo de economia de energia. Porém, em alguns casos, como o meu, queremos extrair cada recurso daqueles milhões de transistores em forma de pastilha. Uma opção é realizar a configuração na BIOS, porém há uma opção bastante interessante: o aplicativo <strong>cpufreq-selector</strong>.</p>
<p>Há as seguintes opções:</p>
<ul>
<li><strong>-c &#8216;número do processador&#8217;</strong> &#8211; para informar o número da CPU a ser configurada, no caso de otimizar apenas um dos núcleos de um processador <em>multicore</em>;</li>
<li><strong>-g</strong> <strong>&#8216;opção&#8217;</strong> &#8211; para configurar o modo de operação de seu processador, com as opções <em>powersave</em> (economia de energia) e <em>performance</em> (para alto desempenho);</li>
<li><strong>-f &#8216;frequência&#8217;</strong> &#8211; para setar a frequência de operação do seu processador, em KHz</li>
</ul>
<p>Sendo assim, para configurar seu processador, usa-se o comando:</p>
<p style="text-align: center;"><strong>cpufreq-selector -n &#8216;#proc&#8217; -g &#8216;modo&#8217; -f &#8216;freq&#8217;</strong></p>
<p>Assim, é possível ajustar o desempenho de seu processador via sistema operacional, de acordo com suas necessidades!</p>
<p><em>See ya</em>!</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
<li><a href='http://www.tecnosapiens.com.br/2010/03/rapidinha-css-ou-tabelas-html/' rel='bookmark' title='Permanent Link: Rapidinha: CSS ou Tabelas HTML'>Rapidinha: CSS ou Tabelas HTML</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/07/computacao-heterogenea/' rel='bookmark' title='Permanent Link: Computação Heterogênea'>Computação Heterogênea</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/04/rapidinha-cpufreq-selector/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Usar Fortran ? Por quê ?</title>
		<link>http://www.tecnosapiens.com.br/2009/02/usar-fortran-por-que/</link>
		<comments>http://www.tecnosapiens.com.br/2009/02/usar-fortran-por-que/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 04:19:34 +0000</pubDate>
		<dc:creator>Weslley</dc:creator>
				<category><![CDATA[Ciência]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[MPI]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Tecnologia de ponta]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1233</guid>
		<description><![CDATA[O Fortran (FORmula TRANslator)  surgiu na década de 50, e veio evoluindo desde então. Nos primórdios de sua existência a programação era feita em cartões perfurados, e os programas eram executados em máquinas monoprogramadas executavam apenas um job por vez). Com o tempo, a linguagem evoluiu juntamente com os computadores que foram surgindo. Entretanto, nesse [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/ambientes-de-programacao-interpretados/' rel='bookmark' title='Permanent Link: Ambientes de programação interpretados'>Ambientes de programação interpretados</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/01/usando-open-mpi-em-programacao-paralela/' rel='bookmark' title='Permanent Link: Usando Open MPI Em Programação Paralela'>Usando Open MPI Em Programação Paralela</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4b903347bb118f717470fb592a2bdf0d&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F02%252Fusar-fortran-por-que%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Usar%20Fortran%20%3F%20Por%20qu%C3%AA%20%3F%22%20%7D);"></div>
<p>O <a href="http://pt.wikipedia.org/wiki/Fortran" target="_blank">Fortran</a> (FORmula TRANslator)  surgiu na década de 50, e veio evoluindo desde então. Nos primórdios de sua existência a programação era feita em cartões perfurados, e os programas eram executados em máquinas monoprogramadas executavam apenas um <em>job</em> por vez). Com o tempo, a linguagem evoluiu juntamente com os computadores que foram surgindo.</p>
<p>Entretanto, nesse meio tempo, outras linguagens surgiram. Após o grande sucesso da linguagem <a href="http://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o)" target="_blank">C</a> e derivadas, fica no ar a pergunta: é preciso usar o Fortran ?</p>
<p><span id="more-1233"></span><br />
Um dos fatores responsáveis por essa indagação é ausência de ponteiros em Fortran, assim como a diferente forma de alocação de dados na memória. Em C, uma matriz é alocada da seguinte forma: os elementos de uma mesma linha são alocados sequencialmente na memória. Já no Fortran, os elementos de uma mesma coluna são alocados consecutivamente. Entretanto, poucas pessoas sabem dos bons atributos do veterano Fortran. É uma das poucas linguagens que possuem paralelismo em sua definição. Em apenas uma linha é possível realizar o produto elemento a elemento de duas matrizes, assim como soma e outras operações, sem uso de bibliotecas auxiliares. Além disso, devido ao seu grande uso pela comunidade científica, o Fortran é bastante otimizado para a computação de alto-desempenho, como o <a href="http://www.netlib.org/hpf/" target="_blank">HPF (High Performance Fortran)</a>, uma extensão do Fortran otimizada para arquiteturas potentes e bibliotecas de otimização. Além disso, o Fortran é compatível com protocolos de comunicação para multiprocessamento (<a href="http://www-unix.mcs.anl.gov/mpi/" target="_blank">MPI</a>, <a href="http://openmp.org/wp/" target="_blank">OpenMP</a> e outros), permitindo obter desempenhos fantásticos em programas com grande volume de dados processados. Em programas que envolvem basicamente operações com matrizes, o Fortran é fenomenal!</p>
<p>Evidentemente, outras linguagens possuem grande desempenho, otimizações e bibliotecas auxiliares para resolver todo tipo de problema. Mas não podemos deixar o quase &#8220;sessentão&#8221; Fortran de lado devido a sua idade. Por mais que seja um &#8220;idoso&#8221;, está melhor que muita linguagem de 20 anos por aí.</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/05/ambientes-de-programacao-interpretados/' rel='bookmark' title='Permanent Link: Ambientes de programação interpretados'>Ambientes de programação interpretados</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/01/usando-open-mpi-em-programacao-paralela/' rel='bookmark' title='Permanent Link: Usando Open MPI Em Programação Paralela'>Usando Open MPI Em Programação Paralela</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/02/usar-fortran-por-que/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Usando Open MPI Em Programação Paralela</title>
		<link>http://www.tecnosapiens.com.br/2009/01/usando-open-mpi-em-programacao-paralela/</link>
		<comments>http://www.tecnosapiens.com.br/2009/01/usando-open-mpi-em-programacao-paralela/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 17:12:31 +0000</pubDate>
		<dc:creator>Claudinei</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[História]]></category>
		<category><![CDATA[Homo sapiens]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MPI]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[Adicionar nova tag]]></category>
		<category><![CDATA[mpi]]></category>
		<category><![CDATA[openmpi]]></category>
		<category><![CDATA[programação para cluster]]></category>
		<category><![CDATA[programação paralela]]></category>
		<category><![CDATA[vários processadores]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=1083</guid>
		<description><![CDATA[Olá caro leitor, depois de algum tempo de descanso volto novamente a tratar de um assunto que tem tido bastante interesse da comunidade que trabalha com computação de alto desempenho. Pois uma forma de conseguir o tão desejado alto desempenho em um programa é fazendo com que este utilize vários processadores durante sua execução, mas [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/05/ambientes-de-programacao-interpretados/' rel='bookmark' title='Permanent Link: Ambientes de programação interpretados'>Ambientes de programação interpretados</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=4df351c0f287e656665bf61bddf04d42&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F01%252Fusando-open-mpi-em-programacao-paralela%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Usando%20Open%20MPI%20Em%20Programa%C3%A7%C3%A3o%20Paralela%22%20%7D);"></div>
<p><span style="font-size: medium;"><span style="font-size: small;">Olá caro leitor, depois de algum tempo de descanso volto novamente a tratar de um assunto que tem tido bastante interesse da comunidade que trabalha com computação de alto desempenho. Pois uma forma de conseguir o tão desejado alto desempenho em um programa é fazendo com que este utilize vários processadores durante sua execução, mas como foi dito no último artigo que escrevi ( </span></span><a rel="bookmark" href="../../2008/11/implementando-programas-que-usam-varios-processadores/">Implementando Programas que Usam Vários Processadores</a><span style="font-size: medium;"><span style="font-size: small;"> ), essa não é uma tarefa tão simples! O escopo desse artigo traz algumas dicas de ferramentas necessárias para criar um programa que ao ser executado use vários processos e que esses processos comuniquem entre si.</span></span></p>
<p><span style="font-size: medium;"><span style="font-size: small;"><span id="more-1083"></span></span><span style="font-size: small;">Como foi discutido no artigo citado acima, uma forma de implementar a programação paralela é usando as bibliotecas de passagem de mensagens (MPI). Portanto, se o leitor quiser testar os programas exemplos que darei durante os próximos artigos será necessário instalar o MPI, como sou adepto da filosofia Open Source, aconselho que instale o <a id="qzyz" title="Open MPI" href="http://www.open-mpi.org/">Open MPI</a>,( <span style="text-decoration: line-through;">mas se estiver usando o Windows, instale o <a href="ftp://ftp.mcs.anl.gov/pub/mpi/nt/mpich.nt.1.2.5.exe">MPICH</a>, </span><span style="text-decoration: line-through;">Por sua conta e risco</span>). Como de praxe, a instalação do Open MPI é simples, basta baixar o código fonte (<a href="http://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-1.3.tar.gz">código fonte</a>)</span></span>, <span style="font-size: small;">descompactar o arquivo, entrar na pasta criada pela descompactação usando o console ou um aplicativo similar e em seguida dar os comandos usais para compilação e instalação de pacotes (<strong><em>./configure</em></strong> em seguida<em> <strong>make</strong></em>, e como superusuário dar o último comando, <strong><em>make install</em></strong>). O Open MPI necessita de que alguns pacotes estejam instalados; por exemplo, se você quiser escrever seus programas em Fortran, será necessário que tenha o fortran previamente instalado em sua máquina, essa mesma regra é válida para as outras linguagens que você queira escrever seus códigos, tais como<em> C </em>e <em>C++</em>. Outro pacote que o MPI usa e, portanto, deve estar instalado é o <em>ssh</em>, pois é a partir do ssh que é feita a comunicação entre os vários processos do programa em execução.</span></p>
<p><span style="font-size: small;">Vamos criar um programa simples para verificar se sua instalação foi bem sucedida, porém primeiramente vou falar de uma premissa básica sobre o MPI que é a Inicialização e a Finalização. Para se fazer referências ou chamadas à qualquer rotinas MPI, é necessário que o MPI seja inicializado e antes do término do programa principal o MPI deve ser finalizado. Para isso são definidas rotinas nas linguagens de programação, aqui vou usar o<em> C</em> como exemplo, porém o procedimento é o mesmo para outras linguagens (o que muda é sintaxe da chamada da rotina).<br />
</span></p>
<blockquote><p>int MPI_Init( int *argc,  char ***argv); // inicialização do  MPI</p>
<p><em>//Blocos de códigos  MPI</em></p>
<p>int MPI_Finalize( ); // finalização do MPI</p></blockquote>
<p>Esses parâmetros definidos na inicialização do MPI (argc e argv), são aqueles parâmetros recebidos tradicionalmente pela interface da linguagem <em>C</em>, portanto tais parâmetros devem ser passados para inicializar o MPI antes de sua utilização. O valor de retorno dessa chamada é um código de erro, sendo assim, ele indica possíveis erros durante a inicialização do MPI. Se não houve nenhum erro durante a inicialização, o valor de retorno será MPI_SUCCESS; caso haja algum tipo de erro os valores serão diferentes, porém não são especificados pelo MPI.  E assim como a inicialização, a finalização é feita pela rotina MPI_Finalize( ).</p>
<p>Para compreender o processo de  inicialização e finalização das rotinas MPI bem como testar se a sua instalação foi bem sucedida, copie o trecho do código seguinte em um arquivo sem formatação e salve-o com o nome <em>NumProcesso.c</em> em seguida compili-o. Obs. Ao copiar e colar tome cuidado com as aspas!</p>
<blockquote><p>#include &lt;stdio.h&gt;<br />
#include &lt;mpi.h&gt;</p>
<p>int main(int argc, char **argv){<br />
int quantos, rank;<br />
MPI_Init(&amp;argc, &amp;argv);<br />
MPI_Comm_size(MPI_COMM_WORLD, &amp;quantos);<br />
MPI_Comm_rank(MPI_COMM_WORLD, &amp;rank);<br />
printf(&#8220;Processo %d de %d rodando \n&#8221;, rank, quantos);</p>
<p>MPI_Finalize();</p>
<p>return 0;</p>
<p>}</p></blockquote>
<p>Para compilar um arquivo usando MPI basta seguir o seguinte procedimento: usando o console, entre na pasta que se encontra o arquivo e em seguida dê o comando<em> mpicc NumProcesso.c -o processos.exe</em> (obs. a extensão *.exe é opcional, na verdade nem é necessário usar nenhum tipo de extensão). Se a compilação ocorreu tudo certo, execute o programa recém compilado assim: <em>mpirun -np 4 processos.exe</em>, aqui &#8220;-np 4&#8243; é o numero de processos que será aberto durante a execução do programa, neste caso são quatro processos. Para evitar que a cada processo aberto ele peça a senha, configure o servidor ssh para autenticação sem senha.</p>
<p>P.S. O Próximo artigo será: <strong>Os conceitos em que as rotinas MPI são construídas</strong>. Nesse artigo será abordado processos,  mensagens,  comunicadores e tipos de dad<strong>os.</strong></p>
<p><strong><br />
</strong></p>
<p><strong>ERRATA:</strong></p>
<p>Olá leitores do TecnoSapiens, em algum ponto do artigo foi afirmado que a comunicação entre os processos era feita pelo ssh, porém o ssh é utilizado para disparar os daemons responsáveis por executar os processos MPI. Normalmente a comunicação propriamente dita das primitivas MPI_ &#8230;  é feita sem segurança.</p>
<p>Claudinei Caetano de Souza.</p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2008/11/implementando-programas-que-usam-varios-processadores/' rel='bookmark' title='Permanent Link: Implementando Programas que Usam Vários Processadores'>Implementando Programas que Usam Vários Processadores</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/05/ambientes-de-programacao-interpretados/' rel='bookmark' title='Permanent Link: Ambientes de programação interpretados'>Ambientes de programação interpretados</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/01/usando-open-mpi-em-programacao-paralela/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>OpenOffice Tuning?</title>
		<link>http://www.tecnosapiens.com.br/2009/01/openoffice-tuning/</link>
		<comments>http://www.tecnosapiens.com.br/2009/01/openoffice-tuning/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 16:44:48 +0000</pubDate>
		<dc:creator>Raphael Carvalho</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[broffice]]></category>
		<category><![CDATA[go-oo]]></category>
		<category><![CDATA[openoffice]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=977</guid>
		<description><![CDATA[Sabe quando você está passeando por aí e se depara com um carro modificado pelo dono, com detalhes aerodinâmicos, rodas de liga leve e aquelas famigeradas e, por que não dizer, bregas luzes azuis debaixo da carroceria? Aquilo se chama Car Tuning, e os carros são &#8220;tunados&#8221;. Mas a idéia do artigo não é personalizar [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2008/09/instalando-openoffice-broffice-no-windows/' rel='bookmark' title='Permanent Link: Instalando OpenOffice (BrOffice) no Windows'>Instalando OpenOffice (BrOffice) no Windows</a></li>
<li><a href='http://www.tecnosapiens.com.br/2010/03/dica-como-abrir-arquivos-de-formato-office-2007/' rel='bookmark' title='Permanent Link: Dica: Como abrir arquivos de formato Office 2007'>Dica: Como abrir arquivos de formato Office 2007</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/09/instalando-novos-modelos-para-o-microsoft-powerpoint-2003/' rel='bookmark' title='Permanent Link: Instalando novos modelos para o Microsoft PowerPoint 2003'>Instalando novos modelos para o Microsoft PowerPoint 2003</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=0c473b1b4ba3d0bd5c2f3a2dcafad533&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F01%252Fopenoffice-tuning%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22OpenOffice%20Tuning%3F%22%20%7D);"></div>
<p>Sabe quando você está passeando por aí e se depara com um carro modificado pelo dono, com detalhes aerodinâmicos, rodas de liga leve e aquelas famigeradas e, por que não dizer, bregas luzes azuis debaixo da carroceria? Aquilo se chama <em>Car Tuning</em>, e os carros são &#8220;tunados&#8221;.</p>
<p>Mas a idéia do artigo não é personalizar o OpenOffice (no Brasil chamado de BrOffice) para deixá-lo mais bonitinho. Na verdade venho apresentar o que uma equipe de desenvolvedores criou tendo como base o OpenOffice: o Go-oo. Este novo software promete ser mais compatível com formatos de arquivos do Microsoft Office, mais livre, mais rápido e mais funcional. Com isto em mente, resolvi baixar e instalar o dito cujo, para ter uma noção.<span id="more-977"></span></p>
<p style="text-align: left;">Após fazer o download através <a title="Download do Go-oo" href="http://go-oo.mirrorbrain.org/stable/win32/3.0/GoOo-3.0-19.exe" target="_blank">desse endereço</a> (baixei também o <a title="Download do pacote de linguagem pt-BR do Go-oo" href="http://go-oo.mirrorbrain.org/stable/win32/3.0/GoOo-langpack-pt-BR-3.0.exe" target="_blank">pacote de linguagem pt-BR</a>), e instalação no Windows XP, me deparo com essa tela de boas-vindas típica da versão 3.0 do OpenOffice:</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-993" title="go-oo" src="http://www.tecnosapiens.com.br/home/wp-content/uploads/2009/01/go-oo.jpg" alt="go-oo" width="350" height="226" /></p>
<p style="text-align: left;">Comecei a testar alguns recursos. A suíte tem um tempo de carregamento inferior ao do OpenOffice, tem um ótimo suporte para importação de arquivos SVG, e também melhor compatibilidade com documentos em formato Microsoft Office, inclusive cálculos em planilhas do Excel e preenchimento de formulários . Ainda assim, percebi problemas de formatação na edição de arquivos Docx, tanto no OpenOffice quanto no Go-oo.</p>
<p style="text-align: left;">Meu conselho: pare de usar formatos proprietários, e se não for possível, pelo menos evite Docx. Infelizmente ainda vai levar algum tempo até se alcançar uma ótima compatibilidade com formatos da Microsoft, mas importante valorizar os avanços que a comunidade alcançou até hoje. Ah, e se tiver um carro, não coloque neon nele; isso não fará de você uma pessoa mais descolada.</p>
<p style="text-align: left;">Links:</p>
<p><a href="http://pt.wikipedia.org/wiki/OpenDocument" target="_blank">Sobre o OpenDocument Format</a><br />
<a href="http://pt.wikipedia.org/wiki/OpenOffice.org" target="_blank">Saiba mais sobre o Openoffice.org</a></p>
<p style="text-align: left;">

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2008/09/instalando-openoffice-broffice-no-windows/' rel='bookmark' title='Permanent Link: Instalando OpenOffice (BrOffice) no Windows'>Instalando OpenOffice (BrOffice) no Windows</a></li>
<li><a href='http://www.tecnosapiens.com.br/2010/03/dica-como-abrir-arquivos-de-formato-office-2007/' rel='bookmark' title='Permanent Link: Dica: Como abrir arquivos de formato Office 2007'>Dica: Como abrir arquivos de formato Office 2007</a></li>
<li><a href='http://www.tecnosapiens.com.br/2008/09/instalando-novos-modelos-para-o-microsoft-powerpoint-2003/' rel='bookmark' title='Permanent Link: Instalando novos modelos para o Microsoft PowerPoint 2003'>Instalando novos modelos para o Microsoft PowerPoint 2003</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/01/openoffice-tuning/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Um carneiro no meu caminho</title>
		<link>http://www.tecnosapiens.com.br/2009/01/um-carneiro-no-meu-caminho/</link>
		<comments>http://www.tecnosapiens.com.br/2009/01/um-carneiro-no-meu-caminho/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 13:09:14 +0000</pubDate>
		<dc:creator>Paulo</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Software livre]]></category>
		<category><![CDATA[desventuras]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.tecnosapiens.com.br/?p=949</guid>
		<description><![CDATA[Olá, amigo leitor! Eu sou Paulo, novo colaborador do Tecnosapiens e irei compartilhar com vocês as minhas (des)venturas tecnológicas, principalmente no uso do Linux. Eu esperava começar falando sobre o uso do Nokia 5310 em conjunto com o Ubuntu. Ou sobre o Gerenciador de Bibliografia Referencer. Mas havia um carneiro montês intrépido no meu caminho. [...]


Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/01/agilidade-com-teclado-gnome-do/' rel='bookmark' title='Permanent Link: Agilidade com teclado: Gnome-Do'>Agilidade com teclado: Gnome-Do</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/09/editando-graficos-gnuplot/' rel='bookmark' title='Permanent Link: Editando gráficos gnuplot'>Editando gráficos gnuplot</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8fea0c25ce5875775cbceee02e0c9792&amp;default=http://www.tecnosapiens.com.br/images/defgravatar.gif' alt='No Gravatar' width=60 height=60/>
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.tecnosapiens.com.br%252F2009%252F01%252Fum-carneiro-no-meu-caminho%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Um%20carneiro%20no%20meu%20caminho%22%20%7D);"></div>
<p>Olá, amigo leitor! Eu sou Paulo, novo colaborador do Tecnosapiens e irei compartilhar com vocês as minhas (des)venturas tecnológicas, principalmente no uso do Linux.</p>
<div id="attachment_960" class="wp-caption aligncenter" style="width: 210px"><img class="size-medium wp-image-960" title="wtfibex" src="http://www.tecnosapiens.com.br/home/wp-content/uploads/2009/01/wtfibex-200x300.jpg" alt="wtfibex" width="200" height="300" /><p class="wp-caption-text">Carneirinho FDP!</p></div>
<p>Eu esperava começar falando sobre o uso do <a title="Especificações do treco" href="http://www.nokia.com.br/produtos/celulares/nokia-5310-xpressmusic/especificacoes-tecnicas" target="_blank">Nokia 5310</a> em conjunto com o Ubuntu. Ou sobre o Gerenciador de Bibliografia <a title="Página do Referencer" href="http://icculus.org/referencer/" target="_blank">Referencer</a>. Mas havia um carneiro montês intrépido no meu caminho. Poucos dias antes de receber o convite do Rodrigo para participar do Tecnosapiens, eu havia (re)feito o upgrade do Ubuntu 8.04 (Hardy Heron) para o 8.10 (Intrepid Ibex). Parecia tudo funcionar a contento. Como eu disse, parecia&#8230;<span id="more-949"></span></p>
<p>Eu já havia feito este upgrade do Hardy para o Intrepid, mas não me lembrava o porquê de ter voltado ao Hardy. Primeiro foi o Referencer. Esse excelente Gerenciador de Bibliografia para o Gnome, mais leve e intuitivo que o <a title="Página do JabRef" href="http://jabref.sourceforge.net/" target="_blank">JabRef</a>, com a maravilhosa capacidade de preencher os campos de uma determinada referência bastando possuir o endereço <a title="Não sabe o que é o DOI?!" href="http://en.wikipedia.org/wiki/Digital_object_identifier" target="_blank">DOI</a> do artigo, aumentou significavativamente <span style="text-decoration: line-through;">meu tempo à toa</span> minha produtividade. No entanto ele simplesmente não funcionava no Intrepid. Ele resmungava que uma biblioteca, que não me lembro qual era, tinha um problema. Como não sou de desistir na primeira tentativa, apaguei as configurações do Referencer, reinstalei a versão do mesmo para o Intrepid, procurei updates&#8230; nada resolveu o problema. Tudo bem, nem queria falar sobre o Referencer mesmo. <img src='http://www.tecnosapiens.com.br/home/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Bom, então vou falar sobre a experiência não-tão-completa (não encontrei meios de sincronizar agenda e contatos, mas a transferência de arquivos funciona muito bem sem a necessidade de kung-fu de terminal, tanto via USB como Bluetooth) de usar o meu novo celular no Ubuntu, o tal Nokia 5310.</p>
<div id="attachment_966" class="wp-caption aligncenter" style="width: 146px"><img class="size-medium wp-image-966" title="nokia5310xpressmusic_big" src="http://www.tecnosapiens.com.br/home/wp-content/uploads/2009/01/nokia5310xpressmusic_big-136x300.jpg" alt="Meu novo brinquedo" width="136" height="300" /><p class="wp-caption-text">Meu novo brinquedo</p></div>
<p>Conectava-o ao meu computador via USB e logo ele começava um processo de leitura do cartão de memória que nunca encerrava. Já havia transferido arquivos do Hardy para ele sem nenhum tipo de problema. Temia que o sistema de arquivos do cartão tivesse corrompido. Procurando mais um pouco encontrei <a title="WTF?!" href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/287701" target="_blank">isso</a>. Aí já era demais, ter que recompilar kernel para resolver isso?! De volta ao Hardy.</p>
<p>O que me assusta é que já tive que abandonar o meu querido KDE por conta de um estranho bug na versão 4.1, que faz a tela piscar de modo bastante irritante. Não encontrei ninguém mais reclamando de tal problema, talvez seja só comigo. Agora esses problemas com o Intrepid. Pelo andar da carruagem meu próximo upgrade será para o Windows 7. Ou melhor ainda, para o OS X! <img src='http://www.tecnosapiens.com.br/home/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.tecnosapiens.com.br/home/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>

<p>Leia também:<ol><li><a href='http://www.tecnosapiens.com.br/2009/01/agilidade-com-teclado-gnome-do/' rel='bookmark' title='Permanent Link: Agilidade com teclado: Gnome-Do'>Agilidade com teclado: Gnome-Do</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/09/editando-graficos-gnuplot/' rel='bookmark' title='Permanent Link: Editando gráficos gnuplot'>Editando gráficos gnuplot</a></li>
<li><a href='http://www.tecnosapiens.com.br/2009/05/rapidinha-compilando-um-programa-c-com-cuda/' rel='bookmark' title='Permanent Link: Rapidinha: Compilando um programa C++ com CUDA'>Rapidinha: Compilando um programa C++ com CUDA</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tecnosapiens.com.br/2009/01/um-carneiro-no-meu-caminho/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
