Haciendo una práctica he hecho un benchmark basado en paralelizar con threads la operación de multiplicar matrices.
Tenía curiosidad por comparar resultados y de paso me podeis ayudar a tener más resultados para meter una selección en la memoria de la práctica.
Antes de seguir leyendo, necesitais:
- Tener un linux compatible con el binario. (lo tengo precompilado con ubuntu 32 bits, no funcionará en todos los linux, (aunque debería, no tiene dependencias), simplemente probarlo)
- Tener un pc de al menos 2 cores, para no eternizaros en el bench.
El bench consiste:
- Dimensión matriz cuadrada: 32,64,128,256,512,1024 hasta 2048x2048
- Número de threads: 1,2,4,8,16
Con lo que son en todas sus combinaciones 35 tests.
El objetivo es ver la mejora, cuando aplicamos paralelismo.
1º Descargarlo
http://www.speedyshare.com/files/26474320/practica.rar
2º Ejecutarlo:
chmod +x practica
./practica bench
3º Dejar el ordenador algo tranquilo, pero puedes navegar en sin fastidiar demasiado los resultados. Debería tardar unos 10 min si tienes 4 cores y 22 min si tienes 2 cores.
Generará un archivo benchmark.txt
4º Abres el txt y reemplazas todos los "." por ",".
Seleccionas todo el texto y lo pasteas en el excel.
Con lo que se debería crear la gráfica automaticamente.
5º Necesito el contenido del benchmark.txt, si quereis publicar el gráfico como veais, pero me sería útil lo siguiente:
- Los resultados guardados en benchmark.txt
- Breve descripción de vuestro CPU (CPU, número de cores y velocidad de la ram principalmente).
Resumen:
Picarnos un poco con los benchmarks y de paso me ayudais reuniendo información para la práctica.