[Perf #478] Audit and consolidate shared hot primitives: dot, squared distance, RBF, reductions and row partitioning

Abierto
#498 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python, scikit-learn

Línea de trabajo

Empieza con el issue principal #478 y los issues relacionados #479, #480, #482, #483, #484, #485, #487 y #488; después, haz un inventario de los puntos de llamada del estimator para las primitivas indicadas. Ejecuta microbenchmarks con distintas shapes y layouts, y audita las asignaciones, copias y vectorización. Se considera terminado cuando los hot loops canónicos se asignen a las primitivas identificadas, se eliminen los duplicados cuando la semántica coincida y las regresiones de los benchmarks documenten los kernels específicos restantes del estimator.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Parent: #478. Related: #479 #480 #482 #483 #484 #485 #487 #488.

Several current losses share low-level primitives: dense dot products, squared distances/RBF kernels, feature/class reductions, centroid accumulation and sample partitioning. Audit whether estimator implementations duplicate slower scalar versions instead of using one optimized primitive layer.

Deliverables: call-site inventory; microbenchmarks by shape/layout; contiguous/strided variants; allocation/copy audit; vectorization evidence; shared implementations where semantics match; estimator-specific fallbacks only when justified.

Acceptance: every canonical hot loop maps to an identified primitive or documented estimator-specific kernel; duplicated implementations are eliminated where possible; primitive benchmarks become regressions; fixes can be attributed back to affected estimator issues.

Lenguaje dominante
Python
Estrellas
2
Forks
0
Merge medio
4 h 33 min
PR fusionados (30 d)
9

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de godofecht/flow-scikit

Todos los issues de godofecht/flow-scikit

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.