Hi here, I'm a Master of Computer Science student at the University of Melbourne. Previously, I worked on implementing a GCC optimization prefetching pass (which involved loop unrolling) for an Alpha-like computer architecture. I'm set to complete my research project in July and graduate soon.
I'm very interested in applying for the 2025 GSoC project and discussing potential ideas with the community. However, I'm still unfamiliar with the best way to engage in these discussions and apply for the project, so this is my first attempt at reaching out. My primary interest is in projects related to auto-parallelization, particularly the Fortran *DO CONCURRENT* project. Below, I outline my initial understanding of the project and would appreciate any feedback from the community to ensure I'm on the right track: 1. The *front-end parser* processes the Fortran *DO CONCURRENT* syntax and converts it into a language-independent IR—*GIMPLE*. 2. The *middle-end* then applies tree optimizations, utilizing SSA passes to optimize the code for auto-parallelization. 3. This project will involve both *front-end* work (parser and parameterized command-line flags) and *middle-end* optimizations (optimization passes). Loop unrolling is influenced by multiple factors, such as loop nesting and whether iteration counts are deterministic. A significant performance gain comes from reducing array memory access delays, which techniques like prefetching can help with. Since *DO CONCURRENT* assumes iteration independence, we have more flexibility to unroll loops and implement parallelization efficiently. One of the most exciting advantages of this project is that it enables auto-parallelization for a broader range of code without requiring developers to be an OpenMP expert. *DO CONCURRENT* in Fortran is much easier to use, and previous auto-parallelization techniques have been quite limited in their applicability, as only specific loop structures could benefit from them. I look forward to engaging with the community and gaining insights on how best to contribute to this project. Best regards, Chenlu Zhang