Hola ELUG's | GLO's | AFE's

Ayer corrí un programa compilado con:

gcc pthreads_programa.c -o pthreads_programa -lm -pthread

corrió en 4 minutos en un procesador Opteron x4 (cuatro-cores).


j...@pc-joel:~$ gcc -v
Reading specs from /usr/lib/gcc/i486-slackware-linux/4.2.3/specs
Target: i486-slackware-linux

Hasta ahí todo bien :)

Lo interesante inicia cuando compilé con nvcc el compilador de CUDA 2.3.


y el programa corrió en menos de 2 minutos solamente utilizando el compilador,.
sin la tarjeta instalada y sin hacer llamadas a cuda.

Mi reflexión es en 2 direcciones: 1) Las banderas (``FLAGS´´) del compilador gcc ciertamente optimizan de alguna forma el ejecutable,. a tal grado que una maquina de 2-cores corre como si fuera de 4-cores!!
tan solo por estar utilizando las ``FLAGS´´ correctas?. O al revés!!


2) Las lib´s de CUDA y nvcc  son dignas de mención :


Habiendo dicho lo anterior, me permito hacer una lista de instrucciones para instalar CUDA 2.3. por considerarlo de interes general,. i.e. si tienes tarjeta nVidia?,. pues mejor!!, pero no es una limitante.


A)
Bajar driver  (solo si tienes tarjeta nVidia):
Yo uso Slackware 12.2 no había paquete para Slack, pero el de OpenSuse 11.1 funcionó perfectamente!

http://www.nvidia.com/object/cuda_get.html

cudadriver_2.3_linux_32_190.18.run
(23.2 MegaBytes)

- Nota: Bajar e instalar driver solo si tienes una tarjeta nVidia, pues el instalador verifica que tengas una tarjeta
instalada.


B)
Bajar toolkit (no importa si no tienes tarjeta nVidia):
cudatoolkit_2.3_linux_32_suse11.1.run
(43 MegaBytes)

instala en los directorios por omisión (default) en /usr/local/cuda/


C)
Bajar SDK (no importa si no tienes tarjeta nVidia):
cudasdk_2.3_linux.run
(66 MegaBytes)

en mi caso instaló en ~/NVIDIA_GPU_Computing_SDK

D)
editar /etc/profile (para que contenga)

export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/cuda/bin:/usr/local/cuda/lib:$PATH

LISTO!!
source /etc/profile (en alguna ventana de comandos)
o reiniciar computadora


E)
Para compilar y correr algunos demos impresionantes!!?

cd ~/NVIDIA_GPU_Computing_SDK/C/
make
(esto genera los ejecutables)

cd ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/
(aca estan los ejecutables)

correr por ejemplo:
./smokeParticles

;) que taaaal!!!


sale pues, recuerden que si no tienen tarjeta nVidia?,. deberan habrir un directorio en
cd ~/NVIDIA_GPU_Computing_SDK/C/src/miproyecto

básicamente copiar los includes de los otros proyectos,. (es el mismo), compilar y correr
el ejecutable en ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/

quizá corra mas rápido!!

un fraternal saludo,
:)

Joel Rodriguez
Versamedium Web Services.

P.D. Creo que los sistemas operativos de Apple tendrán OpenCL instalado
por omisión,.. Cuda es un subconjunto.

``Snow Leopard's Grand Central Dispatch and OpenCL boost video encoding app by 50 percent´´

http://www.engadget.com/2009/09/17/snow-leopards-grand-central-dispatch-and-opencl-boost-video-enc/

















Responder a