hackergotchi

GCC Summit 2006

  • 11th Jul, 2006 at 7:46 PM


Forklift
Originally uploaded by sfllaw.

I look forward to going to Ottawa every June for the GCC Summit. I've gone every year since it started in 2003 and have no intention of stopping. That's because it feels so much like a family reunion. Let me explain.

The core people who have worked on GCC have been doing it for years. They're people who used to work for Cygnus Solutions, back before they were bought out by Red Hat. They're people who work for CodeSourcery. And they're people working for Intel, HP, and IBM who are compiler writers first and employees second. And they all know each other like dysfunctional family.

When I first showed up at the first Summit, Jim and I were the new kids. We had just finished typesetting the Using GCC manual that was published by GNU Press. So I went around absorbing compiler technology by osmosis, and trying to get as many developers to sign by pre-press draft.

The nice thing about the GCC Summit is that there is only one track of talks. So you never have to choose between two talks that you're interested in. It's a little bad though, since you're always tempted to check your e-mail when there's a lull in the interestingness of the presentations.

This year, the focus seemed to be on profiler-driven optimizations. I'm not really sure those are very profitable, as they actually require developers to run their applications as part of the build system. And we all know that humans are lazy. But perhaps I underestimate the heroics that build-systems people will go through to squeeze out that extra ounce of performance.

Danny Berlin and Kenneth Zadeck talked about dataflow analysis and getting rid of the terrible implementation inside GCC. I had heard horror stories about flow.c before, but have yet to actually look inside it. Their talk has disuaded me even more.

The last thing that sticks in my mind is the GDB talk, which seemed to be the only toolchain talk this year. But these things wax and wane.

I skipped out on the afterparty this year, which meant that I couldn't help with the monumental challenge that awaits us after each summit. But I shall return.


nightlife

GCC Developers' Summit, Day 4

  • 25th Jun, 2005 at 11:59 PM

I had some trouble getting up this morning, but I managed to get everything packed away by 10:00. This is no mean feat, because I had brought a rather decent number of clothes. And of course, a modest kitchen. Including a pressure cooker. Well, one doesn't expect to host dinner parties without being prepared, now is one?

We went downstairs to the lobby and checked out. Then we waited for Carlos and Christine to show up. I had a little chat with a tired Richard Henderson and Jeff managed to chat with Diego. Once Carlos walked in the door, we said our goodbyes and loaded some of our luggage into the trunk. Christine then drove us to the Diefenbunker. This place was totally brilliant and our tour guide really seemed to love the place. We had a great morning walking around the entire complex and Luke even bought a poster at the end.


Bachelor party
Originally uploaded by sfllaw.

By that time, a couple of hours had passed and we were all famished. We drove back downtown, which is far faster than walking, and noticed a little commotion on the street. We soon passed the lucky man and so off it was to The Horn of Africa again for lunch. Halfway through eating we noticed that it was just pouring rain outside. Jeff went out to close the window of the car and when he returned, it looked like he had gone for a swim.

After settling the bill, we all walked outside and noticed that it was hot and muggy. Not the usual kind of weather one expects after a freak rain shower. Luke and I were dropped off near the bus terminal and the rest of them went on their way west. Both of us walked over to Paul's house, which is one of Luke's classmates from Waterloo. There, I sprawled out on their living room floor, half from exhaustion and half from the heat. It was soon time to walk to the bus station, board a bus, and go home.

I arrived at my flat at around 18:00. There I met a most excited little kitty who enjoyed a bit of salmon. Then I set about to do laundry and sleep.


nightlife

GCC Developers' Summit, Day 3

  • 24th Jun, 2005 at 11:59 PM

Friday, I started the day with many glasses of orange juice. I am glad that they have yet to ruin freshly-squeezed orange juice. Wait, I shouldn't say that. Maybe next year, they'll grind in more pith.

I had a good watching three talks today:

