This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PowerPC A2 QPX vector instruction support


I am rebooting a personal project to add support for the PowerPC A2
QPX (Quad Processing eXtension) vector unit to gcc. [1] I am
interested in: beginning the process to have my employer approve a
contributor assignment; advice on the best way to add in support for
QPX instructions and vectorization to gcc; and suggestions for tools
and scripts that might make the development process easier.

The base PowerPC A2 cpu is essentially non-existent. Most PowerPC A2
cpus have QPX support and are installed in Blue Gene /Q
supercomputers. The first of the Blue Gene /Q systems came into
production 2012 with expected operation into 2019 or 2020 at most
sites. To keep these systems useful for scientific users, ongoing
toolchain development is required.

IBM has produced patches for QPX support in binutils, gdb, and glibc
as it was required for their own XL C/C++ and Fortran compiler. IBM
offered patches for basic gcc functionality on the Blue Gene /Q
without QPX support. Hal Finkel and others have contributed QPX
support to clang/llvm and continue to offer long-term support. Still,
there is no GPL-licensed compiler currently available with QPX support
which may limit support options in the long term. Similarly, there's
great community interest in gcc QPX support as it provides the most
realistic chances for near-term Fortran support.

An earlier personal effort focused on reworking the AltiVec support to
handle the generation of QPX instructions based on some informal
guidance from community members. This approach has proven unusably
buggy and almost impossible to maintain concurrent with ongoing gcc
development, leading to my desire to do this as formally and correctly
as possible. My personal background is not in compiler development,
but I'm a relatively fast learner, tenacious, and think I could
complete the work by July with some formal guidance.

William Scullin
High Performance Computing Systems Administrator, Senior
Leadership Computing Facility
Argonne National Laboratory
9700 South Cass Avenue, Bldg. 240
Argonne, IL 60439-4847
office: +1-630-252-6412
mobile/voip: +1-773-257-3571


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]