Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

More precise mean_var for non-Dask dense arrays?

Aperta
#128 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
data

Direzione di ricerca

Inizia leggendo src/fast_array_utils/stats/_mean_var.py intorno alla riga 40 e la modifica descritta in #127. Confronta i percorsi dense-in-core, Dask e sparse-in-core, concentrandoti sull’elevamento a potenza con float32 rispetto a float64 e sulle allocazioni temporanee. Il lavoro è completato quando viene selezionata e documentata una strategia di precisione per gli array densi, con i relativi compromessi in termini di memoria e prestazioni chiaramente illustrati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

type: numpy/scipy

In #127, I changed how mean_var works just for Dask:

https://github.com/scverse/fast-array-utils/blob/940727fe307d7c6e0a3d0a2b8907860a285a11c0/src/fast_array_utils/stats/_mean_var.py#L40

We already have a custom numba implementation for sparse-in-core which operates on float64s, but doesn’t convert everything at once.

We could make the change also affect dense-in-core. Should we

  • leave things as they are and keep power for float32 dense arrays as float32? It takes less space and is faster, but less precise.
  • do exponentiation in 64 bit everywhere? this would allocate an exponentiated array of the input size in 64 bit, but I guess if people’s machines can handle a temporary 2n (prod(shape)×32×2), they can handle a temporary 3n (prod(shape)×32 + prod(shape)×64)?
  • implement a custom numba implementation for dense-in-core as well?
Lingua principale
Python
Stelle
15
Fork
5
Merge medio
13h 45m
PR unite (30g)
14

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di scverse/fast-array-utils

Tutte le issue di scverse/fast-array-utils

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.