AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

unit test numeric failures in test_metal and test_gpu

Aperta
#2,211 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
2.1k
Fork
503
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

macOS Sequoia 15.7.1 (i.e. fully up to patch level for Sequoia)

GL Vendor: Apple
GL Renderer: Apple M4 Max
GL Version: 2.1 Metal - 89.4
GLSL Version: 1.20

> [202/241] [Lut1DOp / lut1d_file2_disallow_tex1D_test ] - FAILED -
> Maximum error: 1 at pixel: 43691 on component 1 larger than epsilon.
> src = {1.000015259, 1.000026703, 1.000038147, 1.000049591}
> cpu = {0, 1, 0, 1.000049591}
> gpu = {0, 0, 0, 1.000049591}
> absolute tolerance=9.999999747e-05

If the tolerance is 0.0001, and the failure magnitude is 1.0, this feels like a rounding error in the LUT somewhere.

As an example of a more typical error, as it turns out there are two failures in `test_metal`, the other being this one:

> [ 56/241] [FixedFunction / style_aces2_rgb_to_jmh_fwd ] - FAILED -
> Maximum error: 0.000244140625 at pixel: 13 on component 2 larger than epsilon.
> src = {0.2668400109, 0.2460400015, 0.4093199968, 1}
> cpu = {53.46554947, 13.12156677, 285.6588745, 1}
> gpu = {53.4655571, 13.12158012, 285.6591187, 1}
> absolute tolerance=0.0001999999949

Over in `test_gpu`, there's this:

> [ 69/241] [FixedFunction / style_RGB_TO_HSV_inv_custom ] - FAILED -
> Maximum error: 7.629394531e-06 at pixel: 7 on component 1 larger than epsilon.
> src = {0.5, 2.5, 0.03999999911, 0}
> cpu = {-39.95812988, 39.9981308, 39.9981308, 0}
> gpu = {-39.95812988, 39.99812317, 39.99812317, 0}
> absolute tolerance=9.999999975e-07

As I am trying to get `ctest` to run without failure to satisfy the MacPorts CI system, I'd appreciate insight on the first one here, and would ask if there's a workaround (perhaps a way to relax the tolerances for just one test?) on the second and third ones.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia eseguendo tramite ctest i casi falliti segnalati in test_metal e test_gpu e confronta i valori di CPU, GPU e tolleranza mostrati nell’issue. Determina se ogni discrepanza è un errore numerico specifico della piattaforma e se è appropriato apportare una modifica circoscritta alla tolleranza o al test. Il lavoro è completato quando per i fallimenti è stata concordata una correzione o un workaround e ctest passa sulla configurazione macOS interessata.

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

Valutazione

Stack tecnologico
cpp, macos
Ambito
computer-graphics, testing-qa
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.