Hello, 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 e-mail: wscul...@alcf.anl.gov [1] https://www.alcf.anl.gov/files/Qpx_3.pdf