Structure Aliasing in GCC
was presented by Daniel Berlin who talked about how the C and C++ front-ends deal with aliased data structures. In fact, many optimization currently cannot be performed on fields within a structure because GCC thinks that if one field of the structure has changed, the entire structure has. Daniel has come up with a GIMPLE representation that removes this restriction and we should see this show up in GCC 4.1.
Porting the GNU Tool Chain to the Cell Architecture
was a talk by Ulrich Weigand. In fact, two talks by Ulrich, because the projector blew out on him and we broke for lunch early. We all joked that IBM didn't want him to release this sort of information, because it has been hush-hush for a little while. I think the gaming industry is all excited about this new chip, so that's why there's a little bit of discretion. Anyway, Ulrich was authorized to tell us some things about the new architecture. As expected, it's got a Power64 based CPU that's connected, on die, to eight vector streaming co-processors. A very nice little chip, and there have already been discrete inquiries about getting a reference board. During the presentation, the most disturbing thing was the guy in the front row taking pictures of all of Ulrich's slides.
Decimal Floating Point Extension for C via decNumber
was a little talk that Janis Johnson and an effigy of Jon Grimm. They talked about the implementation of the draft IEEE 754R which would bring a standardized decimal-floating-point representation to C. That, I suspect, would be very nice for me, since I still have the horror of implementing a decimal rounding routine for WvStreams.

Eating lunch in the park
Originally uploaded by sfllaw.

Lunch was conducted in Major Hills' Park, right next to the American Embassy. I had meant to stop by Chilly Chiles but forgot to do this. Perhaps some other time. I heard from Matthew that they had closed the teddy bear store, which made me quite disappointed. I will have to go back and look to see if this is true. In any event, we had a bunch of people go to takeaway Indian at a restaurant whose name I have now forgotten. A bunch of people got wraps while I got some curries. Then we sat in the park and some people looked like they got sunburnt.

After the presentations, Jeff and I decided to get some exercise in. Goodness knows we needed it after eating so much food in the last couple of days. We went swimming for an hour, where I got some laps in until I got a cramp. Shame on me for not going to the gym in two weeks. Jeff seemed to do better at treading water than I did. We escaped just as a family brought their screaming children into our calm and serene waters. Then we had a nice conversation in the sauna until I started getting sleepy, whereupon we decided that heat stroke would be a bad idea. We managed to go to the Steering Committee Panel just as they were wrapping up, because they had decided to start an hour early.

For dinner, we went to the Vineyards where I had a fairly nice dinner. Then it was going around the tables trying to figure out what various people were working on. I got to chat with Andrey Belevantsev for a bit, congratulated some people on some recent happy news, and had a chat with David Edelsohn. It was all too soon before we had to retire to the hotel. I seem to recall being half-asleep while people stayed in our living room until 4:00.


nightlife

GCC Developers' Summit, Day 2

  • 23rd Jun, 2005 at 11:59 PM

Today I attempted to have the conference breakfast again. This was a spectacularly poor move on my part. How a professional restaurant kitchen could serve up burnt hash browns is beyond my conception. I think they're scammers really. A gallon of coffee costs over $50 CDN at this place. Not only that, the coffee isn't even any good.

There were four brilliant talks today that really were must-sees:

Compilation Wide Alias Analysis
by Ken Zadeck kicked off the day. He talked about several optimizations that are slated for inclusion in GCC. These centred around analysing the GIMPLE representation for behaviour and optimising out useless (but safe) steps.
Interprocedural Constant Propogation in GCC
was a very good talk by Razya Ladelsky and Mircea Namolaru. They described the improvements that IBM Haifa is trying to achieve. They've got a constant propogator that works on the whole programme, which is really nice to see. This does, however, require that the entire programme is known in advance, but this has been mostly solved with the -fwhole-programme flag. This kind of work lays the foundation for other more complicated interprocedural optimisations, so I'm very glad they're doing it.
Inter-Module Analysis in GCC
was presented by Geoff Keating. He presented his work on getting cc1 to take in more than one source file at a time, before generating an object file. Of course, this is needed if you do want to perform operations across modules, because currently the compiler throws away all it knows when it quits. What Geoff discovered was that GCC does fairly well with resources when compiling large programmes. I think that this is particularly nice work, since it means that I'll be able to justify buying myself a nice new computer. Oh yes, build systems will probably need a bit of reworking for this, I think.
A Propagation Engine for GCC
was Diego Novillo's talk on infrastructure. He presented a talk last year on value-range propogation (VRP) and this paper came out of that work. When he was implementing VRP, he realised that he was doing the work for constant propogation all over again. So he wrote an engine that operates on GIMPLE and lets anyone do propogation rather with a nice tokenised interface. I think lots of people will be happy to use this infrastructure, especially since this type of work seems to be quite popular.

