En estos dias al tratar un problema que tenía con un hash (el cual debía descifrar), me topé con un término que nunca había escuchado, me refiero a GPGPU, el cuál significa
General-Purpose Computing on Graphics Processing Units,
según la wikis:
GPGPU es un concepto reciente dentro de informática que trata de estudiar y aprovechar las capacidades de cómputo de una GPU.
Una GPU es un procesador diseñado para los cómputos implicados en la generación de gráficos 3D interactivos. Algunas de sus características (bajo precio en relación a su potencia de cálculo, gran paralelismo, optimización para cálculos en coma flotante), se consideran atractivas para su uso en aplicaciones fuera de los gráficos por computadora, especialmente en el ámbito científico y de simulación. Así, se han desarrollado técnicas para la implementación de simulaciones de fluidos, bases de datos, algoritmos de clustering, etc.es decir,
el poder del procesamiento de datos de las tarjetas graficas, ahora se puede utilizar para otros fines.CPU versus GPU architecture
el principal fabricante de tarjetas de video
NVIDIA posee una arquitectura llamada
CUDA, el cual posee su propio conjunto de APIS para programar aplicaciones utilizando el GPU de sus tarjetas.
también existe el denominado
OPENCL, que ya no solo va orientado al optimizar y ejecutar procesos en videojuegos (como el directx u opengl), con opencl ahora se pueden
crear aplicaciones con paralelismo a nivel de datos y de tareas que pueden ejecutarse tanto en unidades centrales de procesamiento como unidades de procesamiento gráfico.para los centros de investigación, donde se requieren hacer calculos extremadamente complejo, la idea de utilizar los GPU, aumenta en muchas veces la proporción de velocidad de cómputo, comparado con el poder actual de los CPU.
en mi caso, lamentablemente mi tarjeta de video nvidia parece que no soporta el cuda, asi que me quedaré con las ganas de ver el procesamiento de 100 millones de test por segundo que puede realizar el hashcat frente a los 33 miseros millones per seconds que hace mi procesador actualmente.
mas información:
http://www.nvidia.es/object/cuda-parallel-computing-es.htmlhttps://code.msdn.microsoft.com/windowsdesktop/NVIDIA-GPU-Architecture-45c11e6dhttps://es.wikipedia.org/wiki/GPGPUhttps://es.wikipedia.org/wiki/OpenCL