The compiler-based software engineering tools - PlusFort, fpt, Codee etc. can make systematic changes to codes to provide optimisations for speed or maintainability. Some changes may also be made by AI tools. What automated code optimisations are used, what would users like to see, and how useful is AI in this context?
I would like to see better optimizations to improve cache performance but given the multiple levels of cache on modern CPUs plus the differences in speed and underlying architecture, I’m not sure if thats doable. In my experience, better cache access optimizations can speed up your code about as much as vectorization in some scenarios. I would also like to see seamless (as in no user intervention required - not even a compiler option) offloading to GPUs or whatever hardware the processor sees that can speed up floating point calculations. However that will require the compiler to have a better “understanding” of the interaction between hardware and software (both the compiler and the OS you are using). Maybe thats something AI can help with.