AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
unit test numeric failures in test_metal and test_gpu
- 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