Status of Power9 support?

I’m curious, what’s the current status of Julia 1.x on Power9?

The reason I’m asking is that while comparatively few people have access to Power9 systems, some of the few relevant Power9 systems (e.g. Summit/Sierra) are obviously high-profile. More and more often, when proposing Julia for projects, I face questions like “if we should get an allocation on - name of some big system - some day, will we be able to run our code, if we go with Julia?”. Mostly, those questions are about GPU compatibility now - no problem with Julia there, of course. But it’s quite likely that someone will ask about Power9 at some point, and I’d like to be able to give an honest (and hopefully positive) answer.

I also have the impression (from what I’ve seen and heard) that funding agencies seem to put more pressure on funded projects these days regarding technical compatibility with infrastructure (i.e. expensive computing infrastructure owned by said funding agencies).

The problem is that such questions about hypothetical future compatibility (protecting long-term projects from possible technical incompatibilities in the future) are typically not coupled with non-hypothetical funding to create such compatibility right now …

1 Like

Power9 works ok - we’ve run Julia on summit up to a few thousand GPUs. There’s some test failures that are known, but it’s definitely possible to get real work done. I suspect it’d be a few weeks of works to fix the long tail of test failures and get Power back to tier 1 support.

2 Likes

Thanks Keno, that’s great! I don’t think many (if any) applications get scaled up on machines like that without a few weeks of work anyhow. The fact that Julia (1.0?) has run on Summit successfully should be enough so satisfy people who ask about Power9 compatibility.

I’m interested in trying POWER9 for its hardware 128-bit float support. It would be great if I could just open up Julia on a POWER9 machine and immediately start working with Float128, like I can with Float64 or Float32.

Looks like f128 is well supported in LLVM, so that should be a fairly easy addition.

1 Like