Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
y explorado en un visor web interactivo para el ODS 11.
</p>

<p>
<img src="tp/reports/figuras/mapa.svg" alt="Cuatro mapas de las zonas de taxi de Nueva York, cada zona pintada con su tipo de viaje más común: el tráfico de negocios domina Manhattan en la mañana de semana, la salida laboral y la cena en la noche de semana, los paseos la tarde del fin de semana y la vida nocturna la noche del fin de semana." width="100%">
</p>

<p>
<img alt="Go" src="https://img.shields.io/badge/Go-1.26-00ADD8?style=for-the-badge&logo=go&logoColor=white">
<img alt="Promela" src="https://img.shields.io/badge/Promela-Spin_6.5-6E4C9E?style=for-the-badge">
Expand Down Expand Up @@ -104,6 +108,11 @@ clustering, 10 iteraciones sobre los 2,8 M viajes; la carga del CSV queda fuera.
por poco y cambia de cluster el 0,2 % de los viajes. Además, las sumas en GPU no son deterministas:
en 21 repeticiones iguales la inercia toma 8 valores distintos en `float64`.

<p align="center">
<img src="tp/reports/figuras/hero.svg" alt="A: esquema de una iteración, con los workers tomando chunks en cualquier orden y las sumas parciales guardadas por índice. B: speedup frente a la cantidad de workers en las cuatro máquinas, con su intervalo de confianza. C: las 20 combinaciones de máquina y workers terminan con la misma inercia." width="100%">
<br><sub>(A) Por qué el resultado no depende de la planificación. (B) Escalamiento fuerte con IC 95 %. (C) La misma inercia en las 20 corridas, y los mutantes que detecta Spin. Generada por <code>tp/scripts/hero.py</code> desde <code>tp/reports/</code>.</sub>
</p>

<p align="center">
<img src="tp/reports/figuras/pixel/01-barra-secuencial-50.png" alt="El K-means corriendo en un Pixel 9a con Termux" width="420">
<br><sub>El mismo binario, compilado para Android, a mitad de corrida en un Pixel 9a.</sub>
Expand Down
2 changes: 2 additions & 0 deletions tp/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ un bug en una de ellas.
| `scripts/kmeans_gpu.py` | Lloyd en GPU con PyTorch, mismo contrato que `kmeans/`, para el contraste del TB1. Se corre en `ssh gpu` con `scripts/gpu/correr_remoto.sh`; cómo y por qué, en `docs/kmeans-gpu.md`. |
| `docs/pixel.md` | El K-means en un Pixel 9a con Termux: resultados, heterogeneidad de núcleos, deriva térmica, y cómo compilar para Android (`GOOS=android`). |
| `scripts/analisis_gpu.py` | Tablas del contraste GPU vs CPU desde `reports/gpu_*.json` y el benchmark de Go de la misma máquina. |
| `scripts/hero_mapa.py` | El mapa de Nueva York en cuatro momentos (`reports/figuras/mapa.svg`), desde `app/data/` y los reports. Es la cabecera del README y la card del perfil. |
| `scripts/hero.py` | La figura de paneles (`reports/figuras/hero.svg`): mecanismo, escalamiento en las cuatro máquinas y la inercia idéntica en las 20 corridas. Falla si los reports contradicen el dibujo. |

## Data Conventions

Expand Down
Loading