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

Reply via email to