Loop Optimisations Roundtable Notes

I have taken a few notes, but wanted to start with sharing an observation first: the loop optimisation roundtable was extremely well attended. The room was partially rearranged and two more big roundtables were added to accommodate the big crowd! Thank you very much for attending and participating.

I am writing this from memory, please feel free to add anything that I’ve missed, or expand on anything.

To follow up first on the observation and great attendance and interest, my last question of the session was how we would like to continue and keep momentum: attend the loop optimisation workgroup, and/or the vectorisation workgroup? The reason for asking is that our end goal is better vectorisation, and there is quite a bit of overlap. The suggestion was to attend both, so that is what we will be doing. We would like to invite everyone to attend it as well, which is being organised by @Meinersbur . Thus, reviving the loop optimisation workgroup is not the right way to describe it, but we would like to (re)build the community and get all interested folks together, so would like to invite everyone to join next time.

Some quick notes:

  • @hiraditya suggestion was to look in libc++ for patterns.
  • Use profile data to optimise / vectorise loops.
  • More use of runtime checks if static analysis fails.
  • @lukel brought up loop distribute for SPEC and problems with its cost model. @fhahn explained a heuristic about related to a number of data streams.
  • @preames suggestion was to keep an eye on relevant workloads.
  • @sebpop and @sjoerdmeijer explained interchange enablement is a first step. @mcinally mentioned it triggered a lot in code and helps with column/row major order confusion.

Apologies, I couldn’t look at everyone’s badges or remember everyone who was attending, but here’s an attempt of listing attendees I have not mentioned earlier:
@mshockwave, @topperc , @ytmukai , @kbeyls , @nasherm1, @bmeister

3 Likes

Thanks @sjoerdmeijer for the summary. Unfortunately I was not able to attend in-person.

Info about he loop optimization working group is available here: Loop Optimization Group Meeting - Google Docs