[Portugal] Re: [lusogis] Directions Magazine - Why Geospatial Users and Developers Should Know Their GPU from their CPU

Victor Ferreira victor at fa.utl.pt
Fri Feb 26 05:31:44 EST 2010


Ola,
Sim, as GPU estão a ser cada vez mais usadas para computação científica, 
embora não seja a minha especialidade deixo aqui algumas referencias 
interessantes na web (talvez ajude quem não conhece o tópico):

Extracto da Wikipedia:
http://en.wikipedia.org/wiki/Graphics_processing_unit

"A new concept is to use a general purpose graphics processing unit 
<http://en.wikipedia.org/wiki/GPGPU> as a modified form of stream 
processor <http://en.wikipedia.org/wiki/Stream_processing>. This concept 
turns the massive floating-point 
<http://en.wikipedia.org/wiki/Floating-point> computational power of a 
modern graphics accelerator's shader pipeline into general-purpose 
computing power, as opposed to being hard wired solely to do graphical 
operations. In certain applications requiring massive vector operations, 
this can yield several orders of magnitude higher performance than a 
conventional CPU. The two largest discrete (see "Dedicated graphics 
cards" above) GPU designers, ATI 
<http://en.wikipedia.org/wiki/ATI_Technologies> and NVIDIA 
<http://en.wikipedia.org/wiki/NVIDIA>, are beginning to pursue this new 
approach with an array of applications. Both nVidia and ATI have teamed 
with Stanford University 
<http://en.wikipedia.org/wiki/Stanford_University> to create a GPU-based 
client for the Folding  Home <http://en.wikipedia.org/wiki/Folding@Home> 
distributed computing project, for protein folding calculations. In 
certain circumstances the GPU calculates forty times faster than the 
conventional CPUs traditionally used by such applications.^[10] 
<http://en.wikipedia.org/wiki/Graphics_processing_unit#cite_note-9> 
^[11] <http://en.wikipedia.org/wiki/Graphics_processing_unit#cite_note-10>

Recently NVidia began releasing cards supporting an API extension to the 
C <http://en.wikipedia.org/wiki/C_%28programming_language%29> 
programming language CUDA <http://en.wikipedia.org/wiki/CUDA> ("Compute 
Unified Device Architecture"), which allows specified functions from a 
normal C program to run on the GPU's stream processors. This makes C 
programs capable of taking advantage of a GPU's ability to operate on 
large matrices in parallel, while still making use of the CPU when 
appropriate. CUDA is also the first API to allow CPU-based applications 
to access directly the resources of a GPU for more general purpose 
computing without the limitations of using a graphics API."

Entretanto um SIG que já utiliza o CUDA (programação em cima das GPU) é 
o Manifold:
http://www.manifold.net/index.shtml
"Using the optional *Manifold Surface Tools* 
<http://www.manifold.net/info/surface_tools.shtml> extension, Manifold 
Release 8 is the first GIS ever to support *massively parallel* 
computing using *hundreds* of stream processors via NVIDIA® CUDA^(TM) 
technology. By installing an NVIDIA GPGPU card (widely available for as 
little as $150 per card with up to 256 processors per card) you can add 
true supercomputing performance to your GIS installation. Manifold 
automatically recognizes and utilizes up to four NVIDIA CUDA cards for 
up to *1024 processors* with teraflops of computational performance. 
Dozens of functions can be run by Manifold at supercomputer speeds with 
an NVIDIA CUDA-capable card installed."

Um comparativo do "Tom's Hardware" a falar das vantagens do uso das GPu 
(embora não veja SIG por lá):
http://www.tomshardware.com/reviews/nvidia-cuda-gpgpu,2299.html

Portal que congrega informação sobre o assunto (boa referência):
http://gpgpu.org/

A ATI (que agora é da AMD - para os mais distraídos...) tambem tem já 
possibilidades semelhantes ao CUDA da NVIDIA e o OPENCL promete dar 
acesso ao hardware de todos o sfabricantes:
"The move to open standards with the new Heterogeneous Computing 
Initiative 
<http://www.khronos.org/news/press/releases/khronos_launches_heterogeneous_computing_initiative/> 
supporting OpenCL <http://en.wikipedia.org/wiki/OpenCL> (Open Computing 
Language), will be a good move for both AMD and NVIDIA.  The idea is 
that an application developer would write an OpenCL-based stream 
computing application, and it would run on any GPU or CPU with an OpenCL 
driver. Both AMD and Nvidia have indicated they want to support this new 
standard."
http://fireuser.com/blog/amd_stream_computing_and_nvidia_cuda_similar_but_different/

Parece que a vantagem do OpenCL será a de usar o processador que se 
quiser (ou todos?)
"- OpenCL platform was created to define a general, open standard of 
GPGPU acces and usage. It also enabled to use different GPGPU-able 
devices to work parallel each other. Like if you have a big machine with 
2 processors and 3 videocards, the OpenCL device list will provide you 
handles for 5 devices (3 GPUs and 2CPUs) and you can select on which you 
want to run your code on. (While CUDA was not this flexible)"

Não tenho notado conversas sobre isto nos projectos SIG open source, mas 
acho que já será possível fazer uzo destas tecnologias? Ai sim 
poderiamos ver o poder destas placas a chegar rapidamente a muitos :-)

Victor Ferreira

Pedro Matos wrote:
>  
>
> A questao das placas graficas originalmente desenhadas para jogos 
> aplicadas noutras areas é muito interessante. Nalgumas aplicacoes, os 
> militares americanos e ingleses (pelo menos) estao a desistir dos 
> tradicionais contratos de desenvolvimento de hardware dedicado por o 
> sector comercial ser imbativel.
>
> O pentagono acabou de comprar 2000 processadores xbox para montar um 
> super parallel computer, e os ingleses estimam que uma placa NVIDIA de 
> 300 libras substitui equipamento militar no valor de 30.000 libras. (a 
> referencia é do Economist)
>
> É tempo de comecarmos tambem nos a prestar tanta atencao as nossas 
> placas graficas como a que damos ao software. Acabei de trocar o meu 
> computador standard por uma maquina mais potente com uma placa grafica 
> decente e nalgumas operacoes ArcGIS os ganhos de tempo melhoraram 10 
> vezes.
>
> Pedro
>
>
>
> Top Story
>
> Why Geospatial Users and Developers Should Know Their GPU from their 
> CPU 
> <http://newsletter.directionsmag.com/link.php?M=74078&N=2504&L=30331>*Why 
> Geospatial Users and Developers Should Know Their GPU from their CPU 
> <http://newsletter.directionsmag.com/link.php?M=74078&N=2504&L=30331>*
>
> The buzz about advances in geospatial software has overshadowed that 
> of hardware for the last five to ten years. But Executive Editor Adena 
> Schutzberg suggests that perhaps we should pay more attention to 
> hardware, especially since the graphics processing unit (GPU) may be 
> one of our best weapons to increase productivity.
>
>
> http://www.directionsmag.com/article.php?article_id=3418 
> <http://www.directionsmag.com/article.php?article_id=3418>
>

-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20100226/63e486a0/attachment.html


More information about the Portugal mailing list