View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000217 | Cinelerra-GG | [All Projects] Feature | public | 2019-05-14 08:38 | 2019-05-14 12:01 |
Reporter | Andrew-R | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0000217: Support for autovectorization where it counts. | ||||
Description | I incorrectly reported autovectorization worked, but those were just effects from -march=native GCC switch. Experimenting in this area requires quite deep understanding how Cinelerra's plugins work, how modern CPU works, and how GCC can be guided into auto-vectorization mode (without hurting normal builds). https://lists.cinelerra-gg.org/pipermail/cin/2019-February/000275.html https://lists.cinelerra-gg.org/pipermail/cin/2019-February/000280.html https://lists.cinelerra-gg.org/pipermail/cin/2019-February/000303.html | ||||
Steps To Reproduce | Use ""-O3 -ffast-math -ftree-vectorizer-verbose=6 -mavx -msahf -mfma -fopt-info-vec-missed=missed_vec.log -march=native -mtune=native -fPIC" for x86-64 bit CPU with avx. Analyze logs, try to make it works .... :( For me result was color3way.C:264:27: note: not vectorized: multiple nested loops. color3way.C:264:27: note: bad loop form. color3way.C:269:5: note: not vectorized: control flow in loop. color3way.C:269:5: note: bad loop form. color3way.C:272:5: note: not vectorized: control flow in loop. color3way.C:272:5: note: bad loop form. color3way.C:275:5: note: not vectorized: control flow in loop. color3way.C:275:5: note: bad loop form. color3way.C:278:5: note: not vectorized: control flow in loop. color3way.C:278:5: note: bad loop form. color3way.C:281:5: note: not vectorized: control flow in loop. color3way.C:281:5: note: bad loop form. color3way.C:284:5: note: not vectorized: control flow in loop. color3way.C:284:5: note: bad loop form. Reported and discussed in russian at https://www.linux.org.ru/forum/development/14799788?lastmod=1550306032144#comment-14811800 | ||||
Additional Information | I saw response and worry from GG about autovectorization making code vendor-locked (Intel vs AMD vs non-x86) https://lists.cinelerra-gg.org/pipermail/cin/2019-February/000339.html Still, may be someone will want to experiment.... | ||||
Tags | No tags attached. | ||||