John Anglin, Jeff, and I lunched at the Royal Thai. I went here last year with [info]elliptic_curve and I swear we ate at this restaurant once a day. The food this time was not quite up to snuff, as it had been before. I had the ส้มตำ (Som Tam) which was incredibly disappointing. Perhaps it was an off-day for them, but I'll have to find out next month. The curry was still quite good and I took some of it back to the hotel to eat for breakfast tomorrow. John noted that yesterday's talks were all about destroying the debugger's ability to make sense of the object code. We all agreed and tried to brainstorm ways to fix this. But we really couldn't think of an interface that would make this understandable at all.

I've been doing a good job at representing NITI at these sorts of conferences. Today I had someone come up to me and talk about what we do. And while asking about our distribution, they also asked about autonomic computing. [info]musicdieu got into a discussion about autonomic computing with some IBM fellows about the work we were doing. So we are starting to become a recognised name in technical circles, it seems.

For dinner, Jim and Luke decided that it was their turn to cook. They invited Angie over again, and we sprung them for a surprise by asking Matthew Wilcox, Danielle, and Jody McIntyre over. Dinner was quickly devoured by everyone and then the discussion went on for a very long time. I stayed awake for far longer today, for which I was quite impressed. I nodded off only in very few of the talks.


nightlife

A quick note from GCC Summit

  • 23rd Jun, 2005 at 10:24 PM

So my good friend Angela Marie Thomas is complaining that her PageRank isn't very good. It's not a particularly good website because it's not up. But I'm sure that will change soon.


smiling

GCC Developers' Summit, Day 1

  • 22nd Jun, 2005 at 11:59 PM

On Wednesday, we showed up reasonably early (but not at all bright) to the registration desk. It was very nice to see [info]steph_grrl again and I had a very nice chat as I signed in. With my loot bag in one hand and my laptop in the other, I joined my roommates for breakfast. Which was a mistake.

After a disasterous meal, even for an iron stomach as mine, we made our way to the talks. Several of them were quite good:

C/C++ Compatibility on Linux, Requirements, Achievements and Prospects
was a very interesting talk by Joe Goodman and David Moore. They talked about a method to easily version the symbols in C++, which would be quite beneficial to ABI stability for libraries. I have a personal interest in this, of course, because WvStreams is a C++ library. After the talk, I took David out to lunch at the Horn of Africa, where we hashed out some of the finer points of his proposal. I definitely look forward to seeing some of his patches on the mailing lists.
Cache Aware Data Layout Reorganization Optimzation in GCC
was presented by Mostafa Hagog and Caroline Tice. Their talk was about changing data structures at compile-time to improve data locality. The idea is to profile large data-structures to see which fields were accessed closely and to reorder or split up these data-structures. This way, they can allocate the sub-fields close together on the heap.
Yet Another GCC Register Allocator
was the topic of Vladimir Makarov's talk. Practically everyone has noticed that the new optimizations that GCC 4.0 puts out really stresses out the register allocator on machines with high register pressure. And since the x86 and x86-64 architectures suffer the most from this, they're not really seeing very good performance improvements with the modern compiler. Vladimir talked about his idea for how to rewrite the register allocator and we all wished him the very best of luck.

Once talks had finished, Jeff and I invited some people over to our hotel room for dinner. We then dashed off to the market to pick up some ingredients and dashed back to the hotel room. Now I must admit that going to a conference with me is not very usual. You're supposed to go out for dinner to a restaurant and expense your meals. Sadly, I have discovered that restaurant dining is either expensive, horrible, or (with sad frequency) both. At 18:30, Andrew Hutton, Jody McIntyre, Angie Thomas, Zack Weinberg, Carlos O'Donnel and Christine showed up for dinner. We served an appetizer of blue corn nachos, followed by soft-tacos, and finished with sorbet. This was very well received and segued into a wonderful evening of geeking out.

I'll spare you most of the details for three reasons: (a) this conversation was quite obscure, (b) this conversation was sometimes racy (except when locking was involved), and (c) I was having difficulty retaining consciousness. I did enjoy the evening though, and I suspect our guests did as well.


nightlife

GCC Developers' Summit, Day 0

  • 21st Jun, 2005 at 11:59 PM

About six months ago, I asked [info]musicdieu (Luke) if he wanted to go to the GCC Developers' Summit with me. At the time, he was doing a little porting work to get stuff building on a snapshot of GCC 4.0. He mentioned that he was coming back to work at NITI and would be happy to come along, so I set the wheels in motion to get us there.

And on Tuesday, we were in Ottawa. We had taken the bus, which arrived fifteen minutes late, and got out at Central Station. Note to self, the next time I take the Greyhound, I need to get off at the University of Ottawa. We had tried to do this when we saw the Westin, but were chastised for trying to get our luggage out.

We took a taxi to our hotel where we discovered that someone had already checked in for the rooms. Luke and I got our keycards and went upstairs. When we opened the door, we were pleased to discover Jeff and Jim sitting in the living room. I dropped my cargo in a bedroom and started unpacking into the closet and dressers. Once we were ready, it was off to the Pour House to meet people.


At the Pour House
Originally uploaded by sfllaw.

I'm afraid that it was starting to get dark by the time we got there, around 20:00 I suppose, so all the photographs I took turned out poorly. We found ourselves a table by the open window and ate some dinner. It's actually quite a nice pub, with plenty of tables and very good service. Since this was my third time at the conference, I was starting to recognise the people who were sitting at the tables, although my name resolver was very slow.

Soon, Carlos and Christine arrived and sat down at our table. We conversed with them for a while before the conversation drove them away. Then Danielle showed up, but eventually the conversation lowered itself such that she left as well. I then realised that it had suddenly become 02:00 and that we were being punted downstairs. That's when the last of us sat about at one long table. It was in this environment that Angela and Geoff arrived.

I recall that Jeff and I decided it was too late to persist in being conscious, so we made our way back to the hotel room and collapsed. I think the rest of the company decided to follow our leading example and did the same. Except for some Apple people who decided to continue talking about Objective-C. But I think they were still dealing with a time-zone change.


nightlife

Out of town

  • 21st Jun, 2005 at 4:01 PM

I'm putting on my shoes right now. Soon, I'll knock on [info]musicdieu's door and we'll be heading towards Station Centrale. There, we'll squeeze onto a smelly coach liner and drive all the way up to Ottawa. It's only an hour or so by car, but the bus seems to take much longer.

Once we get there, we'll be checking into the hotel. I presume that Jim and Jeff will have checked in before us, so things should not be problematic. After dropping off our bags, we can head down and meet everyone else at the Pour House.

I shall try to get Internet access as soon as possible, but this is sort of dodgy for the first day or so. Ottawa friends, feel free to leave a comment here and we can try to arrange a time to get together.


nightlife

GCC 3.4

  • 16th Jun, 2004 at 4:55 AM

Taking over from [info]musicdieu, I've tried to get NITI's source code compiling using GCC 3.4. People have asked us to make this happen, and I've been hard at work.

Man, getting people to code in a standards compliant way is difficult. Especially when it's the C++ standard. I never knew that template syntax could be this bad.


nightlife

Trackback

  • 9th Jun, 2004 at 3:28 AM

Neat. Dan Kegel of crosstool fame has written up some notes about the GCC Developers' Summit.

Since he's the only other person who's written about it, I'm going to link to it. Because Google is my friend.


nightlife

2004 GCC Developers' Summit, Day 3

  • 6th Jun, 2004 at 12:50 PM

Now I am safely back in Montréal, after a train ride, some hacking, and then much needed sleep. Day 3 of the GCC Summit was very good, with well-prepared presentations by major GCC hackers.

Read more... )

nightlife

2004 GCC Developers' Summit, Day 2

  • 4th Jun, 2004 at 7:13 AM

I'm sitting inside my new hostel room this morning, typing up this entry. You see, when I arrived here on Wednesday, the hostel didn't have a single private room, so they stuck me in a nice double room. Now I'm in a small, dingy, dark private room in the attic of their building. It's not as nice, but it was still a good place to sleep. Thanks to some kind soul with a D-Link wireless access point, I can access the Internet.

Read more... )

nightlife

GCC Developers' Summit 2004, Day 1

  • 2nd Jun, 2004 at 4:27 PM

I'm sitting in the Ottawa Congress Centre attending the 2004 GCC Developers' Summit. It's good to have wireless Internet access for my laptop this year—it makes e-mail that much easier to keep up with.

Read more... )