Are there any other situations apart from independent loop iterations that can benefit significantly with SIMD?
EggyLv999
Although this is a fictitious data-parallel language, what are some compilers that are actually capable of compiling code in this way?
cuiwei
Seems Intel C++ Compilers are smart enough to analyze your loops and try to do vectorization whenever possible, if you compile with the default optimization or higher. You can read this article:
Not exactly a compiler, but related. High-level synthesis tools, such as Vivado HLS, which generate hardware designs from C/C++ code allow designers to unroll loops through pragmas. Unrolling the loop allows the generated hardware to work through separate iterations in parallel.
Are there any other situations apart from independent loop iterations that can benefit significantly with SIMD?
Although this is a fictitious data-parallel language, what are some compilers that are actually capable of compiling code in this way?
Seems Intel C++ Compilers are smart enough to analyze your loops and try to do vectorization whenever possible, if you compile with the default optimization or higher. You can read this article:
https://software.intel.com/sites/default/files/m/4/8/8/2/a/31848-CompilerAutovectorizationGuide.pdf
Also, stay tuned for tomorrow's lecture. :-)
Not exactly a compiler, but related. High-level synthesis tools, such as Vivado HLS, which generate hardware designs from C/C++ code allow designers to unroll loops through pragmas. Unrolling the loop allows the generated hardware to work through separate iterations in parallel.