From cTuning.org
Assorted questions for the GROW'10 workshop panel:
Before GROW'10 panel:
- Albert Cohen: I'd love to raise the issue about learning curve and development productivity with GCC code base.
- Grigori Fursin: I would like to discuss further extensions to ICI and MILEPOST GCC needed to provide compiler/architecture/language independent API for program analysis and optimization (unified data exchange format?) that may be needed for our further research on fine-grain iterative compilation, reactive iterative compilation, collective optimization and split-compilation...
- Konrad Trifunovic:
- Are you interested in contributing to the Graphite, and what would You like to use Graphite for?
- We have some limitations due to the nature of the polyhedral model (static analysis). We are interested in extending static approach to more dynamic approaches. Anyone interested in this topic?
- We are interested in a ways of representing the concurrency in the GIMPLE. What we would like to achieve is the following: the original source code is extended with pragmas (probably the OpenMP or similar) which give hints to the compiler as to which loops or regions of code are parallel etc. Graphite could find this information helpful, so that it can extend the scope of analysis. This wokr concerns not only Graphite but whole GCC. Already a paper on this?
- Anyone working on automatic parallelization: if you are working on the parallelization methods based on polyhedral model (scheduling based) and you are using one of the source-to-source tools (PLUTO, PoCC, LooPo) why do not give Graphite a try?
- Anyone working on polyhedral model for different purposes (for example static analysis, automatic verification) is welcome to have a look at Graphite. We use PPL (Parma Polyhedra Library), originally made by the verification people in mind...
- Coupling Graphite and plugins?..
After GROW'10 Panel:
- How to make GCC more attractive to researchers and how GCC can benefit from researchers? How to encourage cleanup/infrastructure work on GCC and provide stable/extensible APIs?
- Open up GCC to be used as a library by other tools, so that other tools could use its analyses facilities, For example, having alias analysis as an API rather than a pass that needs to be applied and then collect information. Allow developers/tools access those functions outside GCC (should be a high-level API)...
- Need a simple pass manager that can list all available passes and allow any scheduling (providing dependency information).
- Get statistics on percentage of papers/projects using other compilers rather than GCC, and ask them why... (By the way, why was OpenCL implemented only on LLVM and not on GCC?)
- Encourage people to work on infrastructure and full implementation that actually works: Lobby for high quality conferences to reserve a quota of accepted papers to papers that describe implementation work (and start with HiPEAC!)
- Encourage research that actually works: Encourage people to test their work on a realistic environment (e.g. pass all of Spec-cpu...); Encourage reproducibility of results. Then GCC and the community can immediately benefit from the results and not wait for many years before someone decides to reproduce/redo research ideas in GCC.
- Make more visible/accessible guides for building/extending GCC...
- Better advertise Google Summer of Code, and provide more mentoring.
- Come up with a common API / standardization / common levels of abstractions. Decide on how to coordinate efforts and find commonalities.
- Send feedback on which plugin events are desired to add to next releases of GCC.
- GCC tries to auto-parallelize the programs it compiles. Will GCC itself be made more multi-threaded and run faster in a multi-core environment